我正试图建立一个CNN模型来识别使用杜柏林数据集的人类素描。我下载了png压缩文件,将数据导入Google,然后将数据拆分到火车测试文件夹中。以下是模型:
model = tf.keras.models.Sequential([
tf.keras.layers.Conv2D(filters = 64, kernel_size = (5,5),padding = 'Same',
activation ='relu', input_shape = target_dims),
tf.keras.layers.Conv2D(filters = 64, kernel_size = (5,5),padding = 'Same',
activation ='relu'),
tf.keras.layers.MaxPool2D(pool_size=(2,2)),
tf.keras.layers.Dropout(0.25),
tf.keras.layers.Conv2D(filters = 128, kernel_size = (3,3),padding = 'Same',
activation ='relu'),
tf.keras.layers.Conv2D(filters = 128, kernel_size = (3,3),padding = 'Same',
activation ='relu'),
tf.keras.layers.MaxPool2D(pool_size=(2,2), strides=(2,2)),
tf.keras.layers.Dropout(0.25),
tf.keras.layers.Conv2D(256, kernel_size=4, strides=1, activation='relu', padding='same'),
tf.keras.layers.Conv2D(256, kernel_size=4, strides=2, activation='relu', padding='same'),
tf.keras.layers.Dropout(0.25),
tf.keras.layers.Flatten(),
tf.keras.layers.Dense(512, activation = "relu"),
tf.keras.layers.Dropout(0.5),
tf.keras.layers.Dense(n_classes, activation= "softmax")
])
model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=["accuracy"])
model.fit_generator(train_generator, epochs=10, validation_data=val_generator)我得到了以下错误:
UnimplementedError: Fused conv implementation does not support grouped convolutions for now.
[[node sequential/conv2d/Relu (defined at <ipython-input-9-36d4624b896d>:1) ]] [Op:__inference_train_function_1358]
Function call stack:
train_function如果能提供任何帮助来解决这个问题,我将不胜感激。谢谢。
(PS -我运行的是Tensorflow 2.2.0,没有GPU)
发布于 2021-02-15 06:28:51
使用面部表情识别数据集,我也犯了同样的错误,下面是我如何解决这个错误的方法。
据我所知,数据集是灰色的,当您使用ImageDataGenerator of tensorflow和flow_from_directory生成训练和验证集时,
需要根据数据集/图像将color_mode指定为灰度或rgb,这里将是“灰度”,
在模型的第一层Conv2D中,input_shape应该是
input_shape = (height, width, 1),1,因为它的灰度。
发布于 2020-08-09 22:23:37
我也有一个类似的错误,问题是我的图像的频道数和我在模型中指定的频道数。因此,检查图像的维数并检查输入形状中指定的值,确保它们是相同的。
发布于 2021-06-25 06:19:35
只需在目录流中提到color_mode="grayscale"并检查您的模型输入(height,width,1)。
https://stackoverflow.com/questions/61796021
复制相似问题