TF2.0:ValueError: logits and labels must have the same shape ((?, 1) vs (?,))

报错如题:ValueError: logits and labels must have the same shape ((?, 1) vs (?,))

发现我自己的问题:我在使用CNN进行猫狗数据集训练时,开始训练后报上面的错,根据意思应该是预测与实际标签尺寸(张量尺寸)不统一!

问题所在:我发现在从卷积部分进入到全连接部分时,我使用了一个tf.keras.MaxPooling2D的池化层作为卷积部分的收尾,但是该层的输出竟然不是一维张量!而依据是图片尺寸:(x,y,z)!即问题就出在:进入全连接层的数据并没有进行展平操作(进入Dense的数据必须是1维的,而图片是3维的)!—— tf.keras.MaxPooling2D单纯就是一个池化层!!没有任何展平的含义!

修改:在进入Dense层前加tf.keras.GlobalAveragePooling2D()层 —— 该层其实就是一个展平层!是一个处理图片时比tf.keras.Flatten()效果更好的展平层!

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容