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


関連記事

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 ...

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

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

CircleCIを使ってみた(RailsのRSpecとデプロイのサンプル)

1 はじめに2 導入するにあたって3 項目B4 補足4.1 開発環境とCI環境でdatabase.ymlが異なる5 さいごに はじめに 個人的に作成しているアプリケーションのCIツールとして、Circ ...

RubyでOSM Nominatimを使ってみた

1 はじめに2 導入3 検索3.1 建物名による検索の実装例3.2 住所による検索の実装例4 リバースジオコーディング4.1 実装例5 住所の整形6 Open Street Map Nominatim ...

aws

AWSのT3インスタンスの特徴

1 はじめに2 T3インスタンスとは2.1 T3インスタンスのスペック2.2 Unlimited Modeがデフォルトで有効2.3 ハイパーバイザはNitro3 T2インスタンスとの比較3.1 仮想C ...

フォロー

blog-page_side_responsive

2017年3月
 1234
567891011
12131415161718
19202122232425
262728293031  

アプリ情報

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