Takunojiのプログラミング・プレイグラウンド(遊び場)

Javaプログラミングを基本にして、ゲーム作成に必要なことの調査結果、やったら面白そうなことなどを記載します。プログラミングのススメ的なことも記載します。プログラミングで楽しく遊ぶために色々と記載して行きます。

Dockerのインストール mac

前回はソースを眺めました、その他にTensorFlowの書籍、チュートリアルを読んでみましたが。。。結局何もわからず(笑)
数学の勉強を始める気にはなりませんで。。。

仕方ないので、とりあえずDockerのインストールをします。チュートリアルにも書いてたし。。。まぁTensorFlow & Dockerというところで(笑)
※Dockerを使用した方が簡単に使えるという情報をゲットしたためインストールすることにしました。

Dockerのインストールにはこちらを参照しました。

・Dockerのインストール、下記のサイトよりダウンロード(マックなのでりんごの方)

www.docker.com

f:id:Takunoji:20170505212729p:plain

自宅のネットワークスピードが遅いからなのか、結構時間がかかります。。。
というか、何も反応がないように思ったので手段を変更します。
以下のサイトを参考にします。

docs.docker.com

今回はStableの方をダウンロードします。

f:id:Takunoji:20170505215725p:plain

インストール完了

f:id:Takunoji:20170505215855p:plain

アプリケーション起動、以下の様な画面が出てきます。

f:id:Takunoji:20170505220303p:plain

しばらくすると、上部が緑色に変わります。

f:id:Takunoji:20170505220337p:plain


どうやら、上記の画面が出ている状態が「デーモン」(PCの裏側で動くプロセス)
が起動している状態を示していて「docker info」コマンドで以下の様な表示が行われる
1. ターミナルを起動する
2. docker infoコマンドを入力

f:id:Takunoji:20170505222555p:plain

とりあえずは、Dockerのインストールが完了⭐︎

TensorFlow Pythonに慣れる

前回は、インストールを行いました。その他にグラフィック用のAPIもあるらしい


今回は、pythonからTensorFlowにアクセスして起動します。
一応、macでターミナルを起動して実行しています。
./tensorにTesorFlowをインストールしましたので起動するのは
./bin/activateでした。

Pythonファイルを「test.py」で作成し以下の様に記述しました。

f:id:Takunoji:20170425221915p:plain

使用したエディタは「vi」毎度お馴染みですが一応以下を参照しました。

viエディタの使い方

tensorflowを変数「tf」で使用する様に宣言:1行目
node1を作成 :3行目

node2を作成:4行目

node1, node2をコンソール出力:5行目

テンソルフローのセッションを取得:7行目

node1, node2の配列を実行する → 詳細はよくわかりませんでした。

node1, node2からnode3を作成:10行目

node3を表示:11行目

node3を実行:12行目
【実行結果】

f:id:Takunoji:20170425222705p:plain

 

詳細部分はまるでわからないが、とりあえず座標を出力しているのかな?
詳細だけでなく全くわかりませんでした。

わかったのはtensorflowで「run」「add」をした値を表示すると上の様に出力されるということだけ(笑 )

 

TensolFlow 開発編〜プログラムでテンソルを動かす〜

この記事は以下のサイトを参考にして実行しています。

Getting Started With TensorFlow  |  TensorFlow


前回
の続きです。インストールしたTensolFlowを起動するところから始めます。
以下のコマンドを叩きます。
>source 「virtualenvのインストールしたディレクトリ」/bin/activate

f:id:Takunoji:20170423204130p:plain

くどい様ですが、「(tensol)」が表示されていることを確認します。

そして、今気がつきましたが、インストールは完了していませんで。。。。
以下の処理を行います。
pythonのtensorflowをインストールする

>pip install tensorflow

f:id:Takunoji:20170423213005p:plain

エラー文言が出ましたが、とりあえず無視(pipのバージョンは新しいため)f:id:Takunoji:20170423213253p:plain

これもエラーが出力されました。。。。
読み進めると「エラーが出たらこっちをやってね❤️」と記載があります。

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」と書いている部分に記載あり)

f:id:Takunoji:20170423221106p:plain

なんか「command not found」と出ていますが、tensorflowが動いているので
とりあえず無視します。→後に戦うことになるでしょう(笑)

どうやら、仮想空間(actibvateした状態)が起動していないと読み込みができない様だ

 

 

人工知能 TensolFlowのインストール

以下のサイトを参考にして実行しています。

Installing TensorFlow on Mac OS X  |  TensorFlow

MacOsXへのインストール方法になります。
①-1ターミナルを立ち上げて以下のコマンドで「pipコマンド」をインストール
Pythonのインストールです。
>sudo easy_install pipf:id:Takunoji:20170422214940p:plain

①-2 virtualenvのインストール
>
sudo pip install --upgrade virtualenv

f:id:Takunoji:20170422215021p:plain

 

②virtualenvの作成(指定のフォーマットで。。。詳細は分かりませんでした。)
>virtualenv --system-site-packages targetDirectory(対象ディレクトリ)

f:id:Takunoji:20170422215050p:plain

③virtualenvのアクティベート(activate)

>source 「virtualenvのインストールしたディレクトリ」/bin/activate
もしくは
>source 「virtualenvのインストールしたディレクトリ」/bin/activate.csh
※使用できるもので良い(csh or tcsh)
実行後に以下の様な表示が出ればオッケ⭐︎

f:id:Takunoji:20170422220632p:plain

自分の実行結果は以下のとおり

f:id:Takunoji:20170422220601p:plain

f:id:Takunoji:20170422215951p:plain

もし「pipコマンド」が2.7とか3.??の場合はアップグレードして最新版にしてください


④「(tensol)」が表示されている状況がtensolflowの実行状態
終了するときは、以下のコマンドを実行する
>deactivate

⑤アンインストールはインストールディレクトリを削除する

その他。。。バイナリも(ウィンドウズで言う所の「exeファイル」)あるらしい
詳細は参考元のサイトをご参照されたし(笑)

Macでマインクラフトを起動する 

前回、ダウンロードしてきたマインクラフト(マイクラ)を起動してみます。

f:id:Takunoji:20170416105229p:plainこの様なアイコンがアプリケーションフォルダにありました。

クリックすると....こんな感じで起動処理が走ります。

f:id:Takunoji:20170416105425p:plain

そして、ログイン画面が開きます。

f:id:Takunoji:20170416112147p:plain

ここからログイン時のアカウントの作成が必要になるのですが。。。
Minecraftサーバーを立てるのにもアカウントの作成が必要なのだろうか?
フリーで提供するときは大体ユーザー登録などを要求するものですが(ユーザーを増やすといいことがあるからです)
ここは深く考えずに行くか?ちょいと調査してから判断しよう⭐︎

マインクラフトのインストール for mac

マインクラフトのインストールをやります。
ここのサイトからダウンロードします(無料版) Macでも可能みたい⭐︎

download.cnet.com


downloads.tomsguide.com

そして、Mincraft Forgeをインストール

files.minecraftforge.net

 

一応確認、起動するためにはJavaが必要になります。
現在自分の端末にはJDK1.8が入っています。

javaのダウンロード、及びインストールについては、こちらを参照ください

Java SE ダウンロード 最新版は英語のサイトから落とします(笑)

さらにjavaのバージョン確認を行います。

ターミナルを立ち上げて「java -version」と入力してenter keyを押下

f:id:Takunoji:20170415234310p:plain

上記の様にバージョンが確認できます。

実際にはJDK1.6(javaSE6)が必要だったので下記のサイトからダウンロードしました。

ダウンロード - Java for OS X 2015-001


次回は、マインクラフトを起動してみます。

UML クラス図を作る

前回はステートマシン図を作成したので今回はクラス図を作成します。
※astah*を使用して作成しています。

アプリケーションとしては、ファイル読込→動画の表示とシンプルなものなので
クラス図もシンプルです。(悲)

f:id:Takunoji:20170408110241p:plain

メインクラスにメインメソッド(今回は省略しました。)Qtを使用して作成する予定なのですが「どの言語でも作成できる様に設計する」ためにQtの部品などは記載しておりません。。。
そして、String, Listを使用するので<<include>>を上部に記載しております。

【キモになる部分】
MainClassより関連線が伸びております。これは、MainClassで関連先のクラスを保持
Java的に表現するなら「フィールド」、C++的に表現するなら「メンバ変数」(Javaでもその様に呼びますが。。。)

共通部品に関して、使用するフレームワーク、ライブラリ部品があるので記載はしませんが、ノート(青だか、紫だかわかりませんが(笑))で触れておきました。

UML ステートマシン図を書く

前回はオブジェクト配置図を書きましたので、今回はステートマシン図を書きました。
ズバリ、処理フロー図です(笑) 「状態マシン」とかいろんな言い方が書籍でありましたが、まとめると上記の様に解釈しました。

やっぱりこれも技術なので、「習うより慣れろ」の世界だと思います
細かい部分は調べればすぐにわかると思いますのでサンプルとして...

f:id:Takunoji:20170407230800p:plain

はじめに開始状態「●」が来るのですが、アプリケーションの起動=ラズパイの起動
を想定しているため開始状態にスイッチオン状態を記載しております。
起動トリガーが走り、設定ファイル読込。。。と処理が走ります。
図だけではビミョウ。。。とか感じたら「ノート」を使用します。(ピンク色)

割と詳細に近づいてきたかな?といった感じです。処理概要としては見やすいと思いました。

astah* community UML作成

前回は、astah*のダウンロードまでやりましたので、今回は作図を行おうと思います。
感想としては、オープンソースとして。。。を抜きにしても使いやすいと思います。

今回作成したのはラズパイにデプロイして画面をディスプレイに表示するアプリの設計を行いました。

線を引く、ノートを書く、クラス図(オブジェクト)を書くなどが直感的にわかるUIでした。
マウスを乗っけてやると名前が表示されるのが素晴らしい☆

f:id:Takunoji:20170406220024p:plain

苦労的なものはなく、難なく以下の様なオブジェクト図を作成できました。

f:id:Takunoji:20170406220126p:plain

1.ラズパイに画面を起動するアプリケーションを配置
2.設定を読み込みアクセスするサーバー(ローカルフォルダ)の動画ファイルを表示する

という様なシンプルなアプリケーションの設計になります。
オブジェクトの配置図なので詳細部分がわからないと思います。

 

次回は、ステートマシン図を作成したいと思います。

takunoji.hatenablog.com

設計ツール astah* インストール

for  Mac

eclipse UML DesingnerでのUML作成にてシーケンス図が書けなかったので「astah*」を

インストールしてやり直そうと考えております。

ダウンロードは左記のサイト

Login | ChangeVision Members

結局のところ、ユーザー登録が必要です。
ダウンロードするのは astah_communityになる、迷ったが無料と書いてありました。
mac版、windows版、Linux版までありました。
今回はmac版のインストールを行いました。

f:id:Takunoji:20170403215029p:plain

 

UMLを使う

UMLは、プログラム設計を一定のルールをもってみんなにわかる様にしたものです。

早い話が、みんなにわかるプログラム設計が出来るという事です。

ちょいと言いかたを変えると

考えを絵にできる

という事が出来るという事です。

どーゆー事ですか?って質問に答えるとプログラム設計、もしくはプログラム作成では、「何を」「どーして」「何をするのか」を導き出す事に終始します。

それを絵にするという事は…

という事です。これを出来る様になると生きていくのが少し楽になりました。

是非是非、理解して使える様な人が増えたら良いな…と思う次第です。

しかしながら、提案書とか企画書はUMLで書く事は出来ないのが残念です。分類としてはプログラミング言語と同じなので…

 

でわでわ。。。