我正在嘗試構建用于圖像分割的 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
提交
取消