TensorFlowHubの事前学習済モデルを使ってみた

こんにちは。本日はTensorflow Hubの使い方について解説してみたいと思います。

最近の一連の機械学習関連の記事を書いているきっかけにもなっているのですが、自然言語処理の勉強にあたって必要になった情報や知識を整理しておきたいというのがきっかけになります。

それではまいります!

Contents

TensorFlow Hubとは?

公式ページ

Tensorflow Hubとは、事前学習済の機械学習モデルを集めたライブラリの役割を果たしている場所です。GoogleのTensorFlowチームにより、2018年に公開されているようです。

ここに集められているモデルは、転移学習用のベースモデルとして利用することができます。これらを1箇所に集めて誰でも利用できるようにしておくという発想は素晴らしいですね・・!

それでは早速実際に中を覗いてみたいと思います。

ステップ1:アカウントの取得

トップページの右上に”ログイン”とあるので、Googleアカウントでログインします。下のスクリーンショットはログイン後のものになります。

TensorFlow Hubのトップページ

ステップ2:事前学習済モデルの検索

トップ画面上部のResourceタブから、Model&Datasetをクリックすると、モデルおよびデータセットの検索が行えます。

2020年の1月現在、400ほどのモデルが登録されているようです。その過半数はGoogleがPublisherとなっています。

例えば、自然言語処理で最近ベースモデルとして利用されているBERTを検索してみると・・

19モデルがヒットしました。ここから利用したいモデルをダウンロードして利用することもできますし、ステップ4で解説するように、Python上でこれらのモデルをロードして使うこともできます。

BERTの検索結果

ステップ3:Pythonライブラリをインストール

このステップは、Python上でTensorFlow Hubの呼び出しを実装したい方向けです。

Anacondaを利用している方は以下のコマンドでTensorFlow Hubのライブラリをインストール可能です。

conda install -c conda-forge tensorflow-hub

ステップ4:Python上でモデルをロード

以下は、Jupyter Notebook上でPythonを動かした時のスクリーンショットになっています。

また、モデルのURLは以下で取得から可能です。

モデルのURLを取得
module = hub.Module("ダウンロードしたいモデルのURL")

と、どうやらRuntimeエラーが出て止まってしまいました。

Github上で同様のエラーが報告されており、どうやらバージョンの問題?のようで、最新バージョンだとうまくできない?こちらは未解決?のようですので、解消後にまたやり方を更新しようと思います。

実行コードとエラー

報告されているエラー:https://github.com/tensorflow/hub/issues/212

この記事を気に入っていただけたらシェアをお願いします!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

ABOUT US
Yuu113
初めまして。ゆうたろうと申します。 兵庫県出身、東京でシステムエンジニアをしております。現在は主にデータ分析、機械学習を活用してビジネスモデリングに取り組んでいます。 日々学んだことや経験したことを整理していきたいと思い、ブログを始めました。旅行、カメラ、IT技術、江戸文化が大好きですので、これらについても記事にしていきたいと思っています。