12
11

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.

anyenv, pyenv, anaconda, jupyter notebook でゼロから作るディープラーニング

Last updated at Posted at 2018-04-21

目的

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

こちらの手順も参考になります。

anyenvで開発環境を整える - Qiita

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に切り替えて独自に必要なパッケージを入れていくようにすると良いと思います。

ただ容量が大きいのでダウンロードとインストール完了に時間かかります。

Anaconda

pyenv install anaconda3-5.1.0
pyenv global anaconda3-5.1.0

こことかを参考にしました。

pyenv環境でAnacondaを使う - Qiita

どうしても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

レイアウトの変更方法はこちらが参考になります。

Jupyterのレイアウトを変える方法 - Qiita

もしテーマ設定に失敗したらこれで初期化します。

jt -r

レイアウトをカスタマイズして黒く染めたのはいいですが、編集が真っ白になって文字も灰色で目が死にそうになった時、初期化わからなくて積みそうに…まあ、後からjt--helpに普通に書いてたの気づきましたが。

Jupyterの拡張機能を使える様にする

これ入れるとjupyter notebook上で拡張機能の設定が可能になります。

GitHub - ipython-contrib/jupyter_contrib_nbextensions: A collection of various notebook extensions for Jupyter

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で開発を行います。

Project Jupyter | Home

jupyter notebook

こんな画面が開いたら成功

スクリーンショット 2018-04-22 2.22.35.png

あとは、Nbextensionsでお好きなオプションを有効化しておく。
とりあえずは、「VIM binding」と「ExecuteTime」を有効にした。

スクリーンショット 2018-04-22 2.24.31.png

あとはFilesで右上の「New」→「Python3」を押すことで開発をスタートできる。
コードを記入して、「Shift+Enter」で実行でき、コードと出力結果の両方を左上の保存ボタンから保存できます。

スクリーンショット 2018-04-22 2.29.46.png

終わるときはターミナル上で「Ctrl+C」です。

12
11
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
12
11

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?