みなさんこんにちは!やっしーです!
僕って、Web系やってるけど、実は機械学習系もやってたりするんですよ!
ということで、今回はいろんな環境をバラバラに使ってしまっているので、一応まとめてみます、機械学習を研究するに当たって試してみた環境を紹介していこうと思います!
研究環境
- MacBook Pro 13インチ core i5メモリ8GB
- Ubuntu 16.04LTS
ちなみに研究室の都合によりGPU非搭載のデスクトップです
環境その1 ハードウェア周り
MacBook Pro 13インチ core i5メモリ8GB
ディスプレイ的には、ベゼルがそんなに広くないのであまり小さいと思ったことはありません。しかしメモリに関しては、よくある6万枚のMNISTやcifar10のデータセットで学習を行うと、Touch Bar付近がめっちゃ暑くなります(ちなみにお肉は焼けません、たぶん)
エンジニアとしてWeb系やるにしても、16GBはやはり必須ですねぇ、、、欲しいですねえ、、、
Ubuntu 16.04LTS
あの紫と、ターミナルのデザインが好きなのでコレ!
環境その2 言語環境周り
1. 仮想環境管理 conda
いつも仮想環境を
conda create --name ENV_NAME python=3.7
って作成しています。pipを使っていたのですが、研究室にデスクトップを置いてる以上、プロキシが避けられない環境にあります。なので、pipやcondaもプロキシを通すパスの設定が必要でした。exportするだけなのだと思うのですが、pipだとできなかったし、Macの仮想環境もpipからcondaに乗り換えてしまったので、もうめんどくさいです。pip install -r "requirements.txt"とかあるから便利なんですけどね、、、、
2. IDE
それぞれの良い点や困った点を紹介していきます
1.spyder
Anaconda Navigatorいれたら真っ先に触るであろうエディタのひとつ。GUIバックエンドがすでに設定されている( Cent OSとかでターミナル実行、matplotlibとかのpyplot.showメソッドとかは、matplotlib.use('Agg')などのGUIバックエンド指定が必要 )即座に簡単なプロットとかを見たい人向けかもしれない。科学シミュレーションとか。
良い点:GUIバックエンドが付いている、IPythonコンソースが付いているので、コマンドも使える。ステップ実行が可能
困った点:なれるまで細かい操作が難しい。Ipythonコンソールとか削除しちゃうと設定が保存されちゃってデフォルトも戻せない!と落ち込んだ過去あり。ちなみに進捗発表プレゼンには向かない
2. jupyter notebook
上記に続き、Anaconda Navigatorにあるやつ。.ipynb(ipython notebook)という拡張子で主に書く(ライブラリやインポート予定のものは.pyでも良い)。Markdown記法で説明を書く、プログラムを書く等、ブロックで分けられて、ブロック単位でのプログラム実行が可能。
良い点:Markdown記法が使える、プラグイン入れるなりすればそのままスライドの形にできる
困った点:仮想環境を立ち上げて起動すると、ターミナルが占有され、他の作業をするためにもうひとつターミナルを開かなくてはならなくなる。!コマンド でターミナルの実行ができるが、Question等に対して再度文字入力とかができない、、、?conda installはproseed?って聞かれてキー入力しなきゃだからpip向きかもしれない
3.可視化環境
1. Tensorboard
kerasやtensorflowのcallbacksに指定することで、終了時にTrain AccuracyやTest AccuracyのEpoch毎の推移等をグラフ化してくれるツール。簡単なプレゼンにいいかも
良い点:やってる感が出る
困った点:若干くせがあり、慣れないとわからない
2. Tensorwatch
Tensorboardのリアルタイム版と私は捉えている。これを操ることでやってる感を上記のものより醸し出すことができる。魔法のアイテム
良い点:やってる感がすごい出る
困った点:使い方がわからない。使えない。
以上、まとめた。できたら自分の環境におけるベストなものを選定したいね。これから研究しようとしている人たちもよかったら参考にしてみてください。
それではまた!
良い週末を!