ValueError: Negative dimension size caused by subtracting 5 from 1 for ‘{{node le_net5/conv2d/Conv2D

2021/12/26 22:07:52

本文主要是介绍ValueError: Negative dimension size caused by subtracting 5 from 1 for ‘{{node le_net5/conv2d/Conv2D,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

ValueError: Negative dimension size caused by subtracting 5 from 1 for '{{node le_net5/conv2d/Conv2D}} = Conv2D[T=DT_FLOAT, data_format="NHWC", dilations=[1, 1, 1, 1], explicit_paddings=[], padding="VALID", strides=[1, 1, 1, 1], use_cudnn_on_gpu=true](le_net5/Cast, le_net5/conv2d/Conv2D/ReadVariableOp)' with input shapes: [32,1,28,28], [5,5,28,6].

使用Tensorflow搭建LeNet5训练Mnist数据集,出错的原因是图像数据维度的问题,输入模型的数据应该是三维,即 (32,32,3)或者(3,32,32),TensorFlow默认接受的是第一种方式,即(width,height,channel)
解决方法:
法一:在(60000,32,32)添加一个维度,填在最后面变成(60000,32,32,3)

train_images = tf.expand_dims(train_images, axis=3)

法二:修改TenforFlow默认指定通道方式

backend.set_image_data_format("channels_first")


这篇关于ValueError: Negative dimension size caused by subtracting 5 from 1 for ‘{{node le_net5/conv2d/Conv2D的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程