我正在尝试构建用于图像分割的 Unet 卷积神经网络,但当我尝试使用输入数据编译模型时,收到形状不兼容的错误消息。print(x_data.shape)print(x_test.shape)print(y_data.shape)print(y_test.shape)>>(4, 767, 1022, 3)(4, 767, 1022, 3)(4, 767, 1022, 3)(4, 767, 1022, 3)>>>>model = sm.Unet('resnet34', classes=1, activation='sigmoid')model.compile( 'Adam', loss=sm.losses.bce_jaccard_loss, metrics=[sm.metrics.iou_score],)>>>>model.fit( x=x_data, y=y_data, batch_size=16, epochs=100, validation_data=(x_test, y_test),)>>Epoch 1/100---------------------------------------------------------------------------ValueError Traceback (most recent call last)<ipython-input-27-6cf659e4ef4f> in <module>() 4 batch_size=16, 5 epochs=100,----> 6 validation_data=(x_test, y_test), 7 )10 frames/usr/local/lib/python3.6/dist-packages/tensorflow/python/framework/func_graph.py in wrapper(*args, **kwargs) 971 except Exception as e: # pylint:disable=broad-except 972 if hasattr(e, "ag_error_metadata"):--> 973 raise e.ag_error_metadata.to_exception(e) 974 else: 975 raise当我已经检查了所有输入形状是否匹配时,问题到底是什么?忽略了什么以及如何解决?我已经尝试过了import keraskeras.backend.set_image_data_format('channels_first')如此处所示https://github.com/titu1994/Image-Super-Resolution/issues/27,但问题仍然存在。使用谷歌 Colab。
1 回答
斯蒂芬大帝
TA贡献1827条经验 获得超8个赞
有点晚了,但你的问题来自于输入宽度和高度不能被 32 整除;确保您使用的 UNet 值可以被 32 整除,您的问题就会得到解决。
您无需更改 Colab 环境或将通道顺序设置为channel_first
。
添加回答
举报
0/150
提交
取消