Path: blob/main/transformers_doc/ja/image_captioning.ipynb
4522 views
Image captioning
画像のキャプション付けは、特定の画像のキャプションを予測するタスクです。一般的な現実世界のアプリケーションには次のものがあります。 視覚障害者がさまざまな状況を乗り越えられるよう支援します。したがって、画像のキャプション 画像を説明することで人々のコンテンツへのアクセシビリティを向上させるのに役立ちます。
このガイドでは、次の方法を説明します。
画像キャプション モデルを微調整します。
微調整されたモデルを推論に使用します。
始める前に、必要なライブラリがすべてインストールされていることを確認してください。
モデルをアップロードしてコミュニティと共有できるように、Hugging Face アカウントにログインすることをお勧めします。プロンプトが表示されたら、トークンを入力してログインします。
Load the Pokémon BLIP captions dataset
🤗 データセット ライブラリを使用して、{image-caption} ペアで構成されるデータセットを読み込みます。独自の画像キャプション データセットを作成するには PyTorch では、このノートブック を参照できます。
データセットには image
とtext
の 2 つの機能があります。
多くの画像キャプション データセットには、画像ごとに複数のキャプションが含まれています。このような場合、一般的な戦略は、トレーニング中に利用可能なキャプションの中からランダムにキャプションをサンプリングすることです。
train_test_split
メソッドを使用して、データセットのトレイン スプリットをトレイン セットとテスト セットに分割します。
トレーニング セットからのいくつかのサンプルを視覚化してみましょう。

Preprocess the dataset
データセットには 2 つのモダリティ (画像とテキスト) があるため、前処理パイプラインは画像とキャプションを前処理します。
これを行うには、微調整しようとしているモデルに関連付けられたプロセッサ クラスをロードします。
プロセッサは内部で画像を前処理し (サイズ変更やピクセル スケーリングを含む)、キャプションをトークン化します。
データセットの準備ができたら、微調整用にモデルをセットアップできます。
Load a base model
"microsoft/git-base" を AutoModelForCausalLM
オブジェクト。
Evaluate
画像キャプション モデルは通常、Rouge Score または Word Error Rate で評価されます。そうだった)。このガイドでは、Word Error Rate (WER) を使用します。
これを行うには 🤗 Evaluate ライブラリを使用します。 WER の潜在的な制限やその他の問題点については、このガイド を参照してください。
Train!
これで、モデルの微調整を開始する準備が整いました。これには 🤗 Trainer を使用します。
まず、TrainingArguments を使用してトレーニング引数を定義します。
Trainer 次に、次に、データセットとモデルと一緒に 🤗 に渡します。
トレーニングが進むにつれて、トレーニングの損失がスムーズに減少することがわかります。
トレーニングが完了したら、 push_to_hub() メソッドを使用してモデルをハブに共有し、誰もがモデルを使用できるようにします。
Inference
test_ds
からサンプル画像を取得してモデルをテストします。

モデル用の画像を準備します。
generate
を呼び出して予測をデコードします。
微調整されたモデルにより、非常に優れたキャプションが生成されたようです。