TensorFlow Hubとは
- TensorFlowで利用できるモジュール群
- 画像分類や物体認識, テキスト処理, GANと様々な用途に向けて公開されている
- 転移学習のベースにも利用できる
- 最近だとDeepMindのBig GANとか話題に(https://tfhub.dev/deepmind/biggan-256/2)

TensorFlow Hub注意事項
- モジュールはTFHUB_CACHE_DIRにダウンロードされる
- かなり大きいサイズになる物もあるので今回のようにWifi環境が提供されない場合はテザリング時は要注意
ハンズオン概要
- 青空文庫の著者分類(2クラス, 4クラス)
- 今回使うモジュール:https://tfhub.dev/google/nnlm-ja-dim50/1
- word embedding部分にTFHubを使用
- 元ネタ:https://www.tensorflow.org/hub/tutorials/text_classification_with_tf_hub
ざっくりとした全体像
- 日本語データを読み込む
- TFHubモジュールで文章をベクトル化
- TensorFlowの高レベルAPIで学習
ハンズオン環境
- git
- Docker
- 使用イメージ: Ubuntu18.04にtensorflowやjupyterを使えるようにしたもの
Play with Docker
- 概要:4時間だけ使えるDocker環境
- ブラウザとDocker IDさえあればいい
ハンズオン用リポジトリをクローン
$ git clone https://github.com/nharu1san/MLN_201812.git
ハンズオン用コンテナ起動
Windows
> .\launch.bat
Mac / Linux(Play with Docker含)
$ sh launch.sh
jupyter notebookにアクセス
tokenをMLN201812で固定してありますので、各自のネットワーク設定等には十分ご注意ください
- ローカル
- Play with Docker
- コンテナ起動後画面上に表示される"8888"ボタンを押下
ハンズオン準備
setup.ipynbを開いてコードを実行
- TFHubモジュールのダウンロード
- 学習用データの展開
(実行方法)
- Shift + Enter
- 画面上部のRunボタン
ハンズオン開始
- MLN201812.ipynbを使います
次は...
- 4クラス分類
- MLN201812-4class.ipynb
- 改善
- TFHubモジュールの変更(dim128)
- パラメータチューニング(ユニット数, 学習率, ステップ数...)
- Optimizer変更(AdamOptimizerなど)