読者です 読者をやめる 読者になる 読者になる

The sky is the limit

ハイブリッドアプリ開発、人工知能(機械学習など)に関する備忘録 たまに宇宙のことも語る【AngularJS、Monaca、Cordova、OnsenUI】

【TensorFlow】TensorFlowを通してDeep Learningを学ぶ①【人工知能】

【TensorFlow】TensorFlowを通してDeep Learningを学ぶ【人工知能

f:id:duo-taro100:20160218004611p:plain

最近仕事が忙しく、ハイブリッドアプリを含めた記事の更新ができていない。
3月末には余裕が出てくると思うので、まとめて更新していく予定。

ハイブリッドアプリと並行して、TensorFlowの勉強もしていく。
今回はTensorFlowの導入だけ。

公式サイト
https://www.tensorflow.org/install/

ここを見れば説明はいらないと思うけど。
僕はMacOS
Macの人はここ
https://www.tensorflow.org/versions/master/get_started/os_setup

インストールの手順
■pip のインストール
■Virtualenv のインストール
■Virtualenv 環境の作成
■上記環境のアクティブ化
■TensorFlowのインストール

Mac以外ではやっていないので、Windowsでは手順が異なるかも?
Windowsは時間のあるときにやって追記予定(当分やらない)


TensorFlowのインストールまでできたとして話を進める。
まずはTensorFlowでHello, World!まで。
こちらを参考に
http://dev.classmethod.jp/machine-learning/tensorflow-hello-world/


Virtualenv 環境の作成で新たにディレクトリを作成したと思うが(僕の環境ではtensorflowというディレクトリを作成)、そのディレクトリ上で、テスト用のディレクトリを作成。

f:id:duo-taro100:20170315003021p:plain

今回はtestというディレクトリを作成した。
ここに適当なファイルを作って、Hello, World!を出力するためのコードを書いていく。

import tensorflow as tf
import multiprocessing as mp

num = mp.cpu_count()
con = tf.ConfigProto(inter_op_parallelism_threads=num,intra_op_parallelism_threads=num)
session = tf.Session(config=con)
hello = tf.constant('hello, world!')
print session.run(hello)

これでHello, World!と表示されるはず。
まずは、正しくTensorFlowがインストールできているかを確認するだけでもいいのでは。

次回以降で、上記の内容を説明します。

【AWS】EC2 を利用した仮想マシンの起動【チュートリアル】

AWS】EC2 を利用した仮想マシンの起動【チュートリアル

f:id:duo-taro100:20160218004611p:plain

ここからAWSチュートリアルをやって、興味のある分野では有料の内容についても、やっていく。

できれば人工知能。有料ぽいけど。。。

【OnsenUI ver.2】動的なリスト(ng-repeat)を作成して、詳細画面へ値を渡す【AngularJS】

【OnsenUI】動的なリストを作成して、詳細画面へ値やオブジェクトを渡す【AngularJS】

f:id:duo-taro100:20160218004611p:plain


【OnsenUI】動的なリストを作成して、詳細画面へ値やオブジェクトを渡す【AngularJS】

以前こんな記事を書いて、そのまま放置していた。

it-innovation.hatenablog.com

今回は、実装の本題に入る。

今回使うのはOnsenUIのnavigatorを使って、画面遷移とデータの受け渡しを行う。
OnsenUIのversionによって実装方法が異なるので、その辺りも詳しく。今回はOnsenUI ver.2での実装について。

■navigatorの定義

<ons-navigator var="myNavigator" page="list.html">
</ons-navigator>

■listの作成(ng-repeat)

<ons-list>
<ons-list-item ng-repeat="account in ctrl.accounts"
        ng-click="myNavigator.pushPage('accountDetail.html', {data: {account: account,index: $index}} )">
<span class="accountName">{{account.accountName}}{{account.amount | number}}円pushPage(遷移先ページ, {data : { 変数1: 値1 , 変数2: 値2} } )のようにすれば、遷移先の画面で変数1,変数2が使用できる。

ng-click="myNavigator.pushPage('accountDetail.html', {data: {account: account,index: $index}} )"

ここでは、ng-repeat="account in ctrl.accounts" で定義しているaccountとループ回数を表す$indexをaccountDetail.htmlに渡すことができる。

■遷移先ページでの記述

遷移先の画面では以下のように書くことで、データを使える。

myNavigator.topPage.data. 変数

topPageは現在のページ情報を取得する。
dataはpushPageで定義したdata: {account: account,index: $index}のこと。

例えば、accountオブジェクトにaccountNameやamountというプロパティがある場合は、以下のように書けばいい。

<p>口座名:{{myNavigator.topPage.data.account.accountName}}</p>
<p>貯蓄額:{{myNavigator.topPage.data.account.amount | number}}円</p>

こんな感じ。結構簡単。
OnsenUI ver.1ではpushPageでにoptionsの書き方や、遷移先画面での呼び出し方が違う。
それは次回。