我正在尝试运行一个基于Keras/Colab教程的图像分类器。以前,我手动将图像分割到train/test/validation文件夹中,效果很好。现在,当我把所有的图像放到基本目录中并拆分它们时,我遇到了问题
我想知道在使用numpy将图像分割成train、test、validation集之后,是否需要将图像直接复制到适当的目录
base_dir = 'drive/Colab/EV3/Base/'
like = os.path.join(base_dir, 'Like')
dislike = os.path.join(base_dir, 'Dislike')
trn_dir = 'drive/Colab/EV3/Train/'
val_dir = 'drive/Colab/EV3/Valid/'
tst_dir = 'drive/Colab/EV3/Test/'
trn_like = os.path.join(trn_dir, 'Like')
val_like = os.path.join(val_dir, 'Like')
tst_like = os.path.join(tst_dir, 'Like')
trn_disl = os.path.join(trn_dir, 'Dislike')
val_disl = os.path.join(val_dir, 'Dislike')
tst_disl = os.path.join(tst_dir, 'Dislike')
like_fnames.sort ()
np.random.shuffle(like_fnames)
disl_fnames = os.listdir(dislike)
disl_fnames.sort ()
np.random.shuffle(disl_fnames)
trn_like, val_like, tst_like = np.split(like_fnames, [int(.7*len(like_fnames)), int(.85*len(like_fnames))])
trn_disl, val_disl, tst_disl = np.split(disl_fnames, [int(.7*len(disl_fnames)), int(.85*len(disl_fnames))])
image_size = 640
batch_size = 112
train_datagen = keras.preprocessing.image.ImageDataGenerator(
rescale=1./255)
validation_datagen = keras.preprocessing.image.ImageDataGenerator(
rescale=1./255)
train_generator = train_datagen.flow_from_directory(
trn_dir,
target_size=(image_size, image_size),
batch_size=batch_size,
class_mode='binary')
validation_generator = validation_datagen.flow_from_directory(
val_dir,
target_size=(image_size, image_size),
batch_size=batch_size,
class_mode='binary')
主要问题发生在最后一步,我应该得到一个输出:
Found 560 images belonging to 2 classes.
Found 120 images belonging to 2 classes.
但我得到的却是:
Found 0 images belonging to 2 classes.
Found 0 images belonging to 2 classes.
如果我犯了重大的,明显的错误,我道歉。我对python和代码非常陌生,我正在尽我所能地遵循答案和教程
目前没有回答
相关问题 更多 >
编程相关推荐