質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
YOLO

YOLOとは、画像検出および認識用ニューラルネットワークです。CベースのDarknetというフレームワークを用いて、画像や動画からオブジェクトを検出。リアルタイムでそれが何になるのかを認識し、分類することができます。

PyTorch

PyTorchは、オープンソースのPython向けの機械学習ライブラリ。Facebookの人工知能研究グループが開発を主導しています。強力なGPUサポートを備えたテンソル計算、テープベースの自動微分による柔軟なニューラルネットワークの記述が可能です。

Q&A

解決済

1回答

1613閲覧

JetPack4.3にPyTorch1.7をインストールしたい

PJwnOI

総合スコア39

YOLO

YOLOとは、画像検出および認識用ニューラルネットワークです。CベースのDarknetというフレームワークを用いて、画像や動画からオブジェクトを検出。リアルタイムでそれが何になるのかを認識し、分類することができます。

PyTorch

PyTorchは、オープンソースのPython向けの機械学習ライブラリ。Facebookの人工知能研究グループが開発を主導しています。強力なGPUサポートを備えたテンソル計算、テープベースの自動微分による柔軟なニューラルネットワークの記述が可能です。

0グッド

0クリップ

投稿2021/12/16 10:03

編集2021/12/18 04:42

質問の通り、JetPack4.3が入ったJetson NanoにPyTorch1.7をインストールしたいです。

しかし、JetPack4.3はPyTorch1.7が対応しておらず、NVIDIAからダウンロードしたファイルでインストールしたところ、以下のリンク先と同じエラーが出ます。

https://forums.developer.nvidia.com/t/installing-pytorch-oserror-libcurand-so-10-cannot-open-shared-object-file-no-such-file-or-directory/165044

私はJetBotを利用しており、そのJetBotに対応しているイメージがJetPack4.3であり、かつYOLOv5を用いたいので、どちらかを対応するものに変えるというのは非常に厳しいです。

YOLOv5はPyTorch1.7から動作します。

どなたか別の方法をご教示願えないでしょうか?

追記:
torch.shを実行した際にエラーが出ました.

terminal

1jetbot@jetbot-desktop:~/pytorch-aarch64/build$ sudo bash ./torch.sh 2+ VER= 3+ export PYTORCH_BUILD_VERSION= 4+ PYTORCH_BUILD_VERSION= 5+ export PYTORCH_BUILD_NUMBER=1 6+ PYTORCH_BUILD_NUMBER=1 7+ git clone https://github.com/pytorch/pytorch torch 8Cloning into 'torch'... 9remote: Enumerating objects: 718090, done. 10remote: Counting objects: 100% (112/112), done. 11remote: Compressing objects: 100% (71/71), done. 12remote: Total 718090 (delta 64), reused 83 (delta 41), pack-reused 717978 13Receiving objects: 100% (718090/718090), 682.71 MiB | 10.65 MiB/s, done. 14Resolving deltas: 100% (582684/582684), done. 15Checking out files: 100% (9661/9661), done. 16+ cd torch 17+ git checkout v 18error: pathspec 'v' did not match any file(s) known to git.

エラーを調べたところ,

terminal

1git fetch

をすればよいとのことだったのでやってみましたが,

terminal

1jetbot@jetbot-desktop:~/pytorch-aarch64/build$ sudo bash ./torch.sh 2+ VER= 3+ export PYTORCH_BUILD_VERSION= 4+ PYTORCH_BUILD_VERSION= 5+ export PYTORCH_BUILD_NUMBER=1 6+ PYTORCH_BUILD_NUMBER=1 7+ git clone https://github.com/pytorch/pytorch torch 8fatal: destination path 'torch' already exists and is not an empty directory. 9+ : 10+ cd torch 11+ git fetch 12From https://github.com/pytorch/pytorch 13 254360e182..9b14d93d78 viable/strict -> origin/viable/strict 14+ git checkout v 15error: pathspec 'v' did not match any file(s) known to git.

同じでした.
torch.shの中身

shell

1#!/usr/bin/env bash 2 3set -xe 4 5VER="$1" 6export PYTORCH_BUILD_VERSION="$VER" 7export PYTORCH_BUILD_NUMBER="1" 8 9git clone https://github.com/pytorch/pytorch torch || : 10 11cd torch 12git checkout "v$VER" 13git checkout --recurse-submodules "v$VER" 14git submodule sync 15git submodule update --init --recursive 16 17rm build/CMakeCache.txt || : 18# export MAX_JOBS=1 19export BUILD_TEST=0 20export USE_BREAKPAD=0 21 22python3 setup.py build 23python3 setup.py install 24python3 setup.py bdist_wheel

イメージを書き込んだSDカードに直接git cloneしてるのですが,違う方法なのでしょうか.

再追記:
torch.shの中身のgit clone以外をコメントアウトしてみました.
結果として,以下のエラーが出ました.

terminal

1jetbot@jetbot-desktop:~/pytorch-aarch64/build$ sudo bash ./torch.sh 2+ git clone https://github.com/pytorch/pytorch torch 3fatal: destination path 'torch' already exists and is not an empty directory. 4+ : 5+ cd torch 6+ rm build/CMakeCache.txt 7rm: cannot remove 'build/CMakeCache.txt': No such file or directory 8+ : 9+ python3 setup.py build 10Building wheel torch-1.11.0a0+gitc463d50 11-- Building version 1.11.0a0+gitc463d50 12 --- Trying to initialize submodules 13 14#------------長すぎるので一部省略 15 16-- The CXX compiler identification is GNU 7.5.0 17-- The C compiler identification is GNU 7.5.0 18-- Check for working CXX compiler: /usr/bin/c++ 19-- Check for working CXX compiler: /usr/bin/c++ -- works 20-- Detecting CXX compiler ABI info 21-- Detecting CXX compiler ABI info - done 22-- Detecting CXX compile features 23-- Detecting CXX compile features - done 24-- Check for working C compiler: /usr/bin/cc 25-- Check for working C compiler: /usr/bin/cc -- works 26-- Detecting C compiler ABI info 27-- Detecting C compiler ABI info - done 28-- Detecting C compile features 29-- Detecting C compile features - done 30-- Not forcing any particular BLAS to be found 31-- Could not find ccache. Consider installing ccache to speed up compilation. 32-- Performing Test COMPILER_WORKS 33-- Performing Test COMPILER_WORKS - Success 34-- Performing Test SUPPORT_GLIBCXX_USE_C99 35-- Performing Test SUPPORT_GLIBCXX_USE_C99 - Success 36-- Performing Test CAFFE2_EXCEPTION_PTR_SUPPORTED 37-- Performing Test CAFFE2_EXCEPTION_PTR_SUPPORTED - Success 38-- std::exception_ptr is supported. 39-- Performing Test CAFFE2_NEED_TO_TURN_OFF_DEPRECATION_WARNING 40-- Performing Test CAFFE2_NEED_TO_TURN_OFF_DEPRECATION_WARNING - Failed 41-- Turning off deprecation warning due to glog. 42-- Performing Test C_HAS_AVX_1 43-- Performing Test C_HAS_AVX_1 - Failed 44-- Performing Test C_HAS_AVX_2 45-- Performing Test C_HAS_AVX_2 - Failed 46-- Performing Test C_HAS_AVX_3 47-- Performing Test C_HAS_AVX_3 - Failed 48-- Performing Test C_HAS_AVX2_1 49-- Performing Test C_HAS_AVX2_1 - Failed 50-- Performing Test C_HAS_AVX2_2 51-- Performing Test C_HAS_AVX2_2 - Failed 52-- Performing Test C_HAS_AVX2_3 53-- Performing Test C_HAS_AVX2_3 - Failed 54-- Performing Test C_HAS_AVX512_1 55-- Performing Test C_HAS_AVX512_1 - Failed 56-- Performing Test C_HAS_AVX512_2 57-- Performing Test C_HAS_AVX512_2 - Failed 58-- Performing Test C_HAS_AVX512_3 59-- Performing Test C_HAS_AVX512_3 - Failed 60-- Performing Test CXX_HAS_AVX_1 61-- Performing Test CXX_HAS_AVX_1 - Failed 62-- Performing Test CXX_HAS_AVX_2 63-- Performing Test CXX_HAS_AVX_2 - Failed 64-- Performing Test CXX_HAS_AVX_3 65-- Performing Test CXX_HAS_AVX_3 - Failed 66-- Performing Test CXX_HAS_AVX2_1 67-- Performing Test CXX_HAS_AVX2_1 - Failed 68-- Performing Test CXX_HAS_AVX2_2 69-- Performing Test CXX_HAS_AVX2_2 - Failed 70-- Performing Test CXX_HAS_AVX2_3 71-- Performing Test CXX_HAS_AVX2_3 - Failed 72-- Performing Test CXX_HAS_AVX512_1 73-- Performing Test CXX_HAS_AVX512_1 - Failed 74-- Performing Test CXX_HAS_AVX512_2 75-- Performing Test CXX_HAS_AVX512_2 - Failed 76-- Performing Test CXX_HAS_AVX512_3 77-- Performing Test CXX_HAS_AVX512_3 - Failed 78-- Performing Test CAFFE2_COMPILER_SUPPORTS_AVX512_EXTENSIONS 79-- Performing Test CAFFE2_COMPILER_SUPPORTS_AVX512_EXTENSIONS - Failed 80-- Performing Test COMPILER_SUPPORTS_HIDDEN_VISIBILITY 81-- Performing Test COMPILER_SUPPORTS_HIDDEN_VISIBILITY - Success 82-- Performing Test COMPILER_SUPPORTS_HIDDEN_INLINE_VISIBILITY 83-- Performing Test COMPILER_SUPPORTS_HIDDEN_INLINE_VISIBILITY - Success 84-- Performing Test COMPILER_SUPPORTS_RDYNAMIC 85-- Performing Test COMPILER_SUPPORTS_RDYNAMIC - Success 86-- Found CUDA: /usr/local/cuda (found version "10.0") 87-- The CUDA compiler identification is unknown 88CMake Error at cmake/public/cuda.cmake:41 (enable_language): 89 No CMAKE_CUDA_COMPILER could be found. 90 91 Tell CMake where to find the compiler by setting either the environment 92 variable "CUDACXX" or the CMake cache entry CMAKE_CUDA_COMPILER to the full 93 path to the compiler, or to the compiler name if it is in the PATH. 94Call Stack (most recent call first): 95 cmake/Dependencies.cmake:43 (include) 96 CMakeLists.txt:669 (include) 97 98 99-- Configuring incomplete, errors occurred! 100See also "/home/jetbot/pytorch-aarch64/build/torch/build/CMakeFiles/CMakeOutput.log". 101See also "/home/jetbot/pytorch-aarch64/build/torch/build/CMakeFiles/CMakeError.log".

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

自力でコンパイルするのがイイですが、Nanoだとたぶん猛烈に遅いですし、保存できるスペースに苦慮しますよね。あるかなーと思って検索すると、っぽいページ(pytorch arm平台, aarch64 pip 快速安装)が見つかりました。

第二个是用社区其它人编译好的版本. 这个方法就非常简单了.

まさにこれをしたいわけで、リンク先のPytorchだとv1.10で新しすぎたんですね。
で、ここからもう少し古い版を探すとここに行きつきます。

弱点はCUDAをサポートしていない(NVIDIAのGPUがなかったそうでオプションから外している)そうで、どうしても必要なら自分でコンパイルしてね、だそうです。このKumaTeaさんは漢気溢れる人のようで、ちゃんとコンパイル用のshコマンドも提供してくれています。

前述の通りコンパイルは遅いはずなので、まずはCUDAなしで動かして味見をして、思った動きをするのであれば高速化のためにCUDA付きでコンパイルしたらいいと思います。

Goodluck!

投稿2021/12/16 10:56

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

PJwnOI

2021/12/16 11:28

ありがとうございます。 今手元にJetBotがないので明日やってみようと思います。
退会済みユーザー

退会済みユーザー

2021/12/16 12:23

もし自力コンパイルをしようとすると本当に保存領域にると思いますし、コンパイルに一晩もあり得る話と思いますので、そういう時にはQiitaなどでほかの人がどうやってしのいだか十分調べて進めてください。
PJwnOI

2021/12/17 12:28

他の方からJetPackから環境構築をした方が良いというアドバイスを受け、ビルドすることができませんでした。 まだ解決していないのでまた数日後結果を報告します。
PJwnOI

2021/12/18 05:14

CUDA付きでコンパイルする際,PyTorchのバージョンを指定したいのですが,どのようにすればよいでしょうか?
退会済みユーザー

退会済みユーザー

2021/12/18 11:44 編集

DLするPytorchのバーションを限定すればいいです。Githubであれば、HistoryやArchive、Older versionみたいなリンクがあるはずなので、そこから指定のバージョンのPytorchのソースコードをDLする感じです。 shの中身に git clone https://github.com/pytorch/pytorch torch || : とあるので、以下のどちらかで進めればいいと思います。 方法1) これを古いバージョンのリンクに書き換えてshを起動 方法2) 指定のバージョンのファイルを手動でDL・展開したのち、そのディレクトリに移動したのちにshの中身を1行ずつターミナルに入力して処理する shファイルは手動で入力するのがメンドクサいのを、先に定義しておいて走らせているだけなので、方法2のように手動とshファイルの中身をコピペして走らせるような方法をしても問題ありません。 Pytorch v1.7.1のコード https://github.com/KumaTea/pytorch-aarch64/archive/refs/tags/v1.7.1.tar.gz --- Pytorchのインストールが目的であれば、shファイルの編集は目的とはそれてしまうのでそこに時間を割くより、直接ソースをDLしてインストールコマンドがうまく走るようにするだけでもいいと思います。
PJwnOI

2021/12/21 11:44

回答ありがとうございました. あれから色々試しましたが,どうしても出来ず,YOLOv5をONNXに変換して実行する手法にチャレンジすることにしました. すみません.
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問