簡體   English   中英

根據 Keras 中的圖像和子文件夾名稱設置 X 和 y 用於訓練 CNN

[英]Setting X and y for training CNN based on images and subfolder names in Keras

下面的代碼片段為我提供了屬於三個類別的 150 個圖像(有三個子文件夾,每個子文件夾有 50 個圖像 - 這些文件夾以 Iris 的類別命名,我正在嘗試編寫一個 CNN 進行分類)。

我的問題是如何將圖像的 np arrays 設置為我的 X 並將子文件夾名稱設置為我的 y 來訓練我的 CNN?

import keras
from keras.preprocessing.image import ImageDataGenerator

train_gen = ImageDataGenerator(rescale = 1./255,
shear_range = 0.2, zoom_range = 0.2, horizontal_flip = True)
test_gen = ImageDataGenerator(rescale = 1./255)
training_set = train_gen.flow_from_directory(r"Iris_Imgs",
target_size = (5, 5), shuffle=True, batch_size = 15, class_mode = 'binary')
train_imgs, train_labels = next(training_set)
test_set = test_gen.flow_from_directory(r"Iris_Imgs",
target_size = (5, 5), shuffle=True, class_mode = 'binary')
test_imgs, test_labels = next(test_set)

您錯誤地使用了 flow_from_directory。 除非您的數據已經分組到子文件夾中,否則 flow_from_directory 將無法正常工作。

使用 flow_from_dataframe。 將圖像的路徑存儲在一列中,將 class_labels 存儲在另一列中。 然后使用 flow_from_dataframe。 這是您應該使用的,因為您的數據未分類在子文件夾中。

暫無
暫無

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

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