#注意
この記事は未完成です。
torch_visionの入れ方がわかりません
誰かわかったら教えてください。
buildの際に次のエラーメッセージがでます
/home/pi/vision/torchvision/csrc/ops/autograd/deform_conv2d_kernel.cpp:3:10:
fatal error: torch/autograd.h:そのようなファイルやディレクトリはありません
また、一部ファイルを移動させる必要があります。
改善策がわかれば教えてください。
#目次
0.忙しい人向け(調整中)
1.はじめに
2.準備
3.入れ方
4.参考サイト
#0.忙しい人向け(調整中)
torch_visionなんていらない!versionも1.9でいい!!って人はwhlファイルをgithubにあげたので、インストールして使ってください。
torchvisionは必要って人はブラウザバックしてください。
このページでは解決できませんでした。
version もっと新しいのがいいって人は、1〜3までを参考にして入れてください。
#0.1 whlファイルからインストール
sudo git clone https://github.com/Naoya-Yokota/pytorch1.9forraspberrypi
cd pytorch1.9forraspberrypi
sudo pip3 install torch-1.9.0a0+1903b32-cp32-cp37m-linux_armv7l.whl
pytorchが入ります。
ただ、案の定、一部ファイルが入りません。
それらは別に持ってくる必要がありそうです。
cd /usr/local/lib/python3.7/dist-packages/torch
sudo git clone https://github.com/Naoya-Yokota/rasfiletorch
rasfiletorchの中身のbinとlibを取り出して、torchの下に展開します。
#1.はじめに
前回、無事にpytorchを入れることができたのですが、typing_extensionsに関する箇所が不明だったので検証しました。
その上で、改めてまとめます。
今回の環境は次の通り
デバイス | Raspberry Pi 3B+ |
---|---|
OS | Raspbian buster |
python | 3.7.3 |
Pytorch | 1.9 |
#2準備 | |
##2.1 スクリーンセーバー | |
とりあえず、前回と同じでスクリーンセーバーを設定することをお勧めします。 | |
デフォルトだと、10分でラズパイがスリープモードになります。 |
入れてない人は
sudo apt-get install xscreensaver
インストール後に、ラズパイを再起動、メニューの設定の中にスクリーンセーバーが追加されます。
セーバーを無効にしておきましょう。
##2.2 モジュールの追加
typing_extensionsを追加します。
python 3.8以上ならおそらく不要です。
ファイル中の
from typing_extensions import ~~
の箇所をfrom typingにすれば動作すると思います。
raspbian buster ならpython 3.7.3なので次の処理を行ってモジュールを追加します。
sudo pip3 install typing_extensions
##2.3 スワップファイルの設定
ビルドに大量のメモリを消費するので、あらかじめ使用できる量を増やしておきます。
cd /etc/
sudo chmod 7 dphys-swapfile
vim dphys-swapfile
#CONF_SWAPSIZE=100
の箇所を2048にします。
終わったらrestartします。
sudo /etc/init.d/dphys-swapfile restart
#3 pytorchのインストール
##3.1 git hubからダウンロード
それなりに時間がかかります
sudo git clone --recursive https://github.com/pytorch/pytorch
##3.2 build
ここが一番時間がかかります。
まずはビルドに必要なパッケージを入れます。
sudo apt-get install libopenblas-dev cython libatlas-base-dev m4 libblas-dev python3-dev cmake python3-yaml
不要なものを使わないように設定します。
export NO_CUDA = 1
export NO_DISTRIBUTED = 1
export NO_MKLDNN = 1
export BUILD_TEST=0
export MAX_JOBS=2
バッチ当てを行います。
git submodule update --remote third_party/protobuf
先人に習って並列処理の箇所を編集します。
cd pytorch/scripts
sudo vim build_raspberrypi.sh
make -j 2を1に書き換えます。
make -j 1 || exit 1
いよいよbuildを行います。
./build_raspbian.sh
半日くらいかかるので気長に待ちましょう。
##3.3 インストールする
whlファイルから作ります
pytorchのファイルに入ってsetup.pyからパッケージを作りましょう。
cd pytorch
sudo python3 setup.py bdist_wheel
出来たらpytorch/distに移動してインストールします
cd dist
sudo pip3 install torch-1.9.0a0+1903b32-cp32-cp37m-linux_armv7l.whl
##3.4 ファイルの移動
なぜかPATHがうまく通らない箇所があるのでファイルを移動します。
cd /usr/local/lib/python3.7/dist-packages/torch
sudo mkdir lib
sudo mkdir bin
次に、なぜか/usr/local/libに大量にいる libtorchを移動させます。
cd /usr/local/lib
sudo cp libtorch_global_deps.so /usr/local/lib/python3.7/dist-packages/torch/lib
sudo cp libtorch_python.so /usr/local/lib/python3.7/dist-packages/torch/lib
sudo cp libshm.so /usr/local/lib/python3.7/dist-packages/torch/lib
sudo cp libtorch.so /usr/local/lib/python3.7/dist-packages/torch/lib
sudo cp libc10.so /usr/local/lib/python3.7/dist-packages/torch/lib
sudo cp libtorch_cpu.so /usr/local/lib/python3.7/dist-packages/torch/lib
次に/usr/local/binの中にいるtorch_shm_manager を移動させます
cd /usr/local/bin
sudo cp torch_shm_manager /usr/local/lib/python3.7/dist-packages/torch/bin
これでpytorchが動くはずです
確かめましょう。
python3
import torch
torch.__version__
無事にバージョンが表示できたと思います。
#4.参考サイト
ラズパイのOSの入れ方が載ってるサイト