作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
实际上我有关于计算机视觉项目的第一次经验并运行我的代码,并得到这个错误。事实上我为 color_mode='rgb' 编写了一个代码,另一个为 color_mode='grayescale'... 当我运行时RGB 的代码没问题,但对于灰度,我得到了这个错误。
输入深度必须能被过滤深度整除:1 vs 3 [[{{节点模型/conv1_conv/Conv2D}}]]
我只是改变颜色模式'''
BATCH_SIZE=32
totalTrain=3980
totalVal=334
TARGET_SIZE=(640,480)
train_datagen = ImageDataGenerator(
rescale=1./255,
shear_range=0.2,
zoom_range=0.2,
horizontal_flip=True)
valid_generate = ImageDataGenerator(
rescale=1./255,
shear_range=0.2,
zoom_range=0.2,
horizontal_flip=True)
train = train_datagen.flow_from_dataframe(
dataframe=train_df,
directory=t_dir,
x_col="filename",
y_col="class",
target_size=TARGET_SIZE,
color_mode='grayscale',
batch_size=BATCH_SIZE,
class_mode='categorical',
shuffle=True)
validation = valid_generate.flow_from_dataframe(
dataframe=valid_df,
directory=t_dir,
x_col="filename",
y_col="class",
target_size=TARGET_SIZE,
color_mode='grayscale',
batch_size=BATCH_SIZE,
class_mode='categorical',
shuffle=True)
gen = ImageDataGenerator(rescale=1./255)
test = gen.flow_from_directory(
directory=test_path, class_mode="categorical", target_size=TARGET_SIZE,color_mode='grayscale', batch_size=BATCH_SIZE)
base_model = ResNet50(include_top=False, weights='imagenet',
input_shape=(TARGET_SIZE[0], TARGET_SIZE[1], 3))
x = base_model.output
x = GlobalAveragePooling2D(name='avg_pool')(x)
x = Dense(2, activation='softmax', name='probs')(x)
model = Model(base_model.input, x)
model.compile(optimizer=Adam(lr=LEARNING_RATE),
loss='categorical_crossentropy',
metrics=['accuracy'])
print("start training ...")
history = model.fit(train,
steps_per_epoch=totalTrain // BATCH_SIZE,
epochs=EPOCHS,
validation_data=validation,
validation_steps=totalVal//BATCH_SIZE)
'''
最佳答案
已解决。不要使用 color_mode='grayescale',将其保留为 RGB 并添加此函数以将其作为 预处理函数
def gray_to_rgb(img):
x=np.dot(img[...,:3], [0.2989, 0.5870, 0.1140])
mychannel=np.repeat(x[:, :, np.newaxis], 3, axis=2)
return mychannel
关于python - 输入深度必须能被过滤深度 : 1 vs 3 [[{{node model/conv1_conv/Conv2D}}]] 整除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61407465/
我是一名优秀的程序员,十分优秀!