ぽきたに 〜ありきたりな非凡〜

現役F欄大学生が送るゴミ溜めと独り言

初心者による初心者の為のTensorFlowを使用したHello,Worldまでを解説してみるって話。

f:id:tacky0612:20170531012239p:plain

どうもこんにちは、たっきーです。
今回はTensorflowの”Hello, world”をAnacondaを使用して試してみました。あとちょっとした四則演算。
人間がTensorflow試してみたよ〜〜って色々書いてるけど、僕みたいなクソザコに頭が追いつくようなものは中々なかったので僕が書く。
けんきう室にGPU搭載のハイスペックPCがあるけど、今回は動作確認という事で手持ちのMacBook Pro(Late2016)でササッと動かしてみた。
 

環境

参考程度にMacBook Proのスペックです。

f:id:tacky0612:20170531012806p:plain

macOS Sierra(10.12.4)です。
 
事前知識としてPythonについて知っているとスムーズに進むかなぁと。
おっPython
 
 

TensorFlowとは

Googleが公開したオープンソースディープラーニングライブラリのこと。
 
公式はこちら↓
 
英弱なのでチュートリアル読むので一苦労。
Let's study English!!
 
使っていることを明記すれば商用利用もできるらしい。
いろんな大きな会社も利用しているみたい。今やビッグデータ時代なので機械学習が注目されてますね。
これはTensorFlowを利用している企業さん。見たことのあるロゴばかりですね。

f:id:tacky0612:20170531013005p:plain

 

 

Anacondaとは

f:id:tacky0612:20170531013251p:plain

インストールがめんどいライブラリが最初から入っているとてもリッチなPythonのパッケージ。
ちょっといらないものも入りすぎてるおデブちゃんなんだけど、いらないものを削ったMinicondaというのもあるみたい。詳細は知らん。
公式ドキュメントには
The Anaconda installation is community supported, not officially supported.
って書かれてるけど気にしない。
ダウンロードページがカッコイイ。
こういうおしゃんなダウンロードページだとこれから学習するモチベすごい上がりますよね(伝われ…!)
 

f:id:tacky0612:20170531013554p:plain

自分のOSに合ったモノをインストール。Python3.5の方を選ぶ。
基本的に次へ次へ次へ完了でおk。
 
 

Tensorflowの導入

とうとう導入です。
 
こちらがAnacondaを使用したTensorflowのインストール方法。
ターミナルを立ち上げ、一応自分のPythonのバージョン確認しとく
$ python —version

f:id:tacky0612:20170531013941p:plain

Python 3.5.2 :: Anaconda 4.2.0 (x86_64)って表示され現在のVersionを確認できる。
ターミナルの立ち上げ方はggrks
 
次に、Tensorflowをインストールする。以下コマンド。tensorflowって名前で環境を作ってくださいねってコマンド。一応Pythonのバージョンを指定しておく。
$ conda create -n tensorflow python=3.5

f:id:tacky0612:20170531014015p:plain

するとこんなツールをインストールしますか?って聞いてくるので y を押して Enter を押す♂。
 
次にTensorflowの実行環境に入るために以下コマンド。
$ source activate tensorflow

f:id:tacky0612:20170531014721p:plain

このように、先頭に(tensorflow)と表示されるとTensorflowの実行環境に移れたってこと。おk。
 

必要なライブラリのインストー

次に、以下コマンドを使うと必要なパッケージを勝手に選んで入れてくれる。Anaconda良い。
$ conda install -c conda-forge tensorflow

f:id:tacky0612:20170531015406p:plain

さっきと同じでyを押してインストール。

 

これで上手く行かない場合は、公式ドキュメントにあるようにpipを使ってインストールしていこう。

condaコマンドを使う方が簡単。
 

いよいよTensorflowで”Hello, world!”

Run a short TensorFlow programというのが公式ドキュメントにある。これはいわゆる”Hello, world!”的な奴。TensorFlowが正常に動いているか確認するためのサンプルコード。
 
以下コマンドをターミナルで叩くとPythonの対話的実行環境に入れる。インタラクティブシェルって言うみたい。カッコイイ。
なんかごちゃごちゃ出てきて最終的に「>>>」って表示されるとインタラクティブシェルに入れてる。
 
まずはTensorFlowをtfと言う名前としてimportする。
>>> import tensorflow as tf
これでEnterを押して次の「>>>」が表示されるとTensorFlowのインストールが上手くいってるってこと。
 
以下コマンドで”Hello, world”。('Hello, TensorFlow!'じゃねーか!ってツッコミは無しで
>>> hello = tf.constant('Hello, TensorFlow!')
>>> sess = tf.Session()
>>> print(sess.run(hello))

f:id:tacky0612:20170531021213p:plain

W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.1 instructions, but these are available on your machine and could speed up CPU computations.

W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.2 instructions, but these are available on your machine and could speed up CPU computations.

W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use AVX instructions, but these are available on your machine and could speed up CPU computations.

W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use AVX2 instructions, but these are available on your machine and could speed up CPU computations.

W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use FMA instructions, but these are available on your machine and could speed up CPU computations.

なんかしらんがsess = tf.Session()の次にすごい警告が出てきた。よく分からんが、エラーでは無いので無視しておく。トラブルシューティング力のNASA
まぁ、無事にHello, TensorFlow!と表示されてるのでセーフ。(適THE当)
 

折角なので、簡単な四則演算も実行してみる

簡単な四則演算もTensorFlow環境下で実行してみよう。
以下コマンドで文字式の四則演算を実行してみる。
ちなみにconstantは一度値を格納したら変更できないヤァツ。

>>> a = tf.constant(10)

>>> b = tf.constant(32)

>>> print(sess.run(a + b))

>>> print(sess.run(a * b))

>>> print(sess.run(a - b))

>>> print(sess.run(a / b))

f:id:tacky0612:20170531023229p:plain

はい、想定通りですね。

 

終了方法

最後に後片付けしましょう。
Pythonインタラクティブシェルを抜けるには以下コマンド。

>>> exit()

 

 
あとはTensorFlowの実行環境の抜け方は以下コマンド。
$ source deactivate tensorflow
 
これにて終了〜〜。
 

最後に

思ってたよりも長々と書いてしまった。気がつけば4000文字程度書いてるやん。つらい(つらい)#つらい
僕は深層学習始めたばかりの全く初心者なので何か気になった点などあれば教えてください。
TensorFlowには幾つかチュートリアルが用意されてるのでクリアしていこうかな。
次はTensorflowを用いたMNIST(手書き文字認識)のこととか書いていこうと思う。(多分)
間違いなどあれば教えてください。随時、修正していきます。

 

ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装

ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装

 

 

 

詳解 ディープラーニング ~TensorFlow・Kerasによる時系列データ処理~

詳解 ディープラーニング ~TensorFlow・Kerasによる時系列データ処理~

 

 

 

呟き。

 

スポンサードリンク