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

データセット(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]}')