JetsonTX2にPython3を追加してJupyter notebookでChainer
前回*1は適当に環境構築したらPython2.xになってしまった。今回はTX2にPython3.xを入れてJupyter notebookから使う。もちろんPython3からもChainer、CuPyを使えるようにする。
Python3.x追加
いつの間にかpython3がインストール済みだったので足りないパッケージだけ追加する。
$ sudo apt-get install python3-dev $ sudo apt-get install python3-venv
condaのgithubにpull requestのコメントでjetsoncondaってのがあったんだけど、condaはインストールできなかった。さらにインストールされたpyvenvを実行しようとしてもエラーでダメだった。
なので、condaはあきらめてPythonのvenvモジュール?で構築する。
venv環境の作成
$ python3 --version Python 3.5.2 $ python3 -m venv py352env $ source py352env/bin/activate (py352env) $ python --version Python 3.5.2 (py352env) $ pip install -U pip (py352env) $ pip list --format=columns Package Version ------------- ------- pip 9.0.1 pkg-resources 0.0.0 setuptools 20.7.0
おk。パッケージが何もない。Anacondaは最初からいろいろ入ってるけどそのあたりは違うみたい。
venv環境にパッケージを追加
前回と同様に追加する。venv環境なので「--user」とか「sudo -H」とかはいらない。
(py352env) $ pip install matplotlib (py352env) $ pip install chainer cupy (py352env) $ pip install jupyter
インストール後のパッケージ一覧。numpyも依存パッケージで入ったみたい。
(py352env) $ pip list --format=columns Package Version ------------------ ------- bleach 2.1.2 chainer 3.3.0 cupy 2.3.0 cycler 0.10.0 decorator 4.2.1 entrypoints 0.2.3 fastrlock 0.3 filelock 3.0.4 html5lib 1.0.1 ipykernel 4.8.1 ipython 6.2.1 ipython-genutils 0.2.0 ipywidgets 7.1.1 jedi 0.11.1 Jinja2 2.10 jsonschema 2.6.0 jupyter 1.0.0 jupyter-client 5.2.2 jupyter-console 5.2.0 jupyter-core 4.4.0 MarkupSafe 1.0 matplotlib 2.1.2 mistune 0.8.3 nbconvert 5.3.1 nbformat 4.4.0 notebook 5.4.0 numpy 1.14.0 pandocfilters 1.4.2 parso 0.1.1 pexpect 4.3.1 pickleshare 0.7.4 pip 9.0.1 pkg-resources 0.0.0 prompt-toolkit 1.0.15 protobuf 3.5.1 ptyprocess 0.5.2 Pygments 2.2.0 pyparsing 2.2.0 python-dateutil 2.6.1 pytz 2018.3 pyzmq 16.0.4 qtconsole 4.3.1 Send2Trash 1.4.2 setuptools 20.7.0 simplegeneric 0.8.1 six 1.11.0 terminado 0.8.1 testpath 0.3.1 tornado 4.5.3 traitlets 4.3.2 wcwidth 0.1.7 webencodings 0.5.1 widgetsnbextension 3.1.3
以上
前回jupyterを入れた環境がそのまま使えるようで「--generate-config」とかやらずに単に「jupyter notebook」するだけで起動できた。
「ipython kernelspec」しなくてもPython3が選べた。
import chainer print(chainer.cuda.available) print(chainer.cuda.cudnn_enabled)
True
True
cuDNNとかもCuPyインストール時に自動で見つけてくれるらしくpip installだけで大丈夫だった。
CuPyのインストールはこちらを参照*2