shivaseの日記

SIer→Web→教師→SIer→ベンチャー(SRE)と異色な人生を歩んでいるエンジニアの日記

Machine Learning - Octaveの導入

Machine Learningの課題で使うOctaveを、MacOS X(El Capitan)に入れる手順です。

前提

MacOSのアプリはすべてhomebrewで管理しているので、このOctaveもhomebrewで導入します.

Homebrew — OS X 用パッケージマネージャー

参考

出力されるグラフについて

octaveでのグラフの描画にはgnuplotが使われていますが(他にOpenGL等も選べる)、そのグラフの描画先としてX11aquatermなどが選択できます。

X11を利用するのとAquaTermを利用するのはどちらがいいか?と気になりますが それぞれ利点があります。

X11は3次元でグラフを描画した際などに、 グラフ上をマウスでグリグリやるだけで視点を変更できます。 たぶんそれ以外にもインタラクティブにグラフを変えることができるのだと思います。

AquaTermを使うと、PDFやEPS形式吐き出したり、 そのまま印刷したりすることができます。 また、X11よりはこちらの方がグラフがきれいらしいです。

OctaveをMacにインストールする [X11 or AquaTerm] - フェムトセカンド (@melonsode blog)

3D描画する事があるのでX11を使う想定で手順を記載します

インストール

brewを利用してインストール

# aquatermにするかもで両方インストールしておく
$ brew cask install aquaterm
$ brew cask install xquartz

# octaveでのグラフ描画用のgnuplotを入れる. aquaとx11両対応できるように指定.
# gnuplot5だとグラフのpng出力時に真っ黒になるバグがあるので、Versionは4系をインストール
# 治っていればgnuplot指定でOK
$ brew install homebrew/versions/gnuplot4 --with-aquaterm --with-x11

# デフォルトでaquatermなのでwith-aquatermはoctaveにはない

$ brew install octave --with-x11

GUI版octave

octaveはgui同梱版もあって以下のインストールで可能

# 既に入れてたらinstallではなくreinstall
$ brew install octave --with-gui

octave gui画面

option "with-gui", "Use the graphical user interface (still buggy)"

homebrew-science/octave.rb at master · Homebrew/homebrew-science

けどMacOS版のGUIは未だバグがあったりで非推奨の模様(2015/11/16現在). Windows版のoctave 4.0だと大丈夫そう

GUI版もやってみたけど、 octave --no-guiを実行してコマンドラインで作業する事が多く、これだと起動に時間がかかったりで面倒だったので結局辞めた. CUIに慣れてない人はいいかもだけど、ちょっと操作方法が面倒なので頑張ってCUI覚えた方が吉

octave用設定の追加

このまま課題をやろうとすると、グラフ描画でエラーになってしまうので、.octavercというファイルを$HOME直下に作る必要有り。

$ vi ~/.octaverc

設定は以下の通りで、GNUTERMの設定でX11を指定する必要があります。デフォルトはaqua

setenv('GNUTERM','x11')

ちなみに私は以下のような設定にしてます. dotfiles/.octaverc

setenv('GNUTERM','x11')
PS1('❯❯ ')

【スポンサーリンク】