GClue

環境構築について

インターン生の村山(大学2年生)です

1月からちまちまTensorflowのハンズオンのTAをしていたのですが、昨日から本格的にGClueでのお仕事が始まりました。

AIでワカサギ釣りをするための開発や、Tensorflow用のサンプルコードを作成するのが主な仕事です。ここに至るまでの間、自習で機械学習で出てくる損失関数や識別関数などを少しでも理解するためにでパターン認識の勉強をしたり、Android開発の練習として、ここに上がっているサンプルコードを動かせるようにしてました。

これまでにTensorFlow関連で作ったものとしては、数字(特徴)を4つ入力したら、3種類の中で最もその特徴に近いヤマメ(Iris)の花の名前を表示するアプリです。


ここで使った4つの特徴は

  • Sepal.Length : がく片の長さ
  • Sepal.Width : がく片の幅
  • Petal.Length: 花びらの長さ
  • Petal.Width : 花びらの幅

3種類のヤマメの花の名前としては

  • Iris.setosa
  • Iris.versicolor
  • Iris.virginica

が使われていました。(データセット)

AndroidにTensorFlowを組み込むには、学習モデルのpbファイルが必要なので、TensorflowでIrisのデータセットを使って、学習済みデータを書き出しグラフにしてpbファイルに保存しました。この作業の歳に、参考にした記事と自分の使っていたTensorflowのライブラリのバージョンが違い、さらに、学習するものの特徴数やグラフ書き出し用の関数名などが違うので、少々作業に手こずりました。

Androidアプリでの動作は、生成したpbファイルを、Android Studioに読み込み、AndroidアプリのTensorFlowのJNIの引数でpbファイルのURI(Asset)を指定し、NDK側で学習済みデータから正解の値を抽出し、java側に返すという仕組みで実現しました。

ビルドを通すのにMakefileの設定が必要なのですが、私はあまりMakefileに慣れていないので、この作業でのビルド設定とC++側で行う計算の関数を書くのが一番大変でした。何回かエラーを出しつつもエラー文を読んだり参考記事のコードと自分のを見比べて修正しつつ、なんとか動くようになって完成しました。

作業をしてて思ったことは「これらを一からかける人ってやっぱすごいなあ、、」でした。Build済みのSOファイルとJarファイルから、Androidアプリに組み込む方法もあるようなので、今度はそっちで試してみたいです。

サンプルで色々作れるようになったら自分で好きなものも作ってみたいです。

ワカサギ釣りの方は、環境構築が大変でした。

RaspberryPiを使って釣竿を動かしたり、加速度センサーの値を取得したりするのでRaspberryPiにpython諸々必要なものをインストールします。OSイメージの作成やpythonモジュールのインストールで発生するエラーには対処できるのですが、Wifi等のネットワーク設定では、経験値が少ないため、エラーが出てもすぐに対処できなかったです。

他のインターン生は全員学部1年生の人たちで自分よりもすごい優秀です。みんなすぐにmarkdownやgithubの使い方を覚えてくれて、若いってすごいなって感じです。
私は機械学習の方をメインで頑張っていきたいですが、一応先輩(大学2年生)なので、エラーにはできるだけ対処できるようにしていきたいです。

美味しいワカサギ食べるためにもこれから頑張ります。

Related post

  1. GClue

    シールドとモータについて

    インターン生の芳賀(学部一年)です。前回の 並木くんの記事 の…

  2. GClue

    PythonとPWM

    インターン生の並木(学部1年)です。最近はワカサギ釣り用のリー…

  3. GClue

    釣竿の仕様とmatplotlibを使ったグラフの作成

    インターン生(学部一年)の深谷です。本番の釣りハッカソンまであ…

  4. GClue

    会社Blog移転のお知らせ

    会社Blogの方、こちらに移転しました。技術に関する最新動…

  5. GClue

    圧力センサでワカサギの引きを検知する

    インターン生の会津大学 学部一年 芳賀(はが)です。先日の桧原…

  6. GClue

    RaspBerryPi3をアクセスポイント化と今日の活動

    インターン生の山田(学部一年)です。本日もインターン生各々の作…

Comment

    • Kaz
    • February 27th, 2017

    Irisはヤマメではなくて「アヤメ」ですね。(^▽^)/
    チャチャ入れゴメンm(__)m

    インターン頑張ってください!

  1. No trackbacks yet.

最近の記事

  1. Android

    Daydream
  2. GClue

    シールドとモータについて
  3. GClue

    圧力センサでワカサギの引きを検知する
  4. GClue

    回転数と回転方向の取得
  5. GClue

    赤外線距離測定機と今日の活動
PAGE TOP