おかざきPの記録

Mac, QNAPの設定やプロデューサー業の記録

MacにPlaidML環境を構築

要約

実行環境

最終的にやったこと

  1. Catalinaをクリーンインストール
  2. Homebrewをインストール
  3. Homebrewでpyenvをインストール
  4. pyenv-virtualenvもインストール
  5. pyenvでPython 3.6.9をインストール
  6. pyenv-virtualenvでPython 3.6.9を基にPlaidML用の仮想環境作成
  7. PlaidMLで遊ぶ用のディレクトリを作成
  8. 作成したディレクトリでPlaidML用の仮想環境を指定
  9. 仮想環境に入ってPlaidML, Keras, TensorFlowをインストール
  10. 動作確認

途中でやらかしたこと

  1. Catalinaへのアップデート
  2. HomebrewでPython 3.8を直接インストールした
  3. CatalinaにPython 3.7が付属しているのを知らなかった

本題

動機

Catalinaにアップデートしたら写真ライブラリが開けなくなった. 何度修復しようが開けなかったため,いっそCatalinaをクリーンインストール.ついでにシステムに直接インストールしていたPythonを仮想環境に入れ直した.そろそろDeep Learningやってみたかったし.

Catalinaのクリーンインストール

このページを参考にした.なぜかボリュームが2つ見えているが放置してる.
Macを初期化する方法ーーmacOSをクリーンインストールする手順

Homebrewをインストール

ターミナルからHomebrewをインストールした. Paste that in macOS Terminal prompt.とあるコードをコピペしただけ.

pyenv, pyenv-virtualenvのインストール

これらのページを参考に両方ともインストール.
pyenvでのPython仮想環境の作り方まとめ
pyenv/pyenv-virtualenv/Anacondaを使ってクリーンなPython環境をセットアップ
ページ中で書かれている,以下コマンド実行してセットアップとはいわゆるPATHを通す作業.この作業の正解が理解できていなくて,.bashrcなのか.bashrc_profileなのか分かってない.PATHを通しておかないと,この後の作業でそんなファイルはないと怒られた.

pyenvでPython 3.6.9をインストール

KerasがPython 3.6(まで?)にしか対応していない. したがって3.6.xをインストール.とりあえず最新版を.

PlaidML用のディレクトリと仮想環境の作成,設定

プロジェクトごとに手動で切り替えとか絶対に忘れて事故を起こすので,作業ディレクトリを移動したら自動で切り替わるようにすべき.先程のQiiita記事を参考にすればよし.pyenv versionsすると作成した仮想環境が3.6.x/env/仮想環境名仮想環境名の二重で表示された.一方を消すと他方も消えるため同じものだと分かるが鬱陶しい.

PlaidML, Keras, TensorFlowのインストール,動作確認

PlaidMLを使えば非NVidiaなマシンでもGPUを利用したDeep Learningが可能.ついでにDeep LearningデファクトスタンダードTensorFlowもインストールしておく.KerasはPlaidMLやTensorFlowを動かす司令塔.PlaidML用の仮想環境を設定したディレクトリに移動後,pip install -U plaidml-kerasでPlaidMLとKerasの両方ともがインストールできた.詳しくは以下のページを参考.
PlaidMLを使ってMacでDeep Learning:導入編

しでかしたことについて

Catalinaへのアップデート

OSXのアプデがこんなにリスキーだと身をもって体感した.iPad, iPhoneのバックアップとしてicloud写真は活用しているが,MacのライブラリはNASに置いてあるためフォトストリームでしか同期されていない.このため開けなくなった写真ライブラリを復活させるために悪戦苦闘した.幸いNASのバックアップに半年前のライブラリがあったのと,icloud上の写真がギリギリMacの容量を超えなかったため,古いライブラリをMacにscpでコピーしてicloudと同期を行うことで復活できた.
あとことえりがかなりバカになっていてこの文章も打ちにくかった.

HomebrewでPython 3.8を直接インストールした

PlaidMLのインストールと設定してベンチマークも動いて油断した.いざ試しにKerasを使おうとしたら動かなかった.バージョン管理の必要性を学んだ事件.

CatalinaにPython 3.7が付属しているのを知らなかった

これは問題にはなっていないがpyenvで確認したら身に覚えの無いバージョンが入っていて驚いた.自分で入れた3系全部消したはずと思っていたらCatalinaにくっついてるらしい.