活動報告No.137 Windows10 にTensorflow(GPU版)を入れるまで
カテゴリ: 未分類
どうもおはこんばんにちは、ロボットユーザの大半を置き去りにしていくのを省みないでシステム系のブログばかり書いている2年のマエダです。

某氏が「最近ヒュー研らしいロボットわちゃわちゃのブログ見ないなあ」とつぶやかれておられたようなのですが、なに、気にすることはない。システム系のことのほうがネタあるんだもん。

tensorflow.jpg

さてさてタイトルだけで本記事が何しようかわかっている人はほとんどおらんと見た。というわけでザっと概要説明します。

Tensorflow(テンソルフロー)は、簡単に言うとAIを効率的につくるためのソフトウェアのことです。AIと聞くと何を思い出しますかね、最近ではGoogleのつくった AlphaGo が世界トップクラスの囲碁棋士を軒並み打破していますね。あれは全ての手を片っ端から走査して最適解を求めているのではなく、機械が今まで経験して得た技能により最適らしい解を打っているのです。

人間で頭の要領がいい人とそうでない人がいて、それはもはや教育でどうこうなるようなものではあまりないですが、機械は教育次第で要領がよくなったり、逆にバカにだってなれちゃいます。Tensorflowはそんな機械を賢くする道具なのです。

本記事ではWindows10とかいう環境にTensorflowを使えるところまでを紹介します。

ネット上で「Tensorflow」て調べると「Tensorflowを使ってみた」みたいな記事が多く、導入まではめっちゃ簡素な記事が多いので、本記事が導入の参考になればと思います。順番があって結構面倒。

そんじゃやっていきましょう。



必要な環境

OS:Windows10 (←S以外で)
CPU:それなりのモノ
GPU:NVIDIA製で、Compute Capability (*1) が3.0以上のモノ
メモリ:8 GBは欲しい

(*1)
Compute Capabilityに関しては以下のURLよりご覧になれます。こいつが具体的に何なのかはプログラムというかシステム系の勉強している人以外に話しても簡潔に収まらないのでスルー。

Compute Capabilityのチェック:
https://developer.nvidia.com/cuda-gpus


当方の環境

各操作の例として画像を添付するので、参照までに。

OS:Windows 10 Education
CPU:それなりのモノ
GPU:Quadoro M4000 (Compute Capability 5.2)
メモリ:多め



以下は全体の流れです。順番通りにやらないとファイルが見つからなかったりTensorflowのインストールに失敗したりします。

1、GPUのドライバインストール
2、CUDA (*2) のインストール
3、cuDNN (*3) のインストール
4、Anaconda (*4) のインストール
5、Tensorflowのインストール
6、完成

(*2)
CUDAはGPUでいろいろな演算を並列で処理してもらうための基礎的なソフトです。これによって計算能力をさらに上げることができます。

(*3)
cuDNNはNVIDIAが提供しているDeep Learning (深層学習) 用のライブラリです。本記事で扱うTensorflowやその同類のCaffeやMicrosoft Cognitive Toolkitなどの演算速度を向上してくれます。

(*4)
ここにきてやっとですが、プログラミング言語はPython 3.5を扱います。AnacondaはPython周りの環境をGUIで整えられるソフトです。ぶっちゃけコマンド一発でできるところをコイツだとあーだこーだしなくちゃならないので、コマンドでやりたい人はコマンドでやればいいと思います。私はGUIでやるところとCUIでやるところで分けていますが。



詳細な手順

1、GPUのドライバインストール

以下のURLよりNVIDIAから自分のGPUに合ったドライバをダウンロードしましょう。ダウンロードタイプはODEの選択でOK。ちなみにもうすでに入っている人はこの手順を飛ばしてもらっても構いません。

GPUのドライバ:
http://www.nvidia.co.jp/Download/index.aspx?lang=jp

私の環境では以下のようにして「検索」ボタンを押し、「ダウンロード」しました。

cap01_convert_20170704172901.png

ダウンロードが終わったらインストールして一度PCを再起動です。



2、CUDAのインストール

以下のURLよりNVIDIAからBase Installerをダウンロードしましょう。ダウンロードサイズが1.3 GBと大きめなので、回線が細い環境だと厳しいです。

CUDAのダウンロード:
https://developer.nvidia.com/cuda-downloads

2017/7/2現在ではclick cuda_8.0.61_win10.exeが最新でした。ちゃんと8.0系のCUDAですね。

私の環境では以下のようにして「Download (1.3 GB)」を押しました。

cap02_convert_20170704173112.png

ダウンロードが終わったらインストールして一度PCを再起動です。



3、cuDNNのインストール

以下のURLよりNVIDIAからダウンロードしたい所なのですが、

cuDNNのインストール:
https://developer.nvidia.com/cudnn

cuDNNをダウンロードするには、NVIDIAに開発者として登録せねばなりません。まずはNVIDIA DEVELOPERとヘッダに書いてあるページ(↑のリンクからでもおk)に行って、ヘッダの1番右に「Log in」と書いてあるのでそこ押して登録します。NVIDIA Developerに登録ってなんか音だけ聞くとカッコよいですね//

んで、NVIDIA Developerに登録したら
I Agree To the Terms of the cuDNN Software License Agreement
のチェックボックにチェックを入れて、よくやくcuDNNのダウンロードリストがでてきます。

とここで注意点なのですが、以下の画像のように、

cap03_convert_20170704173122.png

「Download cuDNN v5.1[Jan 20, 2017], for CUDA 8.0」の「cuDNN v5.1 Library for Windows 10」をダウンロードしてください。ここでCUDAのバージョンを前項と合わせてください。

なんか v6.0 ではAnacondaの仮想環境上では対応していないとか何とかでTensorflowが入らなかった気がします。setuptoolsがダメなのかそこら辺は確認取っていないです。サーセン

ダウンロードしたものはZIPファイルなので、そのZIPファイルを解凍します。
展開したやつの中には cuda というフォルダが一つ入っていて、さらにその中に bin, include, lib という三つのフォルダがあると思います。それぞれのファルダの中に入っているファイルを、

ローカルディスク(C:) > Program Files > NVIDIA GPU Computing Toolkit > CUDA > v8.0

の中の該当するフォルダに入れてください。入れ先のフォルダは前項で紹介したCUDAを入れないと出現しないので、必ずCUDAを入れてからこのcuDNNを入れるようにして下さい。


4、Anacondaのインストール

以下のURLよりAnacondaをダウンロードします。

Anacondaのダウンロード:
https://www.continuum.io/downloads

現在の最新版はAnaconda 4.4.0でPython 3.6まで使えますが、Windows版のみTensorflowが対応状態によりPython 3.5でのコーディングしなければなりません。MacとLinuxは最新版の3.6で使えるのにねぇ…。
Windowsは対応機器が安いために世間的に一般的なOSになったかもしれないですが、macOSは根底にあるのがUNIX系なOSなので、UNIXライクなLinuxと同時期に最新版に触れられるのはアドですわ。
お金が無尽蔵にあったらMacほしいなぁ。。あ、ちなみに私はMacBook AirとMac miniを所持しているので立派な林檎信者ですかね(違う)。



5、Tensorflowのインストール

さてようやくここまで来ました。先ほどインストールしたAnacondaにTensorflowをブチ込んでやるぜ^〜↑。

とりあえずAnacondaを起動!。Windows 10だと左下のWindowsマークを左クリックして、出てきた黒ウィンドウの左側のアプリ一覧からAnacondaのフォルダがあるはずです。

そのAnacondaフォルダを開いて、「Anaconda Navigator」というものを起動しましょう。他のはイジらなくていいです、rootで起動しちゃうので。

cap04_convert_20170704173134.png

初回起動時は結構時間かかりますが、コーヒーでも淹れて待ちましょう。

起動すると以下の画面が出てきます。

cap05_convert_20170704173143.png

まず左サイドの「Environments」をクリック!
すると以下のような画面が出てきます。

cap06_convert_20170704173153.png

ここでやる作業は、仮想環境というものを作ったり消したりと、それを整理するところです。

仮想環境ってなんぞ?てなりますよね。

さきほど、本記事ではプログラミング言語のPythonのバージョンは「3.5」でやっていくと言いました。しかし、今後もしかしたらPython 2.7であの作業やりたいなーっていう場面が出てきたとき、いちいちその度に合わんバージョンを削除しては別のバージョンを入れてっていう作業をやっていると非常に非効率なのです。

そこで役立つのが仮想環境。その名の通りですが、任意のフォルダごとに、プログラミング言語やライブラリのバージョンを設定できるのです。こいつは便利!

コマンドでやれば一発なのですが、今回はなるべくコマンドなしでやっていきたいと思います。最後にちょろっと出てくるくらいで。

んで、その仮想環境をつくるために[+]マークのある「Create」ボタンをクリックして、「Environment neme」に仮想環境の名前を入れます(なんでもいいです)。ここでは、「Tensorflow121gpuFC2Blog」という名前でやっていきたいと思います。ネーミングは以下を参照するとよいと思います。

Tensorflow:仮想環境内で使う機械学習ライブラリの名前。
121:今回はTensorflow 1.2.1 でやっていくので、そのバージョンをピリオド無しで。
gpu:TensorflowにはGPU版とCPU版があるので、それを明示的に記述。

ほんで「Python version」は 3.5 を選択!!

私の場合は以下のようになりました。

cap07.png

出来たら右下の「Create」を押しましょう。ここも結構時間かかります。

完了するとrootの下に先ほどの仮想環境が表示されるので、そいつをクリックして選択状態にしてください。すると右側に三角マークがあるので、そこをクリックして、「Open Terminal」を開きましょう。すると黒背景のテンション上がる画面が出てくると思います。

s_cap08.png

さて、この黒い画面にコマンドを打ち込みたいという衝動に駆られないわけもなく、今すぐコマンド打ちたいですよね。

じゃあとりあえず

> pip install --upgrade tensorflow-gpu

と打ち込んで、GPU版のTensorflowをインストールしましょう。(> ←これはTerminalの入力待ち状態のサインです)
一連のインストールが終わったら、最後に

FileNotFoundError: [WinError 2] 指定されたファイルが見つかりません。

などと出てくるかと思います。これは、Tensorflowが想定しているPythonのsetuptoolsのライブラリとpipで入れられたバージョンが異なるために出てきます。ので、

> pip install --upgrade setuptools

と叩いてインストールしましょう。

じゃあこれでTensorflowがPythonで使えるようになったのか確かめてみましょう。

> python

で、数行文字が出てくるので、その中で「Python 3.5.3」などと表示されていれば正常です。
こうするとPythonを実行できる環境に入ります。これを「Pythonの対話的実行環境」といいます。このときはさっきから使っている「>」ではなく、「>>>」で表すとします。

>>> import tensorflow as tf
>>>

このように入力待ちの状態になっていれば、Tensorflowのインストールに成功してます。
ちなみに対話的実行環境を抜けるためには

>>> exit()
>

で抜けられます。
Python 3系の文法知識がなければこの先に進みづらいですし、これ以上記事を伸ばすのも難なので今回はこれで終わりたいと思います。

では、よいTensorflow on Python ライフを!


〜 余談 〜
この余談は時間を空けて書いてあるので、本編と多少被っている事かもしれませんが、今回Windows10に機械学習の環境を整えることに対して意義を申し立てる人がいるかもしれません。
私もWindowsでこういう特殊なことするのは最新バージョンをいじれなかったりそもそもライブラリが対応してくれなかったりで、オススメはしないです。んで、Linuxで開発環境を整えようにしたのですが、、、色々と苦労しましてね。。
Ubuntu16.04LTSとCentOS7ででやろうと思ったのですが、どちらもグラボのドライバインストールでつまづいてできませんでした。
CentOS7には標準でNouveauというグラフィックドライバが入っていて、それ無効化してX Window止めてNVIDIAのドライバをインストールしようとしたら適応されませんでした。なんでやろなぁ。。
Ubuntuに関してはUnity(だったっけかな)という標準のグラフィックドライバが干渉しているとかいないとかで、NVIDIAドライバ入れたらログイン画面が無限ループされました。18.04LTSからはUnityではなくてGNOMEが復活するようなので、そちらが発表されたらまた試してみようと思います。




スポンサーサイト
編集 / 2017.07.03 / コメント: 0 / トラックバック: 0 / PageTop↑
活動報告 No.136 ニソコンに行ってきたぞい!
カテゴリ: 未分類
今週で前期の実験が最後な2年のマエダです。
実験による新規レポートの介入が無くなることで、前期の間に進捗が滞っていた深層学習(CNN)の実装方法開拓にようやく手がつけられそうです。

さて、ちょいと報告が遅くなりましたが先日の6月10日(土)に、東京理科大さん主催のニソコンに行ってまいりました。

今年のニソコンは川崎にある東芝未来科学館という所で開催されました。(東芝ァ…)

nisokonn201701.jpg 

我々ヒュー研は全部で6機体の出場でした(エントリー7機体)。各機体の結果は以下の通りです。バトルは詳細に順位が出たところまでで。
 
 機体名   障害物競走   バトル 
 メビウスK   1分29秒   4位 
 FHR   1分53秒   ーーー 
 墨   30秒   ーーー 
 サツ・マイモ  1分24秒   ーーー 
 テオ   2分54秒   ーーー 
 釣り式   1分51秒   ーーー 

障害物競走では墨の30秒で部内最速、ニソコンでは2位タイの結果でした。バトルは4位のメビウスKが部内トップでした。メビウスKがとてもエネルギッシュでした。

ちなみに私は機体を持っていないので、会場に行って控え室とを行き来していました。遠かったですねー、今年も去年の未来科学館みたいな感じかと思いきや今年はなかなかトリッキーな会場になったものです。まあ会場に行く途中や休憩タイムの際は周りのイベントを見て回って楽しめたので個人的には(足の疲労感を除いて)とても良かったです。
現場にあまりいなかった自分がこうしてブログにて感想を書くのはちょいと厳しいですが、結果だけ見るとニソコン3~4日前に完成したばかりのテオはともかく、全体的に歩行モーションが良いんじゃないかと思いました。小型機体にとってはコースの段差に苦労した者が多いようです。一枚板ならFHRや釣り式はもっと良いタイムが出せたんじゃないかな。10 mm以上足あげないとって言われるかもだけどROBO-ONE本部は多分そこらへん黙認しているし...
バトルについては今年度から部内戦が定期的に行われているので、それを通して徐々に各オペレータの習熟度が上がって行くのではないかと思うので、9月にあるROBO-ONEに期待です。

nisokonn201702.jpg 

私事ではありますが、先日企画書を発表して、ついに自律型機体の製作が本格化することにな...るはずだったのですが、、、発表まで今年の予算の分でサーボを買えばギリ足りるかなと思って発表したのですが、発表当日に1年生が4000番台をガッツリ使う企画書を作っているとSAに言われ、その時点で自分の作りたい自律式機体製作の夢は潰えました。。。この前サーボの配置図見たときはフル2000番台だったのだが...まあしょうがない。
というわけで私は既存の機体にラズパイとカメラを載せて頑張ってあの4HVも使いつつ自律制御できる方法を模索しております。深層学習による機体の分類器はあと2~3週間もあれば作り方だけ確立できそうなので、ラズパイと4HV間の通信が未だにネックです。

だんだん自分の話に入っていきそうなので、そこらへんはまたアタマの中が整理できてから別の機会にブログにするとしましょう。
ほんじゃ待ったの〜( ^ω^)二⊃ブーン

編集 / 2017.06.25 / コメント: 0 / トラックバック: 0 / PageTop↑
活動報告No.135 糸鋸のベルトを換えるのである。
カテゴリ: 未分類
どうもどうもこんにちは
最近新しいことを始めたいと思いましてMMDとやらに手を出しているオダです。
ポーズを1つ1つ作ってつなげることでモーションを作るあたりがロボットのモーション付けと同じ要領でできて楽しいですよ。アカネチャンカワイイヤッター

さて、記事タイトルの通り糸鋸のベルトを換えてみました。
ホントは「役職:監督」の方がやるらしいんですけど私が設計書を書くことに飽きたのと監督がハンターライフに勤しんでいらっしゃるようなので交換しました。しょうがないね

早速手順を紹介する前に今回交換した糸鋸はこちら↓
糸鋸
メーカ:株式会社ユタカ
型式:MC-800

で、古くなったベルト君がこちら↓
古ベルト君
なんかもののはずみでブチィッ!!って切れそうなんですよね...
まずこのベルト君を外します

1.プーリについてるイモネジを六角レンチで外す
6角レンチ、プーリにin
このとき注意したいのはイモネジは1つのプーリにつき2本刺さっているという点。左の白いプーリはベルトで隠れていますが合計4本、しっかり外しましょう。
こちらは外したイモネジ↓左の銀色2つが白のプーリで黒い方は銀色のプーリに刺さってました。
イモネジ君×4
色は違いますが規格は一緒です(多分)

2.プーリを外す
これでプーリを外せるようになったので引っこ抜きます。
普通に軸方向に引っ張ればあっさり抜けるので落っことさないようにしましょう。ちなみに、作業中の事故の原因は人間のちょっとした油断なんかが大半です。
プーリ、外す
3.新しいベルトを着ける
上のプーリを半分くらい差し込んでベルトをひっかけます。
その後、下のプーリにベルトをかけて軸にはめこみ、上下のプーリをちょっとずつ軸に差し込んでいきます。ポイントはどちらかのプーリを一気に差し込むのではなくバランスよく差し込むことと、後述する軸の切り欠きの向きに注意することです。
はめこむ 切り欠きがこちらになります
4.イモネジで締める
さて、切り欠きについてこのプーリは軸の切り欠き部にイモネジを差込み、押し付けることで軸の回転を伝達しています。(下イメージ図参照)
イメージ
そんなわけで軸の向きとプーリの向きが正しくはまっていることが重要です。
今回行った確認方法は...
上の白いプーリ→六角レンチを挿して切り欠きと並行か確認
上プーリ軸確認
下の銀色のプーリ→イモネジの刺さっていた跡が見えるか確認
下プーリ軸確認
で、確認できたら六角レンチでしっかりと締めましょう。なんで確認できるのかについては割愛
5.空回しして動作確認
最後にきちんと動力を伝達しているか確認のため空回しします。
ここで異音や異常振動があれば原因を確認し対処します。今回は何もなかったからヨカッター
ちなみに新しいベルト君はこんなにきれいです↓
新ベルト君
古い方は興味本位で逆向きに握ってみたらミチィッ...!って音がしたのでそっとしておきます
裂けそう
以上でベルトの交換は終わりです。お疲れ様でした。画像多いせいで記事が長いなぁ
そういえばこのブログ書こ~と思って編集画面開いたらなんか仕様が変わってるんですね。
前は、
 記入欄
ーーーーーー
 プレビュー
みたいなレイアウトだった気がするのに今や直接記事をいじくる感じでやり易いような気がします。(慣れれば)
あとは1年生の企画書がそろそろ完成する予定とのことなので楽しみですね。今年はバトル向けの機体ではなくパフォーマンス主体のマスコットロボがメインらしいので企画内容も楽しいものになるでしょう。

じゃあ次回をお楽しみに(´_ゝ`)


編集 / 2017.06.23 / コメント: 0 / トラックバック: 0 / PageTop↑
活動報告No.134 今日はオーキャンで展示やってます。
カテゴリ: 未分類
おはようございます。三年タカハシです。
昨日のうちに更新するつもりでしたが、あれこれやっているうちに寝てしまいました。

最近は風邪がはやっているので皆さんも気を付けてください。私も今週は38.8℃の熱&リバース祭りで大学を丸二日休みレポートも出していません(泣)サクッと遅れを取り戻せにゃなりませんな。。。。まぁ中間シーズンが終わったのでどうにかなるでしょう?

表題の通り今日はオープンキャンパスでヒュー研の紹介します。興味ある高校生は芝浦工業大学にいくといいんじゃ......見学にきてみてはいかがでしょうか。陸の孤島やモンゴルと呼ばれし所以がわかりますよ(笑)

先週スラロームつけたい。といってましたがスラロームつきました。ニソコンのおかげです。大会という期限はやはり効果抜群ですわ。

動画貼っておきます。この角度だとわかりにくいですがちゃんと足裏上がってますからね(強い口調で)。やっぱり二足歩行ロボットは前歩行(足裏の上がった)ですわ。まぁ逆に現状横移動が秒速5mmなんだけど(笑)
※動画に縞々が入るのは未だにXperiaZ1なんて使ってるからです。


スラローム歩行の付け方的なことは書くことが何もなかったらblogに書きますかな。
そろそろ支度して大学いきますね。じゃぁの。
編集 / 2017.06.17 / コメント: 0 / トラックバック: 0 / PageTop↑
活動報告No.133 スラロームつけたい。
カテゴリ: 未分類
疲れました3年タカハシです。

レポートとかインターンとか院進とか中間考査とかTOEICとか。。。。うあぁぁぁ

まぁぶっちゃけ自分の時間の使い方が雑なだけですね。できるだけ忙しいとか疲れたとかそういった単語をいって自分の未熟さを露呈したくはないものです。

さて、来週はみんな大好きニソコンが控えているので今日は部員がMHなどやらず機体関連の作業をしてました。

私も数か月振りにモーション付けをしています。ニソコンではアスリートがあるのでそれを頑張りたいなと。従来はホームポジション(アイドリング)を脚をやや開いた状態にしていましたがこれだとステップが遅れるので足を閉じたホームに変えてます。目標はニソコンまでにスラロームをつけることです(脚ヨー軸あるので)が果たして間に合うのやら、、、

最近ヒュー研blogと言っておきながら、まともに二足歩行ロボットのが載ってないので自分の機体をさらして終わりとします。

S_6179900538868.jpg 

べっ別に動画の貼り方がわかんなかったから画像になったわけじゃないんだからね///


ps.ロボ研として参加するトレーサーもすすめなくちゃ。。。。。(反省)
編集 / 2017.06.02 / コメント: 0 / トラックバック: 0 / PageTop↑
プロフィール

ヒュー研の中の人

Author:ヒュー研の人
このブログは東京電機大学理工学部ヒューマノイド研究部の公式ブログです。2012年から部に昇格しました!
その日の活動や大会の記録をできるだけ更新していきたいです!!

☆だいたい金曜日前後に更新します☆

FC2カウンター
カレンダー
06 | 2017/07 | 08
- - - - - - 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 - - - - -
リンク
ブロとも申請フォーム
携帯でみるには↓
QR