Server

Docker上でTensorFlowのチュートリアルをやってみた

投稿日:2017年3月18日 更新日:

はじめに

こんにちは、最近個人的な勉強でPython、ディープラーニングをやっているtonnyです。
以前も自分で作ってみた配牌からアガれるかアガれないか予測する記事を書かせていただきました。

今更感はありますが、本日はディープラーニングの有名ライブラリであるTensorFlowを使用してみたいと思います。

環境

  • Mac OS X Yosemite 10.10.5
  • Docker for Mac

Docker for Macのインストールはこちらからできます。

TensorFlowのコンテナを起動する

TensorFlowのインストール手順は公式に記載がありました。

Installing TensorFlow

すでにTensorFlowは公開のDockerイメージがあります。

tensorflow public repository

ただ、Googleのコンテナレポジトリ(この訳で合っているのでしょうか?)のTensorFlowもあるので、そちらを利用します。

https://github.com/tensorflow/tensorflow/blob/master/tensorflow/tools/docker/README.md

このコンテナは2通りの利用方法があります。

1つ目はふつうにコンテナを起動し、シェルで利用する方法です。

2つ目は8888番ポートで起動することで、Jupyter Notebookで立ち上げる方法です。

今回はJupyter Notebookも使ってみたかったので、2つ目の方法でやります。

起動すると、トークン付きのURLが表示されるので、そちらでブラウザアクセスします。

Jupyter Notebook経由で見ることができます!
ちなみにPythonのバージョンは2.7.6です。

チュートリアルをやってみた

立ち上げたコンテナで、TensorFlowのチュートリアルをやってみました。

パートナーの方々が作成した日本語盤もありますが、少し古いようです。
機械学習ビギナーのためのMNIST

そのため、訳は上記のサイトを参考にさせていただきつつ、ソースコードは公式の方を見ながら進めました。
MNIST For ML Beginners

ソースコード

ほとんどの言語で最初にやることは「Hello, World」を表示させることですが、機械学習の世界ではMNISTという画像を認識することのようです。

TensorFlowを使用すると、トータルで下記のコードで良いようです。
(もちろん、ビギナーレベルで。)

TensorFlowでは、セッションという単位で、作成したモデルを動かすことができるようです。

ゼロから作るディープラーニングを読んでいると、何となくやっていることは分かるのですが、メソッドが何をしているのか理解するのは難しいですね。

各メソッドはリファレンスが用意されています。
Python用のTensorFlowリファレンス

上記のコードを実行すると、0.9216という結果が返ってきます。

さいごに

今回はとりあえず触っただけ、になってしまいました。

まだ応用チュートリアルはやっていないので、そちらもやりつつ、配牌からアガれるかアガれないか予測するを改良するという密かな野望も進めていきたいと思います。

ちなみに、下記のQiita記事が非常に分かりやすかったので、リンクを掲載させていただきます。
特にプログラマーでもデータサイエンティストでもないけど、Tensorflowを1ヶ月触ったので超分かりやすく解説

blog-page_footer_336




blog-page_footer_336




-Server
-

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


関連記事

DockerでRuby2.5、Rails5.2betaの環境をつくる【Compose file v3】

1 はじめに2 Dockerのインストール3 ファイルの準備3.1 Gemfile3.2 Gemfile.lock3.3 Dockerfile3.3.1 Ruby(Rails)3.3.2 MySQL3 ...

同じレコードがないときだけインサートする!

はじめに あるアイテムを持っていない人だけ、別のアイテムをあげたい! もしくはその逆で、あるアイテムを持っている人に追加でアイテムをあげたい! そういうことってないでしょうか? 先日、僕がそのような状 ...

DockerでLAMP環境をつくり、LimeSurveyを動かしてみた

1 はじめに2 Docker関連ファイルの作成2.1 docker-compose.yml2.2 MySQL2.2.1 個人的に詰まったこと2.3 PHP3 Docker起動4 リポジトリを作りました ...

WordPressとRailsアプリケーションを相乗りさせた時の話

1 はじめに1.1 前提条件2 サブドメインを設定する3 Nginxの設定3.1 ステージング環境用の設定3.2 ステージング環境の設定を読み込ませる3.3 Nginxの再起動4 SSL化する4.1 ...

MySQL 5.7 オプティマイザの改善〜UNION ALL〜

1 はじめに2 「UNION」と「UNION ALL」の違い3 MySQL 5.7での「UNION ALL」の改善とは4 MySQL 5.7での実行計画4.1 UNION ALL実行計画4.2 UNI ...

フォロー

blog-page_side_responsive

2017年3月
 1234
567891011
12131415161718
19202122232425
262728293031  

アプリ情報

私たちは無料アプリもリリースしています、ぜひご覧ください。 下記のアイコンから無料でダウンロードできます。