来自训练/测试/验证的运动图像的问题分成正确的目录

时间:2019-05-15 14:09:31

标签: python numpy move shutil

我正在尝试根据Keras / Colab教程对自己的图像运行图像分类器。以前,我是将图像手动拆分到train / test / validation文件夹中,并且工作正常。现在,当我将所有图像放入基本目录并拆分它们时遇到问题。

我想知道在使用numpy将图像拆分为训练,测试和验证集之后是否需要将图像直接复制到正确的目录中。

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')

主要问题发生在最后一步,我应该得到以下输出:

  

找到560个属于2类的图像。   
找到了属于2类的120张图像。

但是我却得到:

  

找到0个属于2类的图像。   
找到0个属于2类的图像。

很抱歉,我犯了一些明显的错误。我对python和编码非常陌生,正在尽我所能地遵循答案和教程。

0 个答案:

没有答案