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ヶ月触ったので超分かりやすく解説

age_footer_300rect




age_footer_300rect




-Server

執筆者:


comment

メールアドレスが公開されることはありません。

関連記事

DockerのQuickstart:Compose and Railsをやってみた

1 はじめに1.1 環境1.2 Docker for Macのインストール2 Railsプロジェクトを作成するまで2.1 Railsのプロジェクトディレクトリの作成2.2 Dockerfileの作成2 …

InnoDBでauto_incrementの値が戻る?

はじめに 花粉症が辛い季節になりました。 花粉症も困りますが、本日はMySQL関連で困って調べたことをまとめたいと思います。 タイトルですが、InnoDBだとDBを再起動した際にauto_increm …

Conohaのサーバーを借りて、CentOS+MySQL+nginxの環境を作ってみた。

1 はじめに1.1 環境2 Conohaでサーバーをレンタル3 サーバーの初期設定3.1 サーバーにrootユーザーでログイン3.2 ユーザー作成3.3 SSHログインを許可3.4 秘密鍵を生成3.5 …

配牌からアガれるかアガれないか予測する

1 はじめに1.1 趣旨1.2 筆者のスペック1.3 環境1.4 機能概要2 実装に関して2.1 教師データ2.2 前処理2.3 各ノードの重みの学習3 実際に使ってみた3.1 再テスト4 学習させた …

WordPressのサーバ移設とnginxで無料SSLをやってみた

1 はじめに1.1 環境2 サーバー準備2.1 ConohaのVPSサーバーの契約2.2 sshログイン用のユーザーを作成2.3 必要なソフトウェアのインストール3 WordPressの移行3.1 D …

page_side_300rect