我正在为emojify项目使用来自kaggle的FERN 2013数据集。数据集由48X48灰度图像组成。当我去训练模型时,我会得到一个错误,如下所示
UnimplementedError:融合的conv实现目前不支持分组卷积。[节点顺序3/卷积2d_6/Relu(定义为:1) ]
函数调用堆栈: train_function
我的代码如下:
import numpy as np
import tensorflow as tf
from keras.preprocessing.image import ImageDataGenerator
train_datagen = ImageDataGenerator(horizontal_flip=True)
training_set = train_datagen.flow_from_directory('train/', batch_size=32, class_mode='categorical')
test_datagen = ImageDataGenerator(horizontal_flip=True)
test_set = test_datagen.flow_from_directory('test/', batch_size=32, class_mode='categorical')
cnn = tf.keras.models.Sequential()
cnn.add(tf.keras.layers.Conv2D(filters=32, kernel_size=3, activation='relu', input_shape=(48, 48, 1)))
cnn.add(tf.keras.layers.MaxPool2D(pool_size=2, strides=2))
cnn.add(tf.keras.layers.Conv2D(filters=32, kernel_size=3, activation='relu', input_shape=(48, 48, 1)))
cnn.add(tf.keras.layers.MaxPool2D(pool_size=2, strides=2))
cnn.add(tf.keras.layers.Flatten())
cnn.add(tf.keras.layers.Dense(units=128, activation='relu'))
cnn.add(tf.keras.layers.Dense(units=1, activation='sigmoid'))
cnn.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])
cnn.fit(x=training_set, validation_data=test_set, epochs=25)发布于 2021-10-27 05:36:49
我也遇到过同样的问题。我发现了错误。我的input_data'shape不同于input_shape。我的input_shape是三维的,但我的input_data'shape是一维的.
发布于 2021-10-27 05:46:15
在此之后,错误可能出现在train_datagen.flow_from_directory中,这个函数有一个param--塔吉特_ size,如果您不设置,输出可能是(256,256) (图像的大小),这与您不知道是否正确的input_shape.I不同,您可以尝试。如果这对你有帮助,那就太好了!
https://stackoverflow.com/questions/64870815
复制相似问题