こんにちは。本日はTensorflow Hubの使い方について解説してみたいと思います。
最近の一連の機械学習関連の記事を書いているきっかけにもなっているのですが、自然言語処理の勉強にあたって必要になった情報や知識を整理しておきたいというのがきっかけになります。
それではまいります!
Contents
TensorFlow Hubとは?

Tensorflow Hubとは、事前学習済の機械学習モデルを集めたライブラリの役割を果たしている場所です。GoogleのTensorFlowチームにより、2018年に公開されているようです。
ここに集められているモデルは、転移学習用のベースモデルとして利用することができます。これらを1箇所に集めて誰でも利用できるようにしておくという発想は素晴らしいですね・・!
それでは早速実際に中を覗いてみたいと思います。
ステップ1:アカウントの取得
トップページの右上に”ログイン”とあるので、Googleアカウントでログインします。下のスクリーンショットはログイン後のものになります。

ステップ2:事前学習済モデルの検索
トップ画面上部のResourceタブから、Model&Datasetをクリックすると、モデルおよびデータセットの検索が行えます。
2020年の1月現在、400ほどのモデルが登録されているようです。その過半数はGoogleがPublisherとなっています。

例えば、自然言語処理で最近ベースモデルとして利用されているBERTを検索してみると・・
19モデルがヒットしました。ここから利用したいモデルをダウンロードして利用することもできますし、ステップ4で解説するように、Python上でこれらのモデルをロードして使うこともできます。

ステップ3:Pythonライブラリをインストール
このステップは、Python上でTensorFlow Hubの呼び出しを実装したい方向けです。
Anacondaを利用している方は以下のコマンドでTensorFlow Hubのライブラリをインストール可能です。
conda install -c conda-forge tensorflow-hub
ステップ4:Python上でモデルをロード
以下は、Jupyter Notebook上でPythonを動かした時のスクリーンショットになっています。
また、モデルのURLは以下で取得から可能です。

module = hub.Module("ダウンロードしたいモデルのURL")
と、どうやらRuntimeエラーが出て止まってしまいました。
Github上で同様のエラーが報告されており、どうやらバージョンの問題?のようで、最新バージョンだとうまくできない?こちらは未解決?のようですので、解消後にまたやり方を更新しようと思います。

報告されているエラー:https://github.com/tensorflow/hub/issues/212
コメントを残す