Save 37% off PRO during our Black Friday Sale! »

TensorFlow勉強会 宇都宮 #5

D9b05a155084c3411e8e8e69faae3be4?s=47 kojira
August 27, 2017

TensorFlow勉強会 宇都宮 #5

手書きひらがな認識ハンズオン

D9b05a155084c3411e8e8e69faae3be4?s=128

kojira

August 27, 2017
Tweet

Transcript

  1. 1 シンギュラリティ株式会社 深層学習を使った手書きひらがな認識 TensorFlow勉強会 宇都宮 #04 2017/9/15 Singularity Copyright 2016

    Singularity Inc. All rights reserved Singularity株式会社 代表取締役 近藤 昭雄
  2. 2 概要 l 環境構築 l 学習済みデータで試す l サイズを変えてみる l ブラウザで確認する

    l 参加者でデータを作成 2017/9/15 Singularity Copyright 2016 Singularity Inc. All rights reserved
  3. 3 今日の目標 自分で環境を構築して、画像分類をいじれる環境を作れるようになる 2017/9/15 Singularity Copyright 2016 Singularity Inc. All

    rights reserved
  4. 4 環境構築 GCPコンソールへ https://console.cloud.google.com/ 2017/9/15 Singularity Copyright 2016 Singularity Inc.

    All rights reserved
  5. 5 環境構築 2017/9/15 Singularity Copyright 2016 Singularity Inc. All rights

    reserved
  6. 6 環境構築 • Ubuntu 16.04 • httpのアクセス許可 • ssh公開鍵の設定 •

    ストレージは20GB以上くらいで • ipアドレスを控えておく 2017/9/15 Singularity Copyright 2016 Singularity Inc. All rights reserved
  7. 7 環境構築 • ログイン • ssh xxx.xxx.xxx.xxx ※さっき控えたIPアドレス 2017/9/15 Singularity

    Copyright 2016 Singularity Inc. All rights reserved $ sudo apt-get install python3-pip python3-dev python-virtualenv $ virtualenv --system-site-packages -p python3 tf source ~/tf/bin/activate pip install --upgrade tensorflow $ python import tensorflow as tf hello = tf.constant('Hello, TensorFlow!') sess = tf.Session() print(sess.run(hello))
  8. 8 環境構築 Tensorflowがインストールできたら ちゃんとインストールできているか確認 2017/9/15 Singularity Copyright 2016 Singularity Inc.

    All rights reserved $ python import tensorflow as tf hello = tf.constant('Hello, TensorFlow!') sess = tf.Session() print(sess.run(hello)) The TensorFlow library wasn't compiled to use FMA instructions, but these are available on your machine and could speed up CPU computations. とか出ますが、気にしない。(自前ビルドすれば出なくなる。)
  9. 9 環境構築 サンプルプロジェクトをクローン 2017/9/15 Singularity Copyright 2016 Singularity Inc. All

    rights reserved $ git clone https://github.com/kojira/tensorflow-hiragana.git
  10. 10 環境構築 クローンしたレポジトリに移動して 必要なモジュールをインストール 2017/9/15 Singularity Copyright 2016 Singularity Inc.

    All rights reserved $ cd tensorflow-hiragana/ $ pip install -r requirements.txt
  11. 11 環境構築 ETL8Gという、ひらがなを含んだデータセットをダウンロード 以下のサイトのDownloadのリンクから利用規約に同意してユーザー登録が必要 http://etlcdb.db.aist.go.jp/?lang=ja メールが届くので、メールに記載のリンクからETL8Gをダウンロードしたら以下のコマンドで解凍 2017/9/15 Singularity Copyright 2016

    Singularity Inc. All rights reserved $ sudo apt-get install unzip $ unzip ETL8G.zip
  12. 12 環境構築 ETL8Gのデータセットを画像ファイルに展開 2017/9/15 Singularity Copyright 2016 Singularity Inc. All

    rights reserved $ python etl8g2image.py 0 1
  13. 13 学習済みデータで試す しょぼい学習済みデータで試す 2017/9/15 Singularity Copyright 2016 Singularity Inc. All

    rights reserved $ python train.py --restore_model=models/models.ckpt --test_file=す.png
  14. 14 学習済みデータで試す しょぼい学習済みデータで試した結果 2017/9/15 Singularity Copyright 2016 Singularity Inc. All

    rights reserved ['ず', 'う', 'は', 'ぎ', 'ま', 'ぼ', 'き', 'ゆ', 'げ', 'て'] ['0.272135', '0.0950739', '0.0679792', '0.0629548', '0.0473167', '0.0448682', '0.0437501', '0.0436584', '0.0365076', '0.0343798']
  15. 15 学習済みデータで試す オシイ・・・ 2017/9/15 Singularity Copyright 2016 Singularity Inc. All

    rights reserved
  16. 16 サイズを変えてみる サイズを倍にしてみる 2017/9/15 Singularity Copyright 2016 Singularity Inc. All

    rights reserved train.py の IMAGE_SIZE = 32 を IMAGE_SIZE = 64 に変えてみよう
  17. 17 サイズを変えてみる 訓練してみる 2017/9/15 Singularity Copyright 2016 Singularity Inc. All

    rights reserved $ python train.py
  18. 18 サイズを変えてみる 再度試すとどうなる? 2017/9/15 Singularity Copyright 2016 Singularity Inc. All

    rights reserved $ python train.py --restore_model=models/models.ckpt --test_file=す.png
  19. 19 ブラウザで確認してみる いくつかのツールをインストール 2017/9/15 Singularity Copyright 2016 Singularity Inc. All

    rights reserved $ sudo apt-get install -y nodejs npm $ sudo npm cache clean $ sudo npm install n -g $ sudo n stable $ sudo ln -sf /usr/local/bin/node /usr/bin/node $ sudo apt-get purge -y nodejs npm $ npm install $ pip install gunicorn
  20. 20 ブラウザで確認してみる Webサーバーの実行 2017/9/15 Singularity Copyright 2016 Singularity Inc. All

    rights reserved $ sudo /home/<username>/tf/bin/gunicorn main:app --log-file=- -- bind=0.0.0.0:80
  21. 21 ブラウザで確認してみる http://xxx.xxx.xxx.xxx/ を開くと、このような画面がでるはず 2017/9/15 Singularity Copyright 2016 Singularity Inc.

    All rights reserved
  22. 22 ブラウザで確認してみる マウス、タッチパッドでの入力を判定してくれます。 2017/9/15 Singularity Copyright 2016 Singularity Inc. All

    rights reserved
  23. 23 参加者でデータを作成 参加者で作成したデータを集めて 再学習するとどうなるでしょうか 2017/9/15 Singularity Copyright 2016 Singularity Inc.

    All rights reserved
  24. 24 データ整形 画像データ整形はOpenCV地獄。 Tensorflowにも画像加工のメソッドが色々用意されている。 データ整形、クレンジングが9割と言っても過言ではない。 各自でチャレンジしてみてください。 • 回転 • 拡大、縮小

    • 縦横シフト • ノイズ付与 などなど。 個人的にはノイズを乗せると精度が良くなる感触があります。 2017/9/15 Singularity Copyright 2016 Singularity Inc. All rights reserved
  25. 25 ハイパーパラメータ train.pyの中のハイパーパラメータをいじって 精度の変化を見る max_steps:学習epoc数(デフォルト:20) batch_size:バッチサイズ(デフォルト:64) learning_rate:学習率(デフォルト:1e-4) 2017/9/15 Singularity Copyright

    2016 Singularity Inc. All rights reserved
  26. 26 GCEインスタンス 削除するのを忘れずに! ※実はMacでも動きます。 Windowsは試していません。 2017/9/15 Singularity Copyright 2016 Singularity

    Inc. All rights reserved
  27. 27 お疲れ様でした 2017/9/15 Singularity Copyright 2016 Singularity Inc. All rights

    reserved