如何解决警告:ImageDataGenerator 指定 `featurewise_center`,但它不适合任何训练数据?

数据挖掘 机器学习 神经网络 美国有线电视新闻网
2022-03-12 20:25:23

我正在做图像分类,我有一个训练集和一个分布不同的测试集。因此,为了尝试克服这个问题,我通过以下方式使用图像生成器:

trainingset = '/content/drive/My Drive/Colab Notebooks/Train'
testset = '/content/drive/My Drive/Colab Notebooks/Test'


batch_size = 32
train_datagen = ImageDataGenerator(
    featurewise_center=True,
    featurewise_std_normalization=True,
    rescale = 1. / 255,\
    zoom_range=0.1,\
    rotation_range=10,\
    width_shift_range=0.1,\
    height_shift_range=0.1,\
    horizontal_flip=True,\
    vertical_flip=False)

train_generator = train_datagen.flow_from_directory(
    directory=trainingset,
    target_size=(256, 256),
    color_mode="rgb",
    batch_size=batch_size,
    class_mode="categorical",
    shuffle=True
)


test_datagen = ImageDataGenerator(
    featurewise_center=True,
    featurewise_std_normalization=True,
    rescale = 1. / 255
   )



test_generator = test_datagen.flow_from_directory(
    directory=testset,
    #target_size=(256, 256),
    color_mode="rgb",
    batch_size=batch_size,
    class_mode="categorical",
    shuffle=False
)

num_samples = train_generator.n
num_classes = train_generator.num_classes
input_shape = train_generator.image_shape

所以我使用featurewise_center=Trueand featurewise_std_normalization=True,通过做一些研究,我发现它应该可以解决问题,至少一点点。

但是,如果我构建我的 CNN 并对其进行训练,我会收到以下警告:

在此处输入图像描述

我不明白如何解决这个问题,因为如果我尝试按照警告中的说明进行拟合,它会告诉我我需要一个 numpy 数组,而我有一个字符串:

train_datagen.fit(trainingset)

我得到:

    ValueError                                Traceback (most recent call last)
<ipython-input-7-afd35f2bf342> in <module>()
     29     vertical_flip=False)
     30 
---> 31 train_datagen.fit(trainingset)
     32 
     33 train_generator = train_datagen.flow_from_directory(

1 frames
/usr/local/lib/python3.6/dist-packages/numpy/core/_asarray.py in asarray(a, 
dtype, order)
     83 
     84     """
---> 85     return array(a, dtype, copy=False, order=order)
     86 
     87 

ValueError: could not convert string to float: '/content/drive/My Drive/Colab 
 Notebooks/Train'

我已经坚持了好几天了,但我不明白如何解决这个问题。有人可以帮助我吗?提前致谢。

0个回答
没有发现任何回复~