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

日々の独り言とちょっとした発信

初心者による初心者の為の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による時系列データ処理~

 

 

 

呟き。

 

奈良先端科学技術大学院大学のオープンキャンパスに行ってきた話。

どうもこんにちは。たっきーです。
5/13(土)に開催された奈良先端科学技術大学院大学オープンキャンパスに行って刺激を受けてきたのでそのことについて書きます。
以下、個人的な見解と偏見。情報は執筆時点でのもの。

奈良先端科学技術大学院大学とは

奈良先端科学技術大学院大学

f:id:tacky0612:20170517003712j:plain


英語名はNara Institute of Science and Technology。略してNAIST
国立大学法人である。

特徴としては、
・学部がなく大学院のみある大学
情報科学研究科・バイオサイエンス研究科・物質創成科学研究科から成る理THE系。
・学生数に対して教員の数が多い。

今回僕が見学してきたのは情報科学研究科である。

f:id:tacky0612:20170517003738j:plain

www.naist.jp

いいと思った点

・やりたい研究に没頭できる。

田舎に立地してある。故に周りに誘惑するものがない。故に研究に没頭できる。Let's ラボ畜。

 

・いろんな大学や高専出身の人がいる。

割合としてはやはり近畿圏の学生が多いが、いろんな地方から学生がやってくる。留学生も多い。しかし理系ということもあって女子学生が少ない。なんなら留学生のほうが女子学生よりも多いぐらい。
あと、文系出身や他学部出身の人も多いみたいで色んな視点から研究へアプローチをかけられるチームが形成されるってのは良いことなんじゃないかな。

 

・学部生がいないので一人あたりのスペースが広い。

結構広いなと思った。しかも生徒数が1000人ほどなので学生一人あたりのスペースが広い。

www.naist.jp

 

・校舎が綺麗

めっちょ綺麗だった。建物内も明るくて清潔感があり、トイレも綺麗だった。
そして各階エレベータ前には謎の円弧型の壁(柱?)がある。

 

・潤沢な研究機材。

いろんな研究機関とかと連携してたり、研究成果のライセンス料やらでめちゃめちゃお金あるみたい。

www.naist.jp

 

・国立大学なので学費が安い。

入学料282,000円、授業料年額535,800円と国立大学のスタンダードな値段。
私立に比べてとてもお安い。

 


悪いと思った点

・田舎である。

山の中に大学があるとは前々から聞いていたが、田舎である。
ちょっと何処かに買い物しに行きたいってなると足がないとちょっとつらいかも。
最寄り駅まで徒歩20分という。高校生時代を思い出す。
研究環境は素晴らしいのに生活環境はシティボーイには悪い。
ちなみに大阪難波まで電車で1時間ほどで行ける…。
でも、田舎生まれ田舎育ちの僕からしたら都会は窮屈なのであまりマイナス点ではない。

知名度が低い。

NAIST、もとい奈良先端科学技術大学院大学。名前の雰囲気としてはF欄っぽい名前である。知名度が低くネームバリューは弱い。僕の友達で、奈良に住んでいてNAISTからも車で20分圏内に住んでいる大学生ですら認知していなかった。そもそも大学院しかないのでその分、知名度が低い。
ただ、情報系の分野において知名度は高いような気がします。僕の研究室の先生も評価していて、ニューラルネットの論文とか読んでるとたまーに名前を見かける。

 

・学生宿舎がボロい。

外見的には綺麗だけど、いざ門をくぐり抜けるとボロい。壁とか黒ずんでる箇所がちらほら。潔癖症ではないが、生活の拠点が綺麗でないのはあまりいただけない。あと、トイレと風呂がフロアで共用である。
あと、とても狭い。13m^2しかない。
しかし、家賃は光熱費込で1万ととても安いらしい。

www.naist.jp

 

・課外活動が少ない。

課外活動が少ない。(公式の課外活動が少ないだけで有志でやってる団体もいるかも…?)
まぁ院生だけだしそんな課外活動に従事する暇ないか。

www.naist.jp

 

 

気になった研究を3つ

全部の研究を見てきたわけではないが、個人的に気になった、印象的だった研究について書く。多くを語りすぎると間違いを言ってしまう気しかしないので簡潔に。


・多重高周波照明による半透明物体内部のスライス可視化

文献が転がってたので貼っておきます↓

http://omilab.naist.jp/~mukaigawa/papers/CVIM2015-MFI.pdf

私達が絵画を見る時は完成した形の絵しか見れないが、この手法ではカメラとか光の反射とかの特性をうまく利用して下書きまで見ることができるという研究。デモをしていただいたがすごかった(語彙)
あと、この光メディアインターフェース研究室、めっちゃおしゃんだった。カメラもレンヅもいっぱい転がってあった。よき。


・カメラ画像から制御則を学習する新しい深層強化学習アルゴリズムを開発

産業用双腕ロボットのNextageってのを使って布をうまくひっくり返すという研究。地味だけどすごい。
ランダムに布をロボットが動かし、そのパターンを機械学習にぶちこみ学習させ、どう動かせば最小の動作で布をひっくり返せるかを人工知能が判断する。
ちなみにロボットアームからのフィードバックを得て制御しているわけではなく、センシングはカメラのみらしい。すごいぞ知能システム制御研究室。


・Visuo-Hapticシステム

 

imd.naist.jp


いわゆるMRってやつ、HMDをかけると対象物が見れ天井からぶら下がったスティックでCGに触れると触った感覚がリアルに伝わってくるというやつ。
視覚的情報だけでなく、触覚的情報も支配されてる感じがあった。一般家庭とかでも扱える形まで持っていけるとゲームとかすごく面白くなりそう。

 

 

感想

第一印象としては”校舎がとても綺麗”。
めちゃ綺麗だった。あと広いし明るいしおしゃん。
建物の階段の色だが、情報科学研究科が赤、
ところで大学のオープンキャンパスっていっぱいあるけどさ、大学院のオープンキャンパスってすくないよな…。
僕は高校生の時に大阪大学名古屋工業大学三重大学オープンキャンパスに遊びに行ったことあるけど、他人の研究とか見ててすごい刺激的だし大学院志望の学生に向けてのオープンキャンパスをもっと開いてほしいなと感じました。
ここで受けた刺激を燃料に僕も研究頑張ります。

 


面白いなと思ったNAIST紹介↓

anond.hatelabo.jp

 

 

悪ノリでOC後に大阪寄ってきました

 

MacBookProのユーザー名とホームディレクトリの名前を変更したら文鎮になったって話。(回復した。)

こんにちは、たっきーです。

今回、タイトルの通り、MacBook Proのホームディレクトリの名前を変更して再起動したらデスクトップまでたどり着けなくなったって話。…とそれを復旧させたって話。

ブログに起こすつもりはなかったのでスクリーンショットなど全然撮れてないの申し訳ない…。

 

最初に

これは完全に素人のやり方です。真似される際は自己責任でおねがいします。

あと、もっとこうしたらいいよーとかアドバイスが有りましたらコメントやTwitterなどでお知らせください。

 

そもそもなんでユーザー名とホームディレクトリの名前を変更しようとした?

これからブログを書いていくにあたって、ターミナルのスクリーンショットを撮る機会が増えるなって思った。

しかし、ターミナルにはデフォルトでホスト名:現在のディレクトリ(起動時にはホームディレクトリ)、ユーザー名を表示するようになっている。

デフォルトのターミナル

f:id:tacky0612:20170426014903p:plain

ホスト名:現在のディレクトリ(起動時にはホームディレクトリ)、ユーザー名 $

って並びですね。

ホスト名とユーザ名とホームディレクトリ名が僕の本名だったので変更したいなと思った。

 

ユーザー名とホームディレクトリ名の変更

参考にしたサイト

support.apple.com

ogre.mx

まんまこの通りにやった。(つもり。)  

 

ホームディレクトリの名前の変更をミスる

や っ て し ま っ た

 

ここにきて凡ミス。

ホームディレクトリの名前とユーザーの設定で付けたホームディレクトリの名前が違うように名付けてしまった。

 

f:id:tacky0612:20170428200016p:plain

普通はSSD>ユーザのフォルダの中にこのアイコンのフォルダが格納されている。それがホームディレクトリ。

f:id:tacky0612:20170428200427p:plain

家マークの名前とこの赤枠の名前が一致していないとユーザーとしてログインすることができない。

OSはユーザーとしてログインするときにホームディレクトリを見て起動するので、もちろんそのパスが通ってないと起動できなくなる。

 

20万円の文鎮が完成

20万円が文鎮になった。

f:id:tacky0612:20170428210812j:plain

仕方ないのでカップ焼きそばの蓋が開いてこない用の漬物石として使った。

なんだかすごい意識が高い味がした。

 

新規パーティションの作成

幸い、空き容量が100GBほど残っていた。

その空き容量を臨時的にOS入れるパーティションを作成しよう。

 

電源を切る→電源ボタンを押す→「⌘コマンドキー+R」 でリカバリーモードで起動できる。

ここでSSDパーティションやらの変更とかもできるのでこっから新規からのパーティションを作成。スクショはない。(ないです。)

 

賢い人はTimeMachineで定期的にバックアップを取っておこう。

 

OSの再インストール

新しく作成した空のパーティションにOSをインストール

インターネット経由でOSをダウンロードするので要ネット環境。

f:id:tacky0612:20170428210840j:plain

最初から残り6分って表示されてるのに実際は1時間ぐらいかかった。

 

データをポータブルHDDに避難

新しくインストールしたOSから SSD>ユーザ>前のホームディレクトリ って手順で前に残っていたデータにアクセスすることができる。

 

こ↑こ↓

f:id:tacky0612:20170428201813p:plain

これらのデータをポータブルHDDに避難させる。

100GBちょいあったので5時間ぐらいかかった。(USB2.0接続での転送)

 

OSのクリーンインストール

参考にしたサイト

wayohoo.com

HDDにデータは避難させれたので怖いものはないお。

 

またリカバリーモードに入ってSSDをまっさらな状態にもどして、OSをインストールする。

最後に避難させたデータを再び入れてあげたりAppStoreで色々入れ直すと復活。

 

最後に

回復してよかった。

なんだかんだこの作業だけで一日が終わっていきました。

最悪、名古屋栄のGenius Barに行こうとか思ってたので、自力で救出できてよかった。

名古屋栄のAppleStoreまで片道1000円ちょっとかかるので…。

あとは、バックアップをとっておくことの重要性をむっちょ感じました。反省。

 

 

 

 

 

 

Mac Fan Special MacBook完全ガイド

Mac Fan Special MacBook完全ガイド

 

 

 

 

 

スポンサードリンク