簡體   English   中英

使用 flow_from_directory() 時如何知道標簽的順序?

[英]How to know the order of the labels when using flow_from_directory()?

我正在使用 softmax 進行多類分類。 我的最終 output 給了我三個概率,每個概率對應於 class 之一,我怎么知道每個概率指的是哪個 class? 我正在通過圖像數據生成器訓練我的 model。

train_generator = train_datagen.flow_from_directory(
    '/gdrive/MyDrive/shot/training',
    target_size=(640, 360),
    batch_size=32,
    class_mode='categorical')

/gdrive/MyDrive/shot/training
在同一個項目中,我通過 test_datagen 提供一些圖像進行預測,我怎么知道 model.predict() 正在處理哪個圖像?

t_gen = test_datagen.flow_from_directory(
    '/gdrive/MyDrive/shot/testing',
    target_size=(640, 360),
    batch_size=32,
    class_mode='categorical')

classes = model.predict(t_gen,batch_size=32)
print(classes)

我得到一個充滿概率的表格作為答案,但我不知道預測了哪個圖像以及每個概率對應於哪個 label。

由於您從圖像數據生成器訓練,您可以使用 class 如下

labels = list(train_datagen.class_indices.keys())
pred = model.predict(input_data)
classes = labels[pred.argmax()]

print(classes)

# or
labels = ['badshot', 'goodshot', 'noshot']
pred = model.predict(input_data)
classes = labels[pred.argmax()]

這些類將自動從目錄下的子目錄名稱/結構中推斷出來,其中每個子目錄將被視為不同的 class,因為您沒有按照文檔將任何值傳遞給參數classes

所以根據文件目錄的圖像順序將是'badshot', 'goodshot', 'noshot'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM