活動報告 No.141 KONDO BATTLEに参加しました
カテゴリ: 未分類
みなさん初めまして。2年のオマタです。
前回のイトウ君に続き、いつもブログを書いているマエダ君に代わって書くことになりました。

さて本題ですが、先日行われた第23回KONDO BATTLEに参加してきました。会場は今回も立川のKOTOBUKIYAホールです。2月のKONDO BATTLEからKOTOBUKIYAが協賛して、フレームアームズの宣伝やコラボ等を行っています。大会の後に下の階にある店舗をウロウロできるので、個人的には今後もここでやってほしいですね。

我がヒュー研からは3機体が学生選抜クラスに出場しました。


◆プロテウス
IMG_0137.jpg 
部長の機体。理科大のニソコンでは、かのクロムキット相手に善戦を繰り広げました。ROBO-ONEの規定を満たすため、約400gの減量を敢行。光る目のあるかわいらしい顔もつきました。実は胴体にモジュールを追加できるスペースが設けられており、将来性もばっちり。


◆メビウスK
IMG_0138.jpg 
前回のROBOT JAPANから活躍している2kg級機体。大会が終わるたびに進化を続け、ニソコンではベスト4入りを果たしました。学生選抜クラスはROBO-ONE規定に則った3kg級機体が大半なため、重量的なハンデを背負いながらの戦いですが、モビリティの高さを武器に頑張ります。


◆テオ
DH0DwOwVoAAkffm.jpg 
次期部長の機体。プロテウスと共に、前回のニソコンで大会デビューしたニューフェイス。脚がシングルリンクで、平行リンクの機体ではできない多彩な動きができますが、その分モーション付けには苦労するようです。今後モーションの練度が上がればさらにいい動きになりそう。


●大会当日
DIIgr_yU0AApeUf.jpg 
「まあ今日はKXRクラス、当日ですけどもぉ~
参加者は誰一人、いませんでした…
誰一人来ることなかったですぅ。残念ながら。はい。」

じつはこの大会、近藤科学の新作ロボットKXRの部門も新設されていたのですが、なんとエントリー機体はゼロでした。六足で歩くKXRの操縦は結構面白かったのに残念。

オープンクラスはというと、関西からあのキング・プ二が現れ無双していましたね。ROBO-ONE Conferenceで講演してくださったときにも感じたことなのですが、あの勝利にとことん貪欲な姿勢が、大会で連勝できる秘訣なのかもしれません。


●大会を終えて
今回の反省会で反省点として挙げられたのは、「ヒュー研でひとつの機体を引き継ぎながらやっていったほうが、大会で結果を残せるのではないか。」ということ。現に他大学の皆さんはほとんどこの方式で、先代から機体を引き継ぎ、それを部として改修していくことで今の姿になっています。数人のグループないし個人で各々機体を作っている学生団体は我々くらいなのではないでしょうか。

「個人プレイの限界を感じた」と部長。
社会人の方と比較して我々学生が有利な点はふたつあると思います。ひとつは「膨大な時間があること」、もうひとつは「(先代を含め)チームプレイができること」です。せっかく部活としてやっているのだから、部員皆で協力してひとつの機体を作るのも手だと思うんです。まあチームプレイはチームプレイでいざこざが起きてしまうのですが…


そういえば、今冬のROBO-ONEは東京開催みたいですね。チームプレイの話も頭に入れながら、冬に向けてヒュー研活動していこう。
(今月のROBO-ONEは?聞かないでください…)




編集 / 2017.09.08 / コメント: 0 / トラックバック: 0 / PageTop↑
活動報告 No.140 合宿に行きました2017
カテゴリ: 未分類
初めまして!2年生のイトウです(=゚ω゚)ノ
今回はブログ担当者さんに代わって幹事がお送りします!
初めてのことですが頑張ります

今年の合宿はなんと! 長瀞オートキャンプ場に行ってきました!
去年は川に入るころには寒かったですが、今年はとても暑くみんな涼しそうでした
IMG_0642.jpg





そしてBBQ!
IMG_0662.jpg




あちら側のミスで野菜が多く(お肉が少ないわけではない)
野菜の方が印象深かったです(-∀-)
火おこしたり(僕は対してやってない)と大変ですがBBQはやっぱりおいしいですね!



夜には花火!
IMG_0673.jpg


あんまり写真撮れてないですね…(イトウは残飯処理してました)



このあとバンガローで人狼したりトランプしたり本来の目的である1年生と2年生の交流がよくできたかなと思います。
いろいろ遊びの用意してくれた次長さんのおかげですねヽ(´∀`)ノ


翌朝の集合写真!
IMG_0675.jpg



うん!去年よりいい笑顔!

何の問題もなく無事に終えてよかったです。
みんなのおかげで楽しい合宿になりました(´∀`*)
この合宿がみんなの夏の思い出の1つになればいいな

1年生はこれから秋に向けて文化祭準備とかあるけど頑張ろう!





編集 / 2017.08.29 / コメント: 0 / トラックバック: 0 / PageTop↑
活動報告No.139 夏休まない
カテゴリ: 未分類
土日はオープンキャンパス展示、月曜はインターンシップへ参加していた三年タカハシです。

8/8(土)~8/9(日)はMaker Faire Tokyo 2017がありましたがオーキャンとかぶってしまい二年連続行けませんでした(去年はブラジルへの準備で)。ヒュー研も二足にこだわらずこういったモノ作り系のイベントに出てもいいのではないかと思います。

さてブログのほうですが最近のブログを確認したところしっかりと後輩が更新してくれていました。まぁネタがややソフトよりなので私やODA部長がハードネタを入れるとバランスがいいのかな(笑)

とは言っても自分も半年間、機体は改修してないので夏休み中ないし今後に改修すべき点を今回は列挙していきたいと思います。

Image_b3c5316.jpg 
※いい加減見飽きたと思うのでフロント部分を開けてみました。受信機はピンの向きを改造してます。

まずこの機体のコンセプトですが「操作性特化」です。バトルのことは一切考えてません。このようなコンセプトを設定したのは第29回のROBO-ONEでの台湾勢のロボットの動作の安定性に感銘を受けたからです。ヒュー研は機体製作のノウハウこそ蓄積してきましたが歩行に関するノウハウは浅くきっちりとした歩行ができる機体ができてきたのもここ最近かと思います。そこで操作性すなわち動作の安定性と多様性に取り組むことにしました。

ここからはハードウェアとソフトウェアに分けて工夫した点や今後回収すべき点を書いていきます。

長々適当に書いたので要約を読むことをお勧めします

ハードウェア
1.脚の剛性
大前提として脚の遊びは0を目指すべきだと思います。前歩行ができない機体の多くは股関節等のロールの遊びが大きく重心移動がままならないパターンが多いです。自分の機体はFutabaサーボを使った結果遊びをほぼ0にすることが出来ました。これができた理由は機体重量が軽くサーボに負荷がかからなかったことと、そもそも負荷のかかるモーションを付けなかったことが考えられます。ただ股関節ロールはほんのわずかですが遊びが出てきたのでVstoneサーボに変えようかと思っています。K社のサーボは遊びが大きい(扱い方が悪いだけか?)ので使いません。というか教示機能のおかげでVstoneマイコンでは脱力できないので使えないです(面倒な設定をすればいけないこともないけど面倒)

要約→遊びの原因となる負荷のかかるモーションや設計をやめろ

2.軸配置
機体としては珍しい腕yawと脚yaw軸を追加しました。腕yaw軸は単純にモーションを多様化するためです。脚yaw軸は歩行での左右のブレを補正するために付けました。人間ですら目をつぶったらまっすぐ歩けないのですからましてやそれをロボットに求めるのはナンセンスです。そのためアナログスティックで歩行動作中に補正してあげるのが妥当だと思います。もしくは磁気センサで初期位置とのブレを取ってやるのも一つの手だと思います。あと脚yaw軸を付けることでその場での旋回が簡易的になり結果として負荷を減らすことが出来ました。ヒュー研流旋回(足の開きを利用)は負荷は掛かり過ぎですからね。私の機体でやったら確実にギアが砕けます。逆に腰yaw軸は無くしてもいいかなと思ってます。実際のところ起き上がりぐらいしか使ってないし、腰yaw軸がなくなることで胴体が短くできるのでこの点も問題ないかと思います。

要約→脚yaw軸は必須。

3.整備性
ここまでわりとポジティブに書いてきましたが失敗したのが整備性です。VSRCなので配線がごっちゃになるのがわかっていましたが、整備的に一か所に固めるのが良かれとおもって開閉部に固めてしまいバッテリーを入れるたびにモニュっと押し込まなくてはならなくなってしまいました。これは配線の損傷につながるため改善しなくてはなりません。ヒュー研ではバッテリーをコネクタで直接試合毎に接続していますがこれは配線を一回一回引っ張り出す必要があり面倒だしショートなどのトラブルに繋がりかねないのでできれば避けたいものです。個人的にはバッテリーをパソコンのようにモジュール化するのがいいかなと思っています。あと電源スイッチの位置が微妙だしオンオフがわかりずらかったのがよろしくなかったです。この辺はODA君の新機体が非常によい設計だったのでいずれ紹介してほしいと思います。

要約→配線は動作中以外にも考慮すべし

ソフトウェア
1.マイコン
正直言って圧倒的にVstoneの方が使いやすかった。特にUIが見やすい。K社のマイコンは確かに全く知識のない人でもできるけど複雑なことをしようとするとごっちゃになってモーションが組みにくい。その点Vstoneはフロートチャートにプログラム的なアルゴリズムが入っているのでわかりやすい。センサー類の拡張性も高いのも良い点だ。部活の予算が許せば三軸加速度、三軸ジャイロ、三軸磁気が一枚に乗った小型ボードを乗せたいと思っている。

要約→VSRC-003は最高

2.モーション
前後歩行に関して言うと足裏の動きが三角形よりは五角形にした方がいい気がする。そのほうが遊脚が設置する際に慣性による反動を減らせると思う。あと足を動かす際のyaw軸回りのモーメントを腕で相殺するのは有効だった。歩行という動作は周期的に変化する為場合によっては共振が起こる。例えば数歩歩けても数十歩で転倒するというのは脚の剛性のなさにより振動が減衰しないためと考えられる。この辺はジャイロを使えばより動的にできると思うがどの程度の角度変化で重心がどれだけ動くかなどの数式化をすべきだと思っている。

要約→動的安定性を追求すべき


といったところだろうか長々と書いてしまった。これらのことを改善しようとすると全体的な再設計が必要となるので夏休み中にできるのか.....?

その前にFusion360講座の資料作成とロボ研の活動もしなきゃいけないし。

ps.週休二日制を導入したのは松下電器(現Panasonic)だがその意図が「一日休養、一日教養」というのは知っているだろうか。君は一体何のために休みをつかう?
編集 / 2017.08.09 / コメント: 0 / トラックバック: 0 / PageTop↑
活動報告No.138 進捗状況 + α ~ ROBO-ONE auto
カテゴリ: 未分類

どうもおはこんばんにちは、無事に夏休みに入れた2年のマエダです。


学期末考査は今までで一番きつい科目群でしたが、単位はありそうです。




進捗状況の前にいうことがあるのですが、それは、


OBの先輩方がサポート募金をしてくださったようです。

感謝っ・・・

圧倒的 感謝っ・・・!!!



1年生が機体つくるのに予算請求しておけばよかったモノがちょいちょいあるので、そこに行くのかな?



さてさて、今回は私が夏休みに入ったというわけで、夏休み明けに控える2足歩行ロボット大会「ROBO-ONE」に向け、今の進捗状況と、この夏にやることを整理して行こうかなと思います。


去年の夏休みでは、1年性の私は無計画でロボ以外のいろんなことをやっていたので、時間を無駄に浪費した感がありました。


そんな堕落した夏を送るなら、大学に来ている意味はないので、自分で夏休みの課題を課そうと思います。


ヒュー研でも夏休みの一番最初の会議で、各々が今季やることを明確にした方が今後の活動のためになるんじゃないかなと思いますが、果たして、全然やらなかったわー はっはっは! となる人は何十人いようか。。。



1、目指すもの



大きな目標としては、今度の9月中旬にある「ROBO-ONE auto」に出場することです。autoの方に興味があるので、まあそっち目指します。


本当は自分で機体を製作してそいつに処理エンジン載せようと思っていたのですが、部内にあるサーボモータの個数が足りないため、既存の機体を拝借して、それに無理やり処理エンジンを載せます。


ロボットの認識には位置センサなどは使わず、カメラで認識しようと思います。


「ROBO-ONE における操作」

人間が状況判断 → 無線コントローラで動作コマンド送信 → 機体が動く


というのが、


「ROBO-ONE auto における操作」

カメラの映像から、ラズパイが状況判断 → ラズパイがRCB4HVにコントーラコマンドをシリアルUSBアダプタ経由で、コントローラコマンドを送信 → 機体が動く


という手順になります。



2、前期の間にやったこと



前期は初めての実験の授業があったことで自分のやりたいことがなかなか進まない数ヶ月でしたが、夏休みにやることが明確・細分化できるレベルまでは達しました。


其の一(画像処理)

とりあえずLinuxでPython(←プログラミング言語)を使って画像処理をする方法を確立しました。処理部はラズパイ(もしくはラズパイと同サイズの高スペックシングルボード)に絞り、USB端子からカメラモジュールにアクセスし、映像をリアルタイムに入手。リアルタイムの映像に対して処理をかけることができました。

ほんで、色検出や円検出、ステレオカメラによる距離検出、などなどのコードを記したものをまとめました。


其の二(機械学習の勉強)

機械学習のお勉強をしていました。ロボットをカメラで認識するには、カスケード分類器か機械学習による学習モデルを使うかする必要があります。

カスケードでもまあいいのですが、個人的に機械学習の方が興味あったので、その学習モデルを使います。さらにいうと、畳み込みニューラルネットワーク(CNN)というディープラーニングの一種を使って学習モデルを生成したいです。

現状は単純な機械学習の勉強と、そのコーディングの練習を大体終わらせた感じです。機械学習ライブラリは先日のブログで出した、Google参加のDeepMind社が提供しているTensorFlowを使っています。

CNNは単純な機械学習と違って次元下げるのに特徴量を失わないように全結合層以外の様々な層と、それらの組み合わせがあります。ここら辺がまた複雑なので、理論よりとりあえずTnsorFlowのCNNチュートリアルをやって、動作を体感してから理論を学んでいく方針でやっていこうと思います。


其の三(入力データの収集)

機械学習は、学習に必要なデータ(入力データ)が集まって初めて成り立ちます。そもそもデータがなければどうにもならない。しかも、私の考えている方法だと、その入力データは全て正方形で同サイズ(ピクセル)である必要があります。

その肝心な入力データは、ロボットバトルの動画から一定間隔で静止画を切り出して、それを正方形にトリミングすることで得ようと考えました。

実は、ヒュー研の先輩方がその昔、各大会のロボットバトルの様子を動画として記録し、それらをヒュー共有のPCに保存されていたようです。そして、その記録伝統はちゃんと今でも受け継がれ、今のヒュー研は、大量の動画データが蓄積されています。何百GBあるんだろう。。


とりあえず、この伝統を始めた先輩にはお礼を申し上げたいです。


そのおかげで機械学習に必要なデータは潤沢にあります。このデータという財産は、多分私が一番ありがたく感じていると思います。

圧倒的感謝。


個人的に使っていた240 GBのポータブルSSDにそれらの動画データのごく一部を複製し、家に持ち帰って自分のPCに入れていました。



3、夏休みの間にやること



其の一(入力データの加工ソフト作成)

動画データから静止画を抽出、ほんでそれを人間が一旦トリミングと其の画像が何であるかということを示すラベル付けを行います。さらにトリミングした画像へアクセスする絶対(または相対)パスと、それに対応するラベルをスペースを一つ挟んでテキスト形式にまとめます。一つのデータに対して一行書き込むことで、学習の時にちゃんと機械が答え合わせしてくれ(ると思い)ます。


其の二(畳み込む)

前述でちょろっと述べたので、簡単にいうと、TensorFlow使ってコーディングして学習させて分類器をつくります。


其の三(ラズパイで使う)

学習モデルができても、ラズパイで使えなくては実装不可能です。問題はその学習モデルの扱い方です。カスケード分類器はXML形式で読み込めば、対象物のXY座標と大きさ(横幅と縦幅)を配列で返してくれますが、TensorFlowの学習モデルはどう扱えばいいのかわからないです。

正直ここが一番の難関になりそうな気がします。小耳に挟んだ程度だと、TensorFlow形式からプロトコルバッファ形式に変換して、それを読み込めばいけるとか、いけないとか。。。

計算資源が制限されているスマートフォンなどでもリアルタイム認識ができる方法があるようなのですが、それどうやってやるのかわからないです。


其の四(チューニング)

夏休み明けは地獄の実験が始まり、本番までの日数は残りわずかなので、上記の其の一~三までは8月中に終わらせたいところです。

チューニングでは、認識結果から攻撃までの行動を決定し、それをRCB4HVにコントローラのボタンコマンドを送信するのに最適なパラメータを決めます。ステージから落ちないようにするのに単眼ビジュアルオドメトリという方法を採用したかったのですが、それをしているともう本格的に時間がなくなりそうなので、そこだけPSDセンサを使おうかなと思います。



4、データの公開範囲に関して



かなり重要な話ですが、もしこのプロジェクトが成功を収めたら、実際に使用した学習用オリジナルデータ、学習モデル、学習のレイヤー構造、行動決定パラメータなどの情報を公開するか否かに関してです。


先に言うと、現段階の判断では、公開しないと思います。


と言うのも、上記のデータを公開してしまうことは、またハードの戦いになり、すなわちそれは札束の殴り合いを意味すると考えています。それならもう、autoである必要ないよねっていう。なので、開発環境のセットアップや学習モデルの作り方をブログにして公開することは可能性としてありますが、実装データは一切公開しない方針で行こうと思います。



5、さいごに



今週はオープンキャンパスがあることもあり、機体持ちの人は機体の調整に取り掛かると思われるので、思われるので、、最近できた(改良された)機体のご紹介と製作者へのインタビューをブログにしようかな。。調整に取り掛かると思われるので。

ほんじゃまったの〜(o・ω・)ノ




編集 / 2017.07.23 / コメント: 0 / トラックバック: 0 / PageTop↑
活動報告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↑
プロフィール

ヒュー研の中の人

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

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

FC2カウンター
カレンダー
09 | 2017/10 | 11
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