2021年6月7日月曜日

Raspberry Pi4にPyTorchをインストールする

mindstorms EV3を使ってDeep Learningで遊んでみようかなと思ってアフレルで資料を集めると、Chainer、TensorFlowバージョンはありましたが、PyTorchはありませんでした。

Chainerを初めて触り、個人的には大変興味を持ったのですが、プリファード・ネットワークスは開発を止めてしまいました。TehsorFlowは殆ど触ったことがありません。天の邪鬼な私は何故かPyTorchを使ってDeep Learningを勉強しようと思って、このブログに少し書き綴っています。と言ってもメインはPyTorchのラッパーのfast.aiですが・・・

と言う事で、PyTorchでもEV3を動かせられればと思いネットを調べて、取敢えずインストール出来たと思うので記録しておきます。

インストールの手順は

1.通常のRaspberryPi 32bitOSではなく、64bitOSにインストールします。
参考にしたのは、Raspberry Pi Imagerで64bit版Raspberry Pi OSイメージを書き込む

ネットでも32bitOSにPyTorchをインストールした記事は多くありましたが、32bitマシーンでPyTorchを構築することはますます困難になってきて、一筋縄では行かないようです。64bitOSのインストールは、ブログの通り行えば簡単に出来てしまいます。操作の過程で私がダウンロードしたPi OSは、現時点で最新の2021-05-07-raspios-buster-arm64.imgでした。

2.上で作成した64bit Raspberry PiへのPyTorchをインストールします。
参考にしたのは、Install PyTorch on a Raspberry Pi 4

インストールはpython3 wheelを使う方法と、最初からビルドする方法が紹介されていますが、wheelを使う方法で行いました。これもブログの通り簡単に出来ました。

Raspberry Piを起動してターミナル(コマンドプロンプト)の

pi@raspberrypi:~$

に1行づつ下記を入力し、実行するだけです。私はPyTorch1.8.0を使いました。

# get a fresh start
$ sudo apt-get update
$ sudo apt-get upgrade
# install the dependencies (if not already onboard)
$ sudo apt-get install python3-pip libopenblas-dev libopenmpi-dev libomp-dev
# upgrade setuptools 47.1.1 -> 54.0.0
$ sudo -H pip3 install --upgrade setuptools
$ sudo -H pip3 install Cython
# install gdown to download from Google drive
$ sudo -H pip3 install gdown
# copy binairy
$ sudo cp ~/.local/bin/gdown /usr/local/bin/gdown
# download the wheel
$ gdown https://drive.google.com/uc?id=1oJITMYYGrlJ66Jw62-PHQLSZO7PT7Wg8
# install PyTorch 1.8.0
$ sudo -H pip3 install torch-1.8.0a0+37c1f4a-cp37-cp37m-linux_aarch64.whl
# clean up
$ rm torch-1.8.0a0+37c1f4a-cp37-cp37m-linux_aarch64.whl


実行後、次のコマンドでPyTorchのチェックを行い、正常に作動していました。

pi@raspberrypi:~$python3でpython3を起動し、

>>> import torch as tr
>>> print(tr.rand(5,3))

>>> print(tr.hypot(tr.tensor([1.]),tr.tensor([1.])))


もし、RaspberryPiの起動までの手順が不安な方は、私の過去のブログを参照してください。




0 件のコメント:

コメントを投稿