Jetson Nano のセットアップ
Nano は Arm アーキテクチャであるため、構成プロセスは x86_64 アーキテクチャとは異なります。
バグ部分を解決するには、この記事の最後までスキップしてください。
1. 通知
Arm のソースの多くは x86_64 ソースとは異なるため、よほどの確信がない限り、Nvidia の工場出荷時の構成のソースを変更せずに維持し、ソフトウェア ソースを簡単に変更しないことが最善です。
なお、Nvidiaが提供する公式システムイメージでは、CUDA、NVCC、CuDNNなどのコンポーネントがすでに設定されており、自分で設定する必要はありませnvcc -V
んls /usr/local/cuda
。
Nano イメージにはこのツールが含まれていないため、nvidia-smi を使用できないのはバグではないことに注意してください。
2.Python環境をセットアップします。
Python は、apt を使用してシステム ディレクトリにインストールすることも、conda を使用してユーザー ディレクトリにインストールすることもできます。
2.1 システムへのインストール
sudo apt update
sudo apt install python3-pip
sudo pip3 install -U pip
の代わりにコマンド を使用したい (または必要がある) 場合は、python
ソフトリンクを作成または変更して元のコマンドを置き換えることができます。pip
python3
pip3
sudo ln -sf /usr/bin/python3 /usr/bin/python
sudo ln -sf /usr/bin/pip3 /usr/bin/pip
もちろん、ソフトリンクを使用したくない場合は、目的を達成するために設定ファイルを変更(エイリアスの追加など)し、具体的な方法を自分で探すこともできます。
完了したらバージョンを使用しwhich python
て確認します。python -V
2.2 ユーザーのホームディレクトリにインストールする
2.2.1 miniforge で conda をインストールする
従来のアーキテクチャでは、Python 環境の管理に anaconda または miniconda がよく使用されますが、arm アーキテクチャでは代わりにminiforgeを使用する必要があります。
cd ~
wget https://github.com/conda-forge/miniforge/releases/download/4.8.2-1/Miniforge3-4.8.2-1-Linux-aarch64.sh
bash Miniforge3-4.8.2-1-Linux-aarch64.sh
インストール プロセス中に q を押してユーザー同意書をスキップし、他のプロセスのプロンプトに従って [yes] または [Enter] を入力します。
インストール後、source ~/.bashrc
conda 環境をアクティブ化するために使用します。
2.2.2 Python のバージョンを 3.6 に下げる
Nvidiaが提供するTensorflow 2.XはPython 3.6環境でコンパイルされているため、condaのデフォルトのPythonをダウングレードする必要があります。
デフォルトの Python バージョンを変更したくない場合は、 を使用して
conda create -n py3.6 python=3.6
新しい環境を作成することもできます。
conda install python=3.6
完了したらバージョンを使用しwhich python
て確認します。python -V
3. システムの依存関係をインストールする
Arm の多くのライブラリはソースからコンパイルする必要があるため、コンパイル プロセスで使用される一部のライブラリをインストールする必要があります。
2 番目のセクションで、ステップ 2.1 に従って Python と pip をシステムにインストールする場合は、その後の使用
pip3
で最初に追加する必要がありますsudo
。
sudo apt-get install libhdf5-serial-dev hdf5-tools libhdf5-dev zlib1g-dev zip libjpeg8-dev liblapack-dev libblas-dev gfortran
python3 -m pip install -U pip
python3 -m pip install -U CPython testresources setuptools
4. Python ライブラリをインストールする
これらの依存関係の多くは Tensorflow 用に用意されているため、Tensorflow をインストールする予定がない場合は、最初にこのセクションをスキップし、後でエラーが報告されたときにエラー メッセージに従って不足しているライブラリを確認できます。
pip3 install -U numpy==1.16.1 future==0.17.1 mock==3.0.5 h5py==2.9.0 keras_preprocessing==1.0.5 keras_applications==1.0.8 gast==0.2.2 futures protobuf pybind11
コンパイルとインストールには長時間 (1 時間以上) かかるため、ネットワークと電源を切断しないように注意してください。
5. Tensorflow をインストールする
Nvidia の Tensorflow 再発行バージョンの公式 Web サイトにアクセスし、適切なバージョンを選択してダウンロードしてインストールします。ここではtf_gpu-2.2.0+nv20.6-py3を例として取り上げます。
cd
wget https://developer.download.nvidia.com/compute/redist/jp/v44/tensorflow/tensorflow-2.2.0+nv20.6-cp36-cp36m-linux_aarch64.whl
pip3 install tensorflow-2.2.0+nv20.6-cp36-cp36m-linux_aarch64.whl
一部の依存関係はコンパイルに時間がかかります。
JetPack のバージョンは、手持ちの Jetson の CUDA バージョンに応じて決定できます。ネイティブ CUDA バージョンを実行し
ls /usr/local/cuda*
て表示します。cat /usr/local/cuda-*/version.txt
JetPack4.4のCUDAバージョンは10.2、JetPack4.2/4.3のCUDAバージョンは10.0です。
6.PyTorchをインストールする
NVIDIA フォーラムの Jetson セクションにあるPyTorch for Jetsonの投稿で、適切な pip インストール パッケージをダウンロードします。ここでは、例として python3.6 が使用されています。
wget https://nvidia.box.com/shared/static/p57jwntv436lfrd78inwl7iml6p13fzh.whl -O torch-1.8.0-cp36-cp36m-linux_aarch64.whl
pip3 install numpy torch-1.8.0-cp36-cp36m-linux_aarch64.whl
同時に、torchvision をインストールする必要があります (torch1.8.0 を例として、torchvision バージョン v0.9.0 を使用し、他のバージョン番号についてはhttps://github.com/pytorch/visionで利用可能なタグを確認してください)。
sudo apt-get install libjpeg-dev zlib1g-dev libpython3-dev libavcodec-dev libavformat-dev libswscale-dev
git clone --branch v0.9.0 https://github.com/pytorch/vision torchvision # see github tags for version of torchvision to download
cd torchvision
export BUILD_VERSION=0.x.0 # where 0.x.0 is the torchvision version
python3 setup.py install --user
コンパイルとインストールには長い時間がかかります (実際のテストでは平均 30 分)。ネットワークと電源を切断しないように注意してください。
エラーが報告された場合はerror processing package nvidia-l4t-initrd
、/usr/sbin/l4t_payload_updater_t210 の最初の文を に変更してください#!/usr/bin/python2
。詳細については、記事の最後にある「バグの解決」セクションを参照してください。
7.ROSのインストール
少し
バグを解決する
バグ | 解決 | 参照。 |
---|---|---|
h5pyコンパイルエラー | コンパイルする前に CPython を手動でインストールする必要があります。 | hzy1997 |
xlocale.hが見つかりません | locale.h へのソフト リンクを作成します。sudo ln -s /usr/include/locale.h /usr/include/xlocale.h |
ドミトロレフ |
静的 TLS ブロックにメモリを割り当てることができません | .bashrc を追加しexport LD_PRELOAD=/usr/lib/aarch64-linux-gnu/libgomp.so.1 、. .bashrc |
オリバーファウスト |
scikit-learn が正しくコンパイルされていません | ソースからインストールします: pip install git+https://github.com/scikit-learn/scikit-learn.git 。システムレベル:sudo apt install python-sklearn |
学んだ |
エラー処理パッケージ nvidia-l4t-initrd | /usr/sbin/l4t_payload_updater_t210 最初の文python を に変更するpython2 か、システムのデフォルトの Python を一時的に 2.x に変更します。 |
サルキー043y |