4
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

RaspberryPi3BモデルにPytorch v1.1.0をインストールする

Last updated at Posted at 2019-05-07

追記(2019/5/7)

急ぎも無くなったので,v1.1.0が入るかどうか検証

追記(2019/5/8)

およそ8時間ほどかかって無事にインストールできることを確認しました.

動機

RaspberryPi 3BモデルにPytorchをインストールする必要があって,
色々試行錯誤してなんとかインストールができたので,その時のメモ.

Pytorchのバージョンについて

2019年5月7日現在,pytorchのバージョンはv1.1.0になっている けど,
Caffe2とかも一緒にインストールしようとするため,すごく重い.

インストールできるか検証中.
無事にインストールが確認できました.

githubのissueとかを見る限り,v0.3.1のインストールまではできる様子.
(v0.4.0もインストールできたというコメントもあったが未検証)

そこで,pytorchはv0.3.1を選択.

$ git clone https://github.com/pytorch/pytorch --depth 1 --recursive -b v0.3.1

一部コードを修正

このままビルド・インストールしようとすると,下記のエラーにぶつかる

Build Error: no matching function for call to setattr(torch::jit::Node*&, ...)

なので,この[パッチ]
(https://github.com/pytorch/pytorch/pull/4473)を当てる必要がある.

具体的にはpytorch/tools/autograd/templates/VariableType.cppにおいて,

16行目
#include <iostream>
#include <functional
#include <cstddef> //追加
38行目
// template<unsigned long N> // これを
template<std::size_t N> // に変更

RaspberryPiの前準備

これに従って,

$ sudo dd if=/dev/zero of=/swap1 bs=1M count=2048
$ sudo mkswap /swap1

でスワップ領域を作成して,

$ sudo vim /etc/fstab
ファイルの一番下の行
/swap1 swap swap

を追記.終わったら,

$ sudo swapoff /swap0
$ sudo swapon /swap1 # Hoge is Busyみたいなのが出ても問題なし

これで準備は終わり,あとはひたすらコマンドをうつ.

インストールコマンド周り

$ export NO_CUDA=1
$ export NO_DISTRIBUTED=1
$ export MAX_JOBS=2  # すごく大事
$ export USE_MKLDNN=0 # すごく大事

ここで,MAX_JOBS=2にしないと,pytorchがデフォルトでコア4個扱うため,ラズパイがフリーズしたり落ちたりする.(これで1日x3回くらい溶かした)

pytorchに必要なライブラリをインストール.

$ sudo apt-get install libopenblas-dev cython libatlas-dev \
m4 libblas-dev python3-dev cmake python3-yaml
$ cd pytorch
$ python3 setup.py build # v1.1.0ではno longerと書かれるが,この1行がいらないかは不明
$ sudo -E python3 setup.py install

これでインストールが終わるはず.

$ python3
Python 3.5.3 (default, Sep 27 2018, 17:25:39)
[GCC 6.3.0 20170516] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import torch
>>> torch.__version__
'1.1.0a0+2356fac'

となれば成功.

4
7
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
4
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?