目的
anyenv, pyenv, anacondaをインストールして、ゼロから作るディープラーニングの開発環境を構築する。
環境
MacBook Pro
macOS Sierra
ターミナル.app
anyenvのインストール
複数言語を開発するならanyenvは必須です。
本書で開発を進めるだけなら確かに必要ないですが、
rubyとかjavaとかgoとかに唐突に触りたくなった時にこれ一本で簡単に導入設定できるのは超便利です。
「いや俺はPython一筋だぜ」という人もとりあえず入れてみるのをお勧めします。
GitHub - riywo/anyenv: all in one for **env
git clone https://github.com/riywo/anyenv ~/.anyenv
echo 'export PATH="$HOME/.anyenv/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(anyenv init -)"' >> ~/.bash_profile
exec $SHELL -l
こちらの手順も参考になります。
pyenvのインストール
anyenv実行できる様になったらpyenv入れます。
anyenvでインストールすれば、パスや初期化の設定が不要になります。
pyenv-virtualenvは入れません。そもそもanacondaに普通に入っていますし、本書に沿って開発するだけであれば使う必要がありませんので。
開発するだけならanacondaを直接インストールしてもいいですが、後から普通のpythonに切り替えたくなった時に辛いのでpyenv経由で入れます。
GitHub - pyenv/pyenv: Simple Python version management
# git clone https://github.com/pyenv/pyenv.git ~/.anyenv/envs/pyenv
anyenv install pyenv
exec $SHELL -l
「anyenvなど邪道、俺はPythonしか愛せないんだ」という人は以下を参考に直接インストールしてください。
pyenv と pyenv-virtualenv で環境構築 - Qiita
git clone https://github.com/pyenv/pyenv.git ~/.pyenv
echo 'export PATH="$HOME/.pyenv/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(pyenv init -)"' >> ~/.bash_profile
exec $SHELL -l
anacondaのインストール
pyenvでanacondaを入れます。
anacondaの利用は賛否両論あるようですが、開発に必要なパッケージを一括でインストールしてくれるのはPython初心者には大変ありがたいです。
慣れてきたらanacondaをやめてpyenvで普通のPythonに切り替えて独自に必要なパッケージを入れていくようにすると良いと思います。
ただ容量が大きいのでダウンロードとインストール完了に時間かかります。
pyenv install anaconda3-5.1.0
pyenv global anaconda3-5.1.0
こことかを参考にしました。
どうしてもpyenv経由せず直接入れるという場合は、以下の記事が参考になります。
Anaconda で Python 環境をインストールする - Qiita
サンプルをダウンロードする
折角サンプルがGitに転がっているのだから使わない手はありません。
GitHub - oreilly-japan/deep-learning-from-scratch: 『ゼロから作る Deep Learning』のリポジトリ
git clone git@github.com:oreilly-japan/deep-learning-from-scratch.git
cd deep-learning-from-scratch
これで環境構築は完了です。
あとは本書に書いてある通りにpythonで動かしたり、vimでpyファイルを作成してもいいですが、
jupyter notebookはUI上でそれらを全て実行でき、さらに結果も一緒に保存できるためおすすめです。
Jupyter Notebook を使ってみよう – Python でデータサイエンス
Jupyterの機能拡張
anacondaの中にJupyterも一緒に入ってます。
そのまま使ってもいいですが、機能拡張すると開発が楽になります。
先人の知恵を参考に便利そうなツールを入れます。
jupyterの見た目を変える
GitHub - dunovank/jupyter-themes: Custom Jupyter Notebook Themes
pip install jupyterthemes
レイアウトの変更方法はこちらが参考になります。
もしテーマ設定に失敗したらこれで初期化します。
jt -r
レイアウトをカスタマイズして黒く染めたのはいいですが、編集が真っ白になって文字も灰色で目が死にそうになった時、初期化わからなくて積みそうに…まあ、後からjt--help
に普通に書いてたの気づきましたが。
Jupyterの拡張機能を使える様にする
これ入れるとjupyter notebook上で拡張機能の設定が可能になります。
conda install -c conda-forge jupyter_contrib_nbextensions
こちらを参考にしました。
AnacondaのJupyter notebookでnbextensionsを使う - Qiita
Jupyterでvimを使える様にする
vim使えないと辛いので入れます。
GitHub - lambdalisue/jupyter-vim-binding: Jupyter meets Vim. Vimmer will fall in love.
git clone https://github.com/lambdalisue/jupyter-vim-binding ~/.anyenv/envs/pyenv/versions/anaconda3-5.1.0/share/jupyter/nbextensions/vim_binding
こちらを参考にしました。
JupyterNotebookにVimの力を加えると、光と闇が両方そなわり最強に見える - Qiita
jupyter上でvimを使う - Qiita
jupyter notebookの起動
jupyter notebookで開発を行います。
jupyter notebook
こんな画面が開いたら成功
あとは、Nbextensionsでお好きなオプションを有効化しておく。
とりあえずは、「VIM binding」と「ExecuteTime」を有効にした。
あとはFilesで右上の「New」→「Python3」を押すことで開発をスタートできる。
コードを記入して、「Shift+Enter」で実行でき、コードと出力結果の両方を左上の保存ボタンから保存できます。
終わるときはターミナル上で「Ctrl+C」です。