Python 获取无效参数:所有输入的形状必须匹配:值[0]。形状=[401408]!=值[1]。在keras中使用IoU度量时,形状=[24485888]
我正在使用UNet对TACO数据集进行训练,它是COCO格式的。我试着用精度指标训练我的模型,结果验证精度和精度都达到了1.000,这实在太好了,不可能是真的。有人告诉我准确度并不是一个适合分割问题的标准,这就是为什么我尝试使用IoU。不幸的是,我遇到以下错误:Python 获取无效参数:所有输入的形状必须匹配:值[0]。形状=[401408]!=值[1]。在keras中使用IoU度量时,形状=[24485888],python,tensorflow,machine-learning,keras,Python,Tensorflow,Machine Learning,Keras,我正在使用UNet对TACO数据集进行训练,它是COCO格式的。我试着用精度指标训练我的模型,结果验证精度和精度都达到了1.000,这实在太好了,不可能是真的。有人告诉我准确度并不是一个适合分割问题的标准,这就是为什么我尝试使用IoU。不幸的是,我遇到以下错误: InvalidArgumentError: 2 root error(s) found. (0) Invalid argument: Shapes of all inputs must match: values[0].shape
InvalidArgumentError: 2 root error(s) found.
(0) Invalid argument: Shapes of all inputs must match: values[0].shape = [401408] != values[1].shape = [24485888]
[[node confusion_matrix/stack_1 (defined at <ipython-input-7-4238ab807505>:96) ]]
(1) Invalid argument: Shapes of all inputs must match: values[0].shape = [401408] != values[1].shape = [24485888]
[[node confusion_matrix/stack_1 (defined at <ipython-input-7-4238ab807505>:96) ]]
[[confusion_matrix/stack_1/_96]]
其中输入图像大小=(224224)。在我的UNet模型中,输入层如下所示:
##Input Layer
inputs = Input((IMG_WIDTH, IMG_HEIGHT, IMG_CHANNELS))
其中,IMG_宽度和IMG_高度均为224,且IMG_通道=3。我还使用稀疏分类交叉熵作为损失函数。我是个新手,不知道自己做错了什么。任何帮助都将不胜感激。
干杯 嗨,你解决了吗?嗨,你解决了吗?
##Input Layer
inputs = Input((IMG_WIDTH, IMG_HEIGHT, IMG_CHANNELS))