Я пытался создать модель CNN для регрессии изображения. Я создал фрейм данных с абсолютными путями изображений (X) и их соответствующими значениями Y. Я разделил фрейм данных, используя train_test_split method
, и я хотел бы знать, возможно ли использовать эти разбиения вместо того, чтобы давать имена столбцов X_col
и y_col
для генераторов flow_from_directory
.
Я приложил свой код с выводом. Буду очень признателен, если кто-нибудь сможет мне помочь. Заранее спасибо.
# X ---> /content/drive/My Drive/Colab/folder/.jpg
# y ---> dataframe['column']
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=1)
X_train, X_val, y_train, y_val = train_test_split(X_train, y_train, test_size=0.25, random_state=1)
datagen = ImageDataGenerator(
rotation_range=40,
width_shift_range=0.2,
height_shift_range=0.2,
rescale=1./255,
shear_range=0.2,
zoom_range=0.2,
horizontal_flip=True,
fill_mode='nearest',
validation_split=0.25)
train_generator=datagen.flow_from_dataframe(dataframe=chondro, # <---- My Dataframe
directory=None, # <---- None since splits have absolute paths
x_col=X_train, # <---- My x training split
y_col=y_train, # <---- My y training split
subset="training",
batch_size=32,
seed=42,
shuffle=True,
class_mode="raw",
target_size=(256,256))
valid_generator=datagen.flow_from_dataframe(dataframe=chondro, # <---- My Dataframe
directory=None, # <---- None since splits have absolute paths
x_col=X_val, # <---- My x validation split
y_col=y_val, # <---- My y validation split
subset="validation",
batch_size=32,
seed=42,
shuffle=True,
class_mode="raw",
target_size=(256,256))
test_datagen=ImageDataGenerator(rescale=1./255.)
test_generator=test_datagen.flow_from_dataframe(dataframe=chondro, # <---- My Dataframe
directory=None, # <---- None since splits have absolute paths
x_col=X_test, # <---- My x test split
y_col=y_test, # <---- My y test split
batch_size=32,
seed=42,
shuffle=False,
class_mode=None,
target_size=(256,256))
--------------------------------------------------------------------------
Found 0 validated image filenames. # <--- I want to use the train split
Found 0 validated image filenames. # <--- I want to use the validation split
Found 0 validated image filenames. # <--- I want to use the training split
/usr/local/lib/python3.6/dist-packages/keras_preprocessing/image/dataframe_iterator.py:273: UserWarning: Found 664 invalid image filename(s) in x_col="ID". These filename(s) will be ignored.
.format(n_invalid, x_col)