首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UnimplementedError:融合的conv实现目前不支持分组卷积

UnimplementedError:融合的conv实现目前不支持分组卷积
EN

Stack Overflow用户
提问于 2020-05-14 11:16:33
回答 5查看 13.5K关注 0票数 13

我正试图建立一个CNN模型来识别使用杜柏林数据集的人类素描。我下载了png压缩文件,将数据导入Google,然后将数据拆分到火车测试文件夹中。以下是模型:

代码语言:javascript
复制
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)

我得到了以下错误:

代码语言:javascript
复制
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)

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2021-02-15 06:28:51

使用面部表情识别数据集,我也犯了同样的错误,下面是我如何解决这个错误的方法。

据我所知,数据集是灰色的,当您使用ImageDataGenerator of tensorflow和flow_from_directory生成训练和验证集时,

需要根据数据集/图像将color_mode指定为灰度或rgb,这里将是“灰度”,

在模型的第一层Conv2D中,input_shape应该是

input_shape = (height, width, 1),1,因为它的灰度。

票数 9
EN

Stack Overflow用户

发布于 2020-08-09 22:23:37

我也有一个类似的错误,问题是我的图像的频道数和我在模型中指定的频道数。因此,检查图像的维数并检查输入形状中指定的值,确保它们是相同的。

票数 13
EN

Stack Overflow用户

发布于 2021-06-25 06:19:35

只需在目录流中提到color_mode="grayscale"并检查您的模型输入(height,width,1)

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61796021

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档