始める無料で始める

画像の前処理

この演習では、30,000 枚の画像とそれに対応するキャプションを含む flickr データセットを使って、画像に対する前処理を行います。前処理は、画像からのテキスト生成など、Hugging Face のモデルタスクで推論できる形式に画像データを整えるために必要です。ここでは次の画像に対してテキストキャプションを生成します。

Photo of 2 people with 1 playing the guitar

データセット(dataset)は次の構造で読み込まれています。

Dataset({
    features: ['image', 'caption', 'sentids', 'split', 'img_id', 'filename'],
    num_rows: 10
})

画像キャプション生成モデル(model)は読み込まれています。

この演習はコースの一部です

Hugging Face で学ぶマルチモーダルモデル

コースを見る

演習の手順

  • データセットのインデックス 5 の要素から画像を読み込みます。
  • 事前学習済みモデル Salesforce/blip-image-captioning-base の画像プロセッサ(BlipProcessor)を読み込みます。
  • image に対してプロセッサを実行し、PyTorch テンソル(pt)を返すように指定します。
  • .generate() メソッドを使って、model でキャプションを生成します。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# Load the image from index 5 of the dataset
image = dataset[5]["____"]

# Load the image processor of the pretrained model
processor = ____.____("Salesforce/blip-image-captioning-base")

# Preprocess the image
inputs = ____(images=____, return_tensors="pt")

# Generate a caption using the model
output = ____(**inputs)
print(f'Generated caption: {processor.decode(output[0])}')
print(f'Original caption: {dataset[5]["caption"][0]}')
コードを編集して実行