概要
機械学習でTensorFlowを使っていみたいなと思い、調べたらDockerを使うと良いとの事だったのでDockerでTensorFlowを使ってみました。実際にやってみるとJupyter Notebookを使うことになったのでそちらに関しても書いておこうと思います
用語の説明
Docker
簡単に仮想環境を作り、動作させられるオープンソース。Paasのようなもの。
注目を浴びる「Dockerコンテナ」、従来の仮想化と何が違うのか?
TensorFlow
TensorFlow(テンソルフロー)とは、Googleの機械学習/ディープラーニング/多層ニューラルネットワークライブラリ。基本的にPythonで書く。
TensorFlowとは
Jupyter Notebook
ノートブックと呼ばれる形式で作成したプログラムを実行し、実行結果を記録しながら、データの分析作業を進めるためのツール。昔はPythonを動かす用の環境でIPython Notebookと呼ばれていたが今はPython以外の言語にも対応していることからJupyter Notebookという名で開発されている。
Jupyter Notebook とは
機械学習のサンプルを動かすまで
1.Dockerのインストールと簡単な操作
1.1. インストール
こちらからStable版をインストール
https://docs.docker.com/docker-for-mac/
1.2. 基本操作
ザックリ説明だとDockerイメージがOS、Dockerコンテナがインスタンスみたいな感じです。(多分)
- イメージ取得
$ docker pull centos:centos6.6
- イメージの確認
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
hello-world latest 48b5124b2768 6 days ago 1.84 kB
gcr.io/tensorflow/tensorflow latest e3f7f02f1c66 3 weeks ago 981 MB
centos latest 67591570dd29 5 weeks ago 192 MB
ubuntu 14.04 3f755ca42730 5 weeks ago 188 MB
centos centos6.6 d03626170061 4 months ago 203 MB
b.gcr.io/tensorflow/tensorflow latest 7e0be98eae06 11 months ago 670 MB
- コンテナ作成
$ docker run -it centos:centos6.6 /bin/bash
シェルが起動する
[root@95ba3433a747 /]#
- コンテナの確認
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a96ddad31ab3 gcr.io/tensorflow/tensorflow "/bin/bash" 3 hours ago Exited (0) About an hour ago tensorflow1
96b94bf9d8f1 gcr.io/tensorflow/tensorflow "/run_jupyter.sh" 6 hours ago Up About an hour 6006/tcp, 0.0.0.0:8888->8888/tcp compassionate_goldstine
95ba3433a747 centos "/bin/bash" 7 hours ago Exited (127) 2 seconds ago awesome_ardinghelli
952092d80709 ubuntu:14.04 "bash" 7 hours ago Exited (0) 6 hours ago romantic_northcutt
660cb6cd75bf hello-world "/hello" 8 hours ago Exited (0) 7 hours ago kind_elion
- コンテナのスタート
$ docker start 0f60c2705466
STATUSがExitedになっているものがUpになる
- コンテナの起動
$ docker attach 0f60c2705466
シェルが起動する
[root@95ba3433a747 /]#
2.DockerでTensorFlowを使う
DockerにTensorFlowの実行環境が整っているのでそれを使う
$ docker run -it -p 8888:8888 gcr.io/tensorflow/tensorflow
するとJupyter Notebookが立ち上がる
http://localhost:8888/
参考:TensorFlowをMac & Dockerで使ってみたよ
3.Jupyter NotebookでHellow Worldを試す
3.1. ファイルの作成
3.2. サンプルプログラムの入力
参考:python/tensorflow初心者が、jupyter+tensorflow環境を構築してHello Worldする
感想
本当は簡単な機械学習を実際に試したかったのですが、思えばPython書いた事ないし、機械学習の知識もないし、、色々みたけどサクッとは試せなさそうだったので諦めました。機械学習は思ったより難しいという事がわかった1日でした。