0から始めるMacのDeepLearning環境構築
MacBook Pro (Retina 13-inch、Early 2015)の出荷時状態からChainerをimportするまで。
MBPを新調しました
こんにちは、2週間ほど前に以前使っていたMacBookProが故障してしまいました。
半年前にもメモリが故障してしまったんですが、今回はHDDを読み取る部分で修理できず。
2011年の春学期に購入したので既に4年目なので、そろそろ需要かなと思い、
新調する運びになりました。
ちなみにブログの更新ができなかったのも↑が原因です。
スペック
MacBook Pro (Retina 13-inch、Early 2015)
CPU 3.1 GHz Intel Core i7
メモリ 16 GB 1867 MHz DDR3
OS X El captain
Permission denied 問題
PCを買い換えたので早速、Chrome, Google 日本語入力, Sublime Text2, etc...
をインストール。一通り揃えたところで、いざPython及びDeepLearningの環境構築です。
環境構築でよく出会う問題がPermission denied。
慣れている人は「sudoすればいいんでしょ?」と思うでしょう。
けれども、それはあまりスマートじゃないし、
将来的にoperation not permittedという違う問題も引き起こしてしまいます。
今回は「ある手順を踏みながら環境構築をすると、これらの問題に対処できるよ。」
という内容の記事です。
環境構築
Homebrew
まず導入するのはHomebrew
OS X用のパッケージマネージャーで以下のコマンドで様々なパッケージをインストールできます。
brew install #package_name
Homebrew自身の導入は下記のスクリプトを実行するだけです。
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
実行ログを見ると、途中でパスワード入力を求められています。
おそらく、ここで特定のファイルのpermissionを変更していると思います。
この動作によって以下、pipやその他のパッケージをインストールする際に
Permissionに関わる諸問題が発生しなくなります。
mutoumasahiro-no-MacBook-Pro:~ mutoumasahiro$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" ==> This script will install: /usr/local/bin/brew /usr/local/Library/... /usr/local/share/man/man1/brew.1 ==> The following directories will be made group writable: /usr/local/. /usr/local/bin ==> The following directories will have their owner set to mutoumasahiro: /usr/local/. /usr/local/bin ==> The following directories will have their group set to admin: /usr/local/. /usr/local/bin Press RETURN to continue or any other key to abort ==> /usr/bin/sudo /bin/chmod g+rwx /usr/local/. /usr/local/bin WARNING: Improper use of the sudo command could lead to data loss or the deletion of important system files. Please double-check your typing when using sudo. Type "man sudo" for more information. To proceed, enter your password, or type Ctrl-C to abort. Password: ==> /usr/bin/sudo /usr/sbin/chown mutoumasahiro /usr/local/. /usr/local/bin ==> /usr/bin/sudo /usr/bin/chgrp admin /usr/local/. /usr/local/bin ==> /usr/bin/sudo /bin/mkdir /Library/Caches/Homebrew ==> /usr/bin/sudo /bin/chmod g+rwx /Library/Caches/Homebrew ==> /usr/bin/sudo /usr/sbin/chown mutoumasahiro /Library/Caches/Homebrew ==> Downloading and installing Homebrew... remote: Counting objects: 3914, done. remote: Compressing objects: 100% (3758/3758), done. remote: Total 3914 (delta 30), reused 2324 (delta 19), pack-reused 0 Receiving objects: 100% (3914/3914), 3.41 MiB | 2.00 MiB/s, done. Resolving deltas: 100% (30/30), done. From https://github.com/Homebrew/homebrew * [new branch] master -> origin/master HEAD is now at 6ccecbd xapian: update 1.2.21 bottle. ==> Installation successful! ==> Next steps Run `brew help` to get started <|| ** PyPI 次に導入するのはPythonista御用達の[https://pip.pypa.io/en/latest/installing/:title=PyPI](通称:pip)です。 Python周りのパッケージを以下のコマンドで簡単に導入できます。 >|| pip install #package_name
そんなpip自身の導入は以下のスクリプトを実行するだけです。
curl -kL https://raw.github.com/pypa/pip/master/contrib/get-pip.py | python
または、公式サイトからget-pip.pyをダウンロードして実行。
python get-pip.py
先にHomebrewを導入していれば、ここでsudoをすることはありません。
sudoを使ってpip自身をインストールすると、今後のパッケージ導入でもsudoすることになります。
というか、sudoしてもoperation not permittedになって行き詰まってしまいます...。
なのでHomebrewを先にインストールして、pipをsudoなしでインストールできれば安心です。
Chainer
最後にDeepLearningをするためにChainerをインストールします。
最新のChainer(v1.5.1)ではインストール時に様々な問題が報告されていて、
それを回避するためにChainerで必要とされているパッケージを予め導入または最新版にします。
どれも先に導入したpipがあれば簡単にインストールできます。
pip install cython pip install -U setuptools pip install -U numpy pip install chainer
さいごに
最後にターミナルで以下を確認できたら環境構築は完了です。
import chainer
追記(2016/2/4)
numpyの計算ライブラリをmklにすると, 高速化できます.
pip-install-deeplearning.hatenadiary.jp