2021年6月現在のjetson環境構築方法を記載します。
個人的な備忘録が主なので読みにくい記事になっております。予めご了承ください。
対象はPytorchを使ったMobileNet,Yolov5です。
tensorflowやtensorrtも一応一緒に入ります。
##環境
-
ハードウェア
JetsonNano DeveloperKit -
python関係
pyenv等を使用しませんが、同じ方法でpyenvも使えます。
ただ、pythonのバージョンを変えたい場合は別途違うやり方が必要ですので、下記のバージョンでやる事を推奨します。
(依存の強いライブラリも一緒に書きます。何かあればバージョンの確認もして下さい。)
python:3.6.9
pytorch:1.8.0
torchvision:0.8.1
tensorrt:7.1.3.0
tensorflow:1.15.5
opencv:4.4.0
numpy:1.18.5
##何はともあれイメージ作り
まずは、イメージを作成します。
Nvidiaさんが下記のサイトに詳しく書いてありますので、Google先生に翻訳をしてもらいつつ書き込みましょう!
https://developer.nvidia.com/embedded/learn/get-started-jetson-nano-devkit#write
##セットアップ画面
Ubuntuと同じです。
ゾーン・言語・キーボードを日本(東京)にして、
名前とパスワードを設定しましょう。
後は、ディフォルトのままで良いと思います。
(SWAP領域は後程作成します。)
##アップデートと管理者パスワードの設定
管理者パスワードの設定は忘れがちですが、有事の際に困る事が多いので忘れずにやりましょう。
sudo apt update
sudo apt upgrade
pip3 install -U pip
sudo su -
passwd root
##リモートデスクトップ接続
sudo apt -y install xrdp
sudo apt install -y xfce4 xfce4-goodies
echo xfce4-session > ~/.xsession
startxfce4
##フルパワー化
USBコネクタからの給電をしている方は最初のコマンドは実行しないでください。どうやら、j48ピンのショートが必要らしいです。(試してはいないです。)
sudo nvpmodel -m 0
sudo jetson_clocks
##スワップ領域作成
git clone https://github.com/JetsonHacksNano/installSwapfile
cd installSwapfile
./installSwapfile
sudo reboot
##Python環境1(基盤)
まずは、jetcardで基盤を整えます。
git clone https://github.com/NVIDIA-AI-IOT/jetcard
cd jetcard
./install.sh
##Python環境2(最新のPytorch)
出来るだけ最新のpytorchを使いたいので、
pytorch,torchvision,numpyを一度削除して、最新版をインストールします。
pip3 uninstall pytorch torchvision numpy
下記サイトのInstallationを参考にpytorchとtorchvisionをインストールします。
torchvisionの<version>にはv0.8.1の様に置き換えします。
バージョンに関しては、この記事の最初を確認して下さい。
##python環境3(opencv)
numpyとopencv-pythonのインストールを行います。
バージョンは、記事の最初に記載した依存関係により入れています。
pip3 install numpy==1.18.5
pip3 install opencv-python==4.4.0.42
終わりに
修正された?かもしれませんが、yolov5は今のpythonバージョンだと古いというエラーがプログラムで出るようになっていますので、エラーをコメントアウトして下さい。