這是用來從系統安裝到部署Tensorflow(2.3.1)、Pytorch(1.8.0)、paddlepaddle(2.1.0)的文章
1.系統安裝及配置部分
Jetson Nano開發者套件入門
下載下傳 Jetson Nano 開發者套件 SD 卡鏡像,以及相關燒錄軟體,進行鏡像燒錄。推薦32G卡以上(系統一開始占掉14G)
燒錄完成後進入系統完成Ubuntu的首次開機設定
增加交換空間大小
由于顯存記憶體共享,即使本身設定有2G的交換空間,建議還是多增加2G。
- 增加2G交換空間
sudo fallocate -l 2G /swapfile
- 所有使用者都可以讀寫swap file,設定正确的權限
sudo chmod 666 /swapfile
- 設定交換空間
sudo mkswap /swapfile
- 激活交換空間
為了使這個激活永久有效sudo swapon /swapfile
打開檔案在最末尾粘貼sudo vi /etc/fstab
/swapfile swap swap defaults 0 0
- 驗證增加空間是否有效
sudo swapon --show
sudo free -h
删除不必要的軟體以節省空間
sudo apt-get purge libreoffice*
sudo apt-get clean
更新一下軟體源:
sudo apt-get update
如果更新太慢或者更新失敗的話就需要更換安裝源(我這裡不需要更換)
更新軟體:
sudo apt-get update
添加nvcc -V 到環境
sudo vim ~/.bashrc
在檔案末尾添加三行代碼:
export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
export CUDA_ROOT=/usr/local/cuda
儲存退出再輸入指令:
source ~/.bashrc
驗證一下,檢視CUDA版本:
nvcc -V
2.為安裝深度架構的準備軟體
安裝重要的軟體包
sudo apt-get install build-essential make cmake cmake-curses-gui
sudo apt-get install git g++ pkg-config curl zip zlib1g-dev libopenblas-base libopenmpi-dev
sudo apt-get install libatlas-base-dev gfortran libcanberra-gtk-module libcanberra-gtk3-module
sudo apt-get install libhdf5-serial-dev hdf5-tools libhdf5-dev
sudo apt-get install nano locate screen
sudo apt-get install libfreetype6-dev
sudo apt-get install protobuf-compiler libprotobuf-dev openssl
sudo apt-get install libssl-dev libcurl4-openssl-dev
sudo apt-get install cython3
sudo apt-get install libxml2-dev libxslt1-dev
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install libxvidcore-dev libavresample-dev
sudo apt-get install libtiff-dev libjpeg-dev libpng-dev
sudo apt-get install -y python3-dev python3-testresources python3-setuptools python3-pip
python3 -m pip3 install --upgrade pip
預設python指令指向python3
update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1
update-alternatives --install /usr/bin/python python /usr/bin/python3.6 2
系統工具jtop和nvidia-smi的結合
可以同時檢視Jetson Nano的CPU和GPU資源以及溫度
sudo -H pip install jetson-stats
sudo jtop
3.安裝Tensorflow-gpu 2.3.1版本
安裝機器學習常用包
sudo apt install python3-scipy -y
sudo apt install python3-pandas -y
sudo apt install python3-sklearn -y
sudo apt install python3-seaborn -y
檢測CUDA是否正常安裝
nvcc -V
安裝HDF5
sudo apt install libhdf5-serial-dev hdf5-tools libhdf5-dev zlib1g-dev zip libjpeg8-dev liblapack-dev libblas-dev gfortran
安裝python依賴包
sudo pip3 install -U numpy==1.18.5 future==0.18.2 mock==3.0.5 h5py==2.10.0 keras_preprocessing==1.1.1 keras_applications==1.0.8 gast==0.2.2 futures protobuf pybind11
安裝tensorflow-gpu
sudo pip3 install --pre --extra-index-url https://developer.download.nvidia.com/compute/redist/jp/v44 tensorflow
測試tensorflow
import tensorflow as tf
# 輸出提示:tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library libcudart.so.10.2
a = tf.constant(1.)
b = tf.constant(2.)
print(a+b)
# 輸出結果:
# tf.Tensor(3.0, shape=(), dtype=float32)
print('GPU:', tf.test.is_gpu_available())
# 輸出最後一句為:
# GPU: True
安裝Keras
sudo pip3 install keras
完成
4.安裝Pytorch 1.8.0
需要下載下傳nvidia提供的pytorch安裝檔案
已上傳到網盤自行下載下傳:
連結:https://pan.baidu.com/s/1B42hAHZVduoZmc1A1h3AkA
提取碼:bi46
sudo apt-get install python3-pip libopenblas-base libopenmpi-dev
pip3 install Cython
pip3 install numpy
pip3 install numpy torch-1.8.0-cp36-cp36m-linux_aarch64.whl
測試是否安裝成功
import torch
print(torch.__version__)
print('CUDA available: ' + str(torch.cuda.is_available()))
a = torch.cuda.FloatTensor(2).zero_()
print('Tensor a = ' + str(a))
安裝 torchvision
說明位址:https://github.com/pytorch/vision
sudo apt-get install libjpeg-dev zlib1g-dev libpython3-dev libavcodec-dev libavformat-dev libswscale-dev
因為我安裝的是1.8.0的pytorch,對應 torchvision 版本是0.9.0
手動去這個位址下載下傳相關版本代碼包,解壓後進入檔案夾
export BUILD_VERSION=0.9.0
sudo python3 setup.py install
測試是否安裝成功
import torchvision
print(torchvision.__version__)
5.安裝paddlepaddle-gpu 2.0.0(TensorRT可用)
下載下傳編譯好的paddlepaddle
然後pip安裝Jetson Nano版本的Paddle Inference。(也可進行源碼編譯安裝)
參考:https://blog.csdn.net/weixin_45449540/article/details/107704028
pip install paddlehub