【发布时间】:2018-07-09 03:53:41
【问题描述】:
我有一个与下面类似的模型,但是在修改架构后,我不断收到以下错误:
对于输入形状为 [?,4,80,64], [5,5,64,64] 的“conv2d_5/convolution”(操作:“Conv2D”),从 4 中减去 5 导致的负维度大小。
我还是机器学习的新手,所以我不太了解这些参数。有什么帮助吗?
model_img = Sequential(name="img")
# Cropping
model_img.add(Cropping2D(cropping=((124,126),(0,0)), input_shape=(376,1344,3)))
# Normalization
model_img.add(Lambda(lambda x: (2*x / 255.0) - 1.0))
model_img.add(Conv2D(16, (7, 7), activation="relu", strides=(2, 2)))
model_img.add(Conv2D(32, (7, 7), activation="relu", strides=(2, 2)))
model_img.add(Conv2D(32, (5, 5), activation="relu", strides=(2, 2)))
model_img.add(Conv2D(64, (5, 5), activation="relu", strides=(2, 2)))
model_img.add(Conv2D(64, (5, 5), activation="relu", strides=(2, 2)))
model_img.add(Conv2D(128, (3, 3), activation="relu"))
model_img.add(Conv2D(128, (3, 3), activation="relu"))
model_img.add(Flatten())
model_img.add(Dense(100))
model_img.add(Dense(50))
model_img.add(Dense(10))
model_lidar = Sequential(name="lidar")
model_lidar.add(Dense(32, input_shape=(360,)))
model_lidar.add(Dropout(0.1))
model_lidar.add(Dense(10))
model_imu = Sequential(name='imu')
model_imu.add(Dense(32, input_shape=(10, )))
model_imu.add(Dropout(0.1))
model_imu.add(Dense(10))
merged = Merge([model_img, model_lidar, model_imu], mode="concat")
model = Sequential()
model.add(merged)
model.add(Dense(16))
model.add(Dropout(0.2))
model.add(Dense(1))
答案:由于传感器问题,我无法完成训练,但由于下面的 2 个答案,模型现在可以正常工作
【问题讨论】:
标签: python neural-network keras