Jetson Nano に Tensorflow と PyTorch をインストールして、arm アーキテクチャ h5py、sklearn、TLS ブロックなどの問題を解決します。

Jetson Nano のセットアップ

Nano は Arm アーキテクチャであるため、構成プロセスは x86_64 アーキテクチャとは異なります。

バグ部分を解決するには、この記事の最後までスキップしてください。


1. 通知

Arm のソースの多くは x86_64 ソースとは異なるため、よほどの確信がない限り、Nvidia の工場出荷時の構成のソースを変更せずに維持し、ソフトウェア ソースを簡単に変更しないことが最善です。

なお、Nvidiaが提供する公式システムイメージでは、CUDA、NVCC、CuDNNなどのコンポーネントがすでに設定されており、自分で設定する必要はありませnvcc -Vls /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ソフトリンクを作成または変更して元のコマンドを置き換えることができます。pippython3pip3

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 ~/.bashrcconda 環境をアクティブ化するために使用します。

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

参考文献

  1. Nvidia Jetson AGX Xavier は、ROS、Anaconda、PyTorch およびその他の依存ライブラリをインストールします
  2. Jetson Nano の公式 TensorFlow!

おすすめ

転載: blog.csdn.net/liuqixuan1994/article/details/112347654