TensorFlow Getting Startedを実行する
前回は、インストールのドキュメントにあるソースを実行してみました。
今回からは、「Getting Started」を始めます。
その前に、「テンソル」っていうのは下記参照で。。。
テンソル - Wikipedia
機械学習などあまり知らない、全く知らない人向けに良いガイドになる様だ
有難い。
・ 0テンソル(a rank 0 tensor)を表現するとき → (何も書かない)
・1テンソル( a rank 1 tensor)を表現するときは → [1., 2., 3.] # [3]
・2テンソル( a rank 2 tensor)を表現するとき → [[1., 2., 3.], [4., 5., 6.]] # [2, 3]
・3テンソル( a rank 3 tensor)を表現するとき →[1., 2., 3.,, 7., 8., 9.,] #[1, 2, 3]
どうやら、 ノードを作成する処理が以下になる
node1 = tf.constant(3.0, tf.float32)
node2 = tf.constant(4.0) # also tf.float32 implicitly
print(node1, node2)
そして、ノードからセッション内で計算グラフ(computional graph)を作成する処理が
以下の様になる様だ…
sess = tf.Session()
print(sess.run([node1, node2]))
処理法はなんとなくわかったが…
つまり、なに?という疑問が消えない
なので、ちょいとアプローチ方法を変えて考えて見ようかと思います。
Minecraft in ラズベリーパイ
Minecraftをラズパイでやるための手順です。
1.ラズパイをインストール
ダウンロードしたファイル(NOOBS)を解凍してSDカードに展開します。
2.LANケーブルを挿して電源を入れてやります。
3.メニューからゲームで既にインストールされています。
Scratchもインストールされていて良い
そして、ゲームパッドでマイクラをやるために以下のコマンドを叩きます。
>$ sudo apt-get install joystick
>$ sudo apt-get install joystick jstest-gtk
※こちらのサイトを参考にしました。
上記コマンドで、ゲームパッドをラズパイに認識させることができます。
そして、マイクラで使用するためにはゲームパッドのボタンにキーボードのボタンを
対応させます。
追加で以下のコマンドを叩く
$ sudo apt-get install software-properties-common
→リポジトリの追加コマンド
そして、対象のアプリを落とします
$ sudo add-apt-repository ppa:ryochan7/antimicro
$ sudo apt-get update
$ sudo apt-get install antimicro
下記のサイトを参考にしました。
Docker OSについて
前回は、Dockerコンテナの構築を行いました。
そして、OSについては触れませんでした。。。なので今回は調べます。
docker infoコマンドで以下の様な情報を確認しました。
選択している部分はOS名を示しています。
だけど前回はその部分に触れていませんので。。。
・dockerコンテナに移動する(ターミナル使用)
>docker exec -it コンテナ(image)名 bash (bash使用時)
今回はnginxのコンテナに移動してみました。docker info でnameが「webserver」だったので以下の様にコマンドを入力しました。
上記の結果から、1コンテナにつき1OSで起動しているのかな?と仮説を立てます。
理由は、docker infoではalpine linux だったが今回のOS名はGNU....
なので起動しているコンテナと、dockerが起動している仮想OSが違っているのでは?と思った次第です。
調査の結果、起動しているAlpain Linuxに関してはMacOS Xで使用しているOSの様だ
詳細に関してはわかりませんでしたがとりあえずは問題もない様です。
そして、今回のGNU Linuxに関しては起動しているコンテナのOS....
→ベースになっているOSとnginxが起動しているOS(コンテナ上のOS)が違うということは「複数のOSが起動しているであろう」という仮説です。
詰まる所、コンテナを作成しそれを配布するのが自分のやろうとしていることになりました。→まだ仮説の領域は出ていません。。。
なので、次回はコンテナの作成を行おうと思っております。
2017/05/08 追記
desuga,Dockerコンテナを使用するなら単純にVMを使用してイメージファイルを
共有する方が便利だと思ったのでDockerはTendorFlowでの実行環境用にしようと思います。。。。
Docker コンテナ構築
今回はDockerのコンテナ(起動するアプリケーションの基本になるもの)を構築します。
参考にしたサイトはこちらです。
早速、コンテナの構築を始めます。
まずは、インストールした、Dockerを起動します。(Dockerデーモン起動)
起動確認をしておきます。
ターミナルを起動して、「docker info」コマンドで確認します。
そして、「nginx(エンジンエックス)」のイメージを取得します。
以下のコマンドを入力
>docker pull nginx:latest
イメージの取得確認
>docker images
「nginx」が存在していることを確認します
そして、起動します。
>docker run -d -p 8080:80 --name webserver nginx
「localhost:8080」にアクセス
これでウェブサーバーを起動できました。
そして、DB(PostgreSQL)のイメージを取得します。
参考にしたサイトは以下のサイトです。
>docker pull postgres
インストール確認
起動してみます。
>docker run -it --name postgres -d postgres:latest
起動確認
>docker ps
「nginx」と「postgres」が起動しています。
次回は、OSの起動について確認します。
Dockerのインストール mac
前回はソースを眺めました、その他にTensorFlowの書籍、チュートリアルを読んでみましたが。。。結局何もわからず(笑)
数学の勉強を始める気にはなりませんで。。。
仕方ないので、とりあえずDockerのインストールをします。チュートリアルにも書いてたし。。。まぁTensorFlow & Dockerというところで(笑)
※Dockerを使用した方が簡単に使えるという情報をゲットしたためインストールすることにしました。
・Dockerのインストール、下記のサイトよりダウンロード(マックなのでりんごの方)
自宅のネットワークスピードが遅いからなのか、結構時間がかかります。。。
というか、何も反応がないように思ったので手段を変更します。
以下のサイトを参考にします。
今回はStableの方をダウンロードします。
インストール完了
アプリケーション起動、以下の様な画面が出てきます。
しばらくすると、上部が緑色に変わります。
どうやら、上記の画面が出ている状態が「デーモン」(PCの裏側で動くプロセス)
が起動している状態を示していて「docker info」コマンドで以下の様な表示が行われる
1. ターミナルを起動する
2. docker infoコマンドを入力
とりあえずは、Dockerのインストールが完了⭐︎
TensorFlow Pythonに慣れる
前回は、インストールを行いました。その他にグラフィック用のAPIもあるらしい
今回は、pythonからTensorFlowにアクセスして起動します。
一応、macでターミナルを起動して実行しています。
./tensorにTesorFlowをインストールしましたので起動するのは
./bin/activateでした。
Pythonファイルを「test.py」で作成し以下の様に記述しました。
使用したエディタは「vi」毎度お馴染みですが一応以下を参照しました。
tensorflowを変数「tf」で使用する様に宣言:1行目
node1を作成 :3行目
node2を作成:4行目
node1, node2をコンソール出力:5行目
テンソルフローのセッションを取得:7行目
node1, node2の配列を実行する → 詳細はよくわかりませんでした。
node1, node2からnode3を作成:10行目
node3を表示:11行目
node3を実行:12行目
【実行結果】
詳細部分はまるでわからないが、とりあえず座標を出力しているのかな?
詳細だけでなく全くわかりませんでした。
わかったのはtensorflowで「run」「add」をした値を表示すると上の様に出力されるということだけ(笑 )
TensolFlow 開発編〜プログラムでテンソルを動かす〜
この記事は以下のサイトを参考にして実行しています。
Getting Started With TensorFlow | TensorFlow
前回の続きです。インストールしたTensolFlowを起動するところから始めます。
以下のコマンドを叩きます。
>source 「virtualenvのインストールしたディレクトリ」/bin/activate
くどい様ですが、「(tensol)」が表示されていることを確認します。
そして、今気がつきましたが、インストールは完了していませんで。。。。
以下の処理を行います。
①pythonのtensorflowをインストールする
>pip install tensorflow
エラー文言が出ましたが、とりあえず無視(pipのバージョンは新しいため)
これもエラーが出力されました。。。。
読み進めると「エラーが出たらこっちをやってね❤️」と記載があります。
1. pipのアップグレード
>sudo easy_install --upgrade pip
>sudo easy_install --upgrade six
2.tensorflowのインストール(pip用)
>export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/mac/tensorflow-0.9.0-py2-none-any.whl # 環境変数を設定する
>pip install --upgrade $TF_BINARY_URL
しかし、またエラーが。。。
自己解決しました。
1.tensorflowをアクティブにする
2.上記の処理を再実行
>pip install 。。。。と上記のコマンドを入力
そして起動確認(参考にしたサイトに「Validate Install」と書いている部分に記載あり)
なんか「command not found」と出ていますが、tensorflowが動いているので
とりあえず無視します。→後に戦うことになるでしょう(笑)
どうやら、仮想空間(actibvateした状態)が起動していないと読み込みができない様だ
人工知能 TensolFlowのインストール
以下のサイトを参考にして実行しています。
Installing TensorFlow on Mac OS X | TensorFlow
MacOsXへのインストール方法になります。
①-1ターミナルを立ち上げて以下のコマンドで「pipコマンド」をインストール
※Pythonのインストールです。
>sudo easy_install pip
①-2 virtualenvのインストール
>sudo pip install --upgrade virtualenv
②virtualenvの作成(指定のフォーマットで。。。詳細は分かりませんでした。)
>virtualenv --system-site-packages targetDirectory(対象ディレクトリ)
③virtualenvのアクティベート(activate)
>source 「virtualenvのインストールしたディレクトリ」/bin/activate
もしくは
>source 「virtualenvのインストールしたディレクトリ」/bin/activate.csh
※使用できるもので良い(csh or tcsh)
実行後に以下の様な表示が出ればオッケ⭐︎
自分の実行結果は以下のとおり
もし「pipコマンド」が2.7とか3.??の場合はアップグレードして最新版にしてください
④「(tensol)」が表示されている状況がtensolflowの実行状態
終了するときは、以下のコマンドを実行する
>deactivate
⑤アンインストールはインストールディレクトリを削除する
その他。。。バイナリも(ウィンドウズで言う所の「exeファイル」)あるらしい
詳細は参考元のサイトをご参照されたし(笑)
マインクラフトのインストール for mac
マインクラフトのインストールをやります。
ここのサイトからダウンロードします(無料版) Macでも可能みたい⭐︎
downloads.tomsguide.com
そして、Mincraft Forgeをインストール
一応確認、起動するためにはJavaが必要になります。
現在自分の端末にはJDK1.8が入っています。
javaのダウンロード、及びインストールについては、こちらを参照ください
Java SE ダウンロード 最新版は英語のサイトから落とします(笑)
さらにjavaのバージョン確認を行います。
ターミナルを立ち上げて「java -version」と入力してenter keyを押下
上記の様にバージョンが確認できます。
実際にはJDK1.6(javaSE6)が必要だったので下記のサイトからダウンロードしました。
ダウンロード - Java for OS X 2015-001
次回は、マインクラフトを起動してみます。