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


関連記事

aws

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

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

Firestoreのルール設定とdumpやrestoreが簡単に行えるfsrpl

1 はじめに2 Firestoreのルール設定2.1 全て許可2.2 本番環境でのルール設定例3 fsrpl3.1 fsrplとは3.2 インストール3.3 秘密鍵3.4 copy3.5 開発環境から ...

aws

EventBridge Pipesを使ってSQSからECSタスクを起動する

1 はじめに2 EventBridge Pipesとは2.1 ソース2.2 フィルタリング2.3 エンリッチメント2.4 ターゲット3 EventBridge Pipesを使うメリット4 EventB ...

https-portalで既存のdocker環境をhttps化

1 はじめに2 https-portalとは3 設定ファイル3.1 docker-compose.yml3.2 default.conf4 説明4.1 docker-compose.yml4.2 de ...

RubyでOSM Nominatimを使ってみた

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

フォロー

blog-page_side_responsive

2017年3月
 1234
567891011
12131415161718
19202122232425
262728293031  

アプリ情報

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