flow_from_directory
次の構造のフォルダーからトレーニングセットを取得するために使用しています。
train
class1
class2
class3
...
ジェネレータは次のように呼び出されます。
train_generator = train_datagen.flow_from_directory(
train_data_dir,
target_size=(img_height, img_width),
batch_size=32,
class_mode='categorical')
私は引数を設定していませんclasses
が、アルファベット順にラベルを取得することを期待していました。
クラス:クラスサブディレクトリのオプションのリスト(例
['dogs', 'cats']
)。デフォルト:なし。指定しない場合、クラスのリストは自動的に推測されます(ラベルのインデックスにマップされるクラスの順序は英数字になります)。
ただし、トレーニング画像を分類すると(どのラベルが返されるかを確認するため)、特定の順序がわかりません。トレーニングはうまくいき(精度は約85%)、同じクラスの画像を分類するときに出力ラベルとの一貫性があります。
によって生成されたラベル番号を推測し、flow_from_directory
それらをクラスにマップするにはどうすればよいですか?
変数を見ると、どのクラスがどの整数に対応しているかがわかります ImageDataGenerator.class_indices
使い方の例です
def build(source=None):
datagen = ImageDataGenerator(rescale=1. / 255)
data_generator = datagen.flow_from_directory(
source, # this is the target directory
target_size=(150, 150), # all images will be resized to 150x150
batch_size=11,
class_mode='sparse')
class_dictionary = data_generator.class_indices
return data_generator, class_dictionary
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加