arg*_*ab0 9 deep-learning conv-neural-network keras tensorflow
我正在尝试构建一个 CNN 模型来使用 TU-Berlin数据集识别人体草图。我下载了 png zip 文件,将数据导入 Google Colab,然后将数据拆分到 train-test 文件夹中。这是模型:
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)
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
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
Run Code Online (Sandbox Code Playgroud)
我将不胜感激任何可以解决此问题的帮助。谢谢你。
(PS - 我正在运行 Tensorflow 2.2.0 而没有 GPU)
小智 6
我在使用面部表情识别数据集时遇到了同样的错误,这是我解决同样错误的方法。
据我了解,数据集是灰色的,当您使用ImageDataGeneratortensorflow 并flow_from_directory生成训练和验证集时,
您需要根据数据集/图像将 color_mode 指定为灰度或 rgb,这里将是“灰度”,
在模型的第一层 Conv2D 中 input_shape 应该是
input_shape = (height, width, 1), 1 因为它的灰度。
| 归档时间: |
|
| 查看次数: |
6602 次 |
| 最近记录: |