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


関連記事

RubyでOSM Nominatimを使ってみた

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

aws

ECSとCWLでのアラームの設定

1 はじめに1.1 全体の流れ2 CloudWatch Logsでロググループを作成する3 ECSでタスク定義を作成(更新)する4 CloudWatch Logsでメトリクスフィルタを作成する5 SN ...

aws

EC2インスタンスのメモリとディスクのメトリクスモニタリングでハマったこと

1 はじめに2 メモリとディスクのメトリクスモニタリング3 ハマりポイント4 対応方法5 さいごに はじめに AWSのEC2インスタンスでディスク容量やメモリの使用率をCloudWatchで監視をする ...

aws

AWS LambdaとAPI GatewayでサーバレスなAPIを実装

1 はじめに2 AWS Lambdaとは2.1 利用できる言語2.2 Lambdaの制約3 LambdaでAPIをリリースするためにやること4 Lambda関数の作成4.1 関数の作成4.2 ランタイ ...

DockerでRails + Vue.jsの環境を作ってみる

1 はじめに1.1 前回までのあらすじ1.2 今回の趣旨1.3 環境2 MySQLのUTF-8対応3 Node.jsをRubyコンテナに組み込む4 Webpackerを使用してVue.jsをインストー ...

フォロー

blog-page_side_responsive

2017年3月
 1234
567891011
12131415161718
19202122232425
262728293031  

アプリ情報

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