Jupyter NotebookでPythonを使った機械学習の実行環境を作成

機械学習触りだけでもやって感覚をつかんでおきたいなということで『ゼロから作るDeep Learning』を読み中。

ここでサンプルコードを実行するための環境をDockerでPythonの公式イメージを使って構築したが、その上でMatplotlibのサンプルを実行すると

_tkinter.TclError: no display name and no $DISPLAY environment variable

といった表示のエラーが出て使えず、$DISPLAYに0を設定するとか、バックエンドをAggにするとか色々と解決手法を試したが効果がない。

こんな前段でハマっていても仕方ないので、ひとまずその解決は諦めてJupyter Notebookを使ってブラウザ上で実行する方向に。サンプルコードが実行できればいいのでそれで十分。

こんなかんじにDockerfileとdocker-compose.ymlを作って解決。

docker-composeでbuildしてup -dするとウェブサーバーが立ち上がる。
アクセスして利用するにはトークンが必要なので

docker-compose exec notebook jupyter notebook list 

で、表示されたトークン付きのURLにアクセスすればOK。
Matplotlibのサンプルコードを打ち込むと無事グラフが表示された。

参考: Jupyter の Docker イメージを使ってみる