0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ノンプラグラマーがJetson Orin NanoにPytorchを入れてみた。

Posted at

JetPack6.0を入れます。
パソコンにUbuntu20.04をインストールしてSDK ManagerもUbuntuにインストールします。
Jetson Orin NanoとつなげてOSを選択します。
2024年11月、現在ではPytorchが対応しているCUDAバージョンは、12.4までですので注意。
なので最新のJetPack6.1ですが、pytorchの関係上JetPack6.0をインストールします。
参考サイト
https://docs.nvidia.com/deeplearning/frameworks/install-pytorch-jetson-platform/index.html

nvidia-smi

入っているドライバーは、CUDA12.2に対応していることがわかった。

なのでCUDA12.2をインストール

対応しているtoolkit(GPUを利用した並列演算ライブラリ)をインストールする。

あるいは、自動でJetPackごとインストールするtoolkit以外にもTensorRT,cuDNN,OpenCVライブラリなども一緒にインストールされる。

sudo apt install nvidia-jetpack

次にJetPackをインストール

pytorch公式サイト

toolkitガイド

インストール後に確認。cuda12.2は、あることがわかる。しかしPythorch公式ではCuda12.2は対応していない。

jetson@ubuntu:~$ nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2023 NVIDIA Corporation
Built on Tue_Aug_15_22:08:11_PDT_2023
Cuda compilation tools, release 12.2, V12.2.140
Build cuda_12.2.r12.2/compiler.33191640_0

pytorchのバージョン

pytorchのレポジトリ

pytochのレポジトリからビルドはハードルが高いのでビルド済みのPythonファイルが用意されていました。

以下は、JetPack 6.0 (L4T R36.2 / R36.3) + CUDA 12.2の場合。

wget https://nvidia.box.com/shared/static/mp164asf3sceb570wvjsrezk1p4ftj8t.whl -O torch-2.3.0-cp310-cp310-linux_aarch64.whl

sudo apt-get install python3-pip libopenblas-base libopenmpi-dev libomp-dev

pip3 install 'Cython<3'

pip3 install nump torch-2.3.0-cp310-cp310-linux_aarch64.whl

apt-get install libjpeg-dev zlib1g-dev libpython3-dev libopenblas-dev libavcodec-dev libavformat-dev libswscale-dev

sudo apt-get install libjpeg-dev zlib1g-dev libpython3-dev libopenblas-dev libavcodec-dev libavformat-dev libswscale-dev

PyTorch v2.3 - torchvision v0.18.0の場合

git clone --branch release/0.18 https://github.com/pytorch/vision torchvision

cd torchvision

export BUILD_VERSION=0.18.0
	
python3 setup.py install --user

pip install 'pillow<7'

インストールの確認

pytorch確認

>>> python
>>> import torch
>>> print(torch.__version__)
2.3.0

>>> print('CUDA available: ' + str(torch.cuda.is_available()))
CUDA available: True

>>> print('cuDNN version: ' + str(torch.backends.cudnn.version()))
cuDNN version: 8904

>>> a = torch.cuda.FloatTensor(2).zero_()
>>> print('Tensor a = ' + str(a))
Tensor a = tensor([0., 0.], device='cuda:0')
>>> b = torch.randn(2).cuda()

>>> print('Tensor b = ' + str(b))
Tensor b = tensor([ 0.5455, -0.8627], device='cuda:0')

>>> c = a + b
>>> print('Tensor c = e' + str(c))
Tensor c = tensor([ 0.5455, -0.8627], device='cuda:0')

torchvision確認

>>> python
>>> import torchvision
>>> print(torchvision.__version__)
0.18.0

tensorRT変換時のエラー対処方法

PyTorchとTorchVisionの互換性のあるバージョンに合わせる。

sudo apt-get install python3-pip libopenblas-dev libopenmpi-dev libomp-dev
pip3 install torch torchvision --extra-index-url https://download.pytorch.org/whl/cu122

参考サイト

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?