使用Jetson Nano映像檔(不是JetBot映像檔,缺少jetbot驅動程式與jetbot範例檔)從頭安裝開發環境,安裝tensorflow2.6.0與pytorch1.9.0。
Step1)從Jetson Nano(https://developer.nvidia.com/embedded/downloads)下載最新映像檔(jetson-nano-jp46-sd-card-image.zip,約6.1G),目前版本為4.6,在安裝過程中會從新切割磁區,可以使用到最大的sd卡空間。
Step2)使用Win32DiskImager燒錄SD卡。
Step3)開機後依據步驟設定無線網路密碼、操作語系、時區、鍵盤、使用者帳號與密碼、重新分割磁區後,重新開機。
Step4)使用ssh執行以下指令安裝Python的必要程式。
sudo usermod -aG i2c jetbot
sudo sed -i 's/ports.ubuntu.com/free.nchc.org.tw/g' /etc/apt/sources.list #改用tw的ubuntu鏡射網站
sudo apt-get update
sudo apt-get install -y python3-pip python3-pil
sudo pip3 install --upgrade pip3
sudo apt-get install -y lsb-release build-essential libssl-dev
Step5)安裝tensorflow2.6.0
sudo apt-get install libhdf5-serial-dev hdf5-tools libhdf5-dev zlib1g-dev zip libjpeg8-dev liblapack-dev libblas-dev gfortran
sudo pip3 install cython
sudo ln -s /usr/include/locale.h /usr/include/xlocale.h
sudo apt-get remove python3-numpy
sudo apt-get remove python3-six
sudo pip3 install --pre --extra-index-url https://developer.download.nvidia.com/compute/redist/jp/v46 tensorflow
Step6)安裝pytorch1.9.0
sudo apt-get install python3-pip libjpeg-dev libopenblas-dev libopenmpi-dev libomp-dev
sudo pip3 install future wheel mock pillow testresources
在此網址https://forums.developer.nvidia.com/t/pytorch-for-jetson-version-1-9-0-now-available/72048,下載torch-1.9.0-cp36-cp36m-linux_aarch64.whl
sudo pip3 install torch-1.9.0-cp36-cp36m-linux_aarch64.whl
sudo rm torch-1.9.0-cp36-cp36m-linux_aarch64.whl
sudo pip3 install torchvision
Step7)安裝traitlets
sudo pip3 install traitlets
Step8)安裝jupyterlab
sudo apt-get install nodejs npm
sudo pip3 install packaging
sudo apt-get install -y libffi-dev
sudo pip3 install jupyter jupyterlab
sudo jupyter labextension install @jupyter-widgets/jupyterlab-manager
sudo jupyter labextension install @jupyterlab/statusbar
jupyter lab --generate-config
jupyter notebook password
Step9)安裝Caveedu所提供的waveshare馬達驅動程式
sudo apt-get install python3-smbus
git clone https://github.com/cavedunissin/jetbot.git
cd jetbot
sudo python3 setup.py install
Step10)開機啟動jetbot_stats與jetbot_jupyter服務
cd jetbot/utils
python3 create_stats_service.py
sudo mv jetbot_stats.service /etc/systemd/system/jetbot_stats.service
sudo systemctl enable jetbot_stats
sudo systemctl start jetbot_stats
sudo python3 create_jupyter_service.py
sudo mv jetbot_jupyter.service /etc/systemd/system/jetbot_jupyter.service
sudo systemctl enable jetbot_jupyter
sudo systemctl start jetbot_jupyter
安裝jetson-stats套件內含指令 jtop,可以讀取jetbot_stats服務
sudo pip3 install jetson-stats
sudo jtop
手動啟動jupyter lab
#jupyter lab --ip=0.0.0.0 --port=8888 --no-browser
Step11)啟用虛擬記憶體
sudo fallocate -l 4G /var/swapfile
sudo chmod 600 /var/swapfile
sudo mkswap /var/swapfile
sudo swapon /var/swapfile
sudo bash -c 'echo "/var/swapfile swap swap defaults 0 0" >> /etc/fstab'
Step12)讀取馬達驅動版資訊
sudo i2cdetect -y -r 1
過程中出現問題如下。
問題1: ffi.h: No such file or directory
解決1:sudo apt-get install libffi-dev
問題2:xlocale.h not found,建立捷徑
解決2:sudo ln -s /usr/include/locale.h /usr/include/xlocale.h
問題3:「can't rollback numpy」出現無法移除或更新numpy,因為numpy使用apt-get安裝所以無法使用pip3移除
解決3:sudo apt-get remove python3-numpy
問題4:「can't uninstall six」
解決4:sudo apt-get remove python3-six
參考資料
https://github.com/NVIDIA-AI-IOT/jetbot/wiki/Create-SD-Card-Image-From-Scratch
https://github.com/cavedunissin/jetbot
https://forums.developer.nvidia.com/t/pytorch-for-jetson-version-1-9-0-now-available/72048