我正在将图像传送到3D卷积网络。该图像是704 x 11 x 3图像,我得到以下错误。列车图像数量为72000,CNN的输入形状为
(704,11,3,1)
。
ValueError:检查输入时出错:预期conv3d\u 1\u输入具有形状(704,11,3,1),但获得具有形状的数组(72000,704,11,3)
下面是我用keras编写的代码,用于向网络提供信息。
x = cv2.imread(image_path)
print (x.shape)
x = np.reshape(x,(1, num_features))
data_x.append(x)
...
# After splitting to train and validation and test
...
train_x = data['train_x']
test_x = data['test_x']
validate_x = data['validate_x']
#Convert into float and normalize
train_x = train_x.astype('float32')
test_x = test_x.astype('float32')
validate_x = validate_x.astype('float32')
train_x = train_x.reshape(train_x.shape[0], 704, 11, 3).astype('float32')
test_x = test_x.reshape(test_x.shape[0], 704, 11, 3).astype('float32')
validate_x = validate_x.reshape(validate_x.shape[0], 704, 11, 3).astype('float32')
train_x = train_x/255
test_x = test_x/255
validate_x = validate_x/255
data['train_x'] = train_x
data['test_x'] = test_x
data['validate_x'] = validate_x
...
train_x = np.expand_dims(train_x, axis=0)
validate_x = np.expand_dims(validate_x, axis=0)
test_x = np.expand_dims(test_x, axis=0)
...
model = Sequential()
model.add(Conv3D(8, kernel_size = (3,3,3),data_format="channels_last",
activation = 'linear', input_shape=(704,11,3,1), padding='same'))
....