当前位置: 首页 > 知识库问答 >
问题:

张量流卷积神经网络负维数

张晔
2023-03-14

我正在制作这个CNN模型

x_test = np.array(x_test).reshape(-1,IMAGE_SIZE,IMAGE_SIZE,1)
x_train = np.array(x_train).reshape(-1,IMAGE_SIZE,IMAGE_SIZE,1)


model = tf.keras.Sequential()

model.add(Conv2D(16,(3,3),padding='same',input_shape=x_train.shape[1:]))  
model.add(Activation("relu"))
model.add(MaxPooling2D(pool_size=(2,2)))

model.add(Conv2D(32,(3,3),strides=(2,2),padding='valid'))
model.add(Activation("relu"))
model.add(MaxPooling2D(pool_size=(2,2)))

model.add(Conv2D(32,(2,2),padding='same')) 
model.add(Activation("relu"))
model.add(MaxPooling2D(pool_size=(2,2)))

model.add(Conv2D(64,(2,2),strides=(2,2),padding='valid'))
model.add(Activation("relu"))

model.add(GlobalAveragePooling2D())
model.add(Dense(64))
model.add(Activation("relu"))
model.add(Dense(10))
model.add(Activation("softmax"))

'''

但这是给我一个错误:-InvalidArgumentError:负尺寸造成的减去2从1'{{nodeconv2d_115/Conv2D}}=Conv2D[T=DT_FLOAT,data_format="NHWC",膨胀=[1,1,1,1],explicit_paddings=[],填充="VALID",步幅=[1,2,2,1],use_cudnn_on_gpu=true](占位符,conv2d_115/Conv2D/ReadVariableOp)'输入形状:[?,1,1,32],[2,2,32,64]。

在处理上述异常时,发生了另一个异常:

ValueError:由于{{node conv2d\u 115/conv2d}}=conv2d[T=DT\u FLOAT,data\u format=“NHWC”,膨胀=[1,1,1,1],显式\u填充=[],填充=[],有效,跨步=[1,2,2,1],在gpu上使用\u cudnn\u=true](占位符,conv2d\u 115/conv2d/readvariableap)”,输入形状:[?,1,1,32],[2,32,64]。

这个错误是什么意思?我做错了什么?请帮我修一下这个。

共有1个答案

巫经义
2023-03-14

这可能意味着,由于像maxpooling和具有“有效”填充值的conv2d这样的层,一些层的输入变得非常小,以至于其张量的形状为[?,1,1,32],因此它无法执行大小为2的2D maxpooling或2D卷积。在这种情况下,您需要根据输入大小重新设计层(这意味着更改层的数量,或输入大小、跨距、填充选项等)。

 类似资料:
  • 我正在试图理解卷积神经网络中的维度是如何表现的。在下图中,输入为带1个通道的28乘28矩阵。然后是32个5乘5的过滤器(高度和宽度步幅为2)。所以我理解结果是14乘14乘32。但是在下一个卷积层中,我们有64个5×5的滤波器(同样是步幅2)。那么为什么结果是7乘7乘64而不是7乘7乘32*64呢?我们不是将64个滤波器中的每一个应用于32个通道中的每一个吗?

  • 注意: 本教程适用于对Tensorflow有丰富经验的用户,并假定用户有机器学习相关领域的专业知识和经验。 概述 对CIFAR-10 数据集的分类是机器学习中一个公开的基准测试问题,其任务是对一组大小为32x32的RGB图像进行分类,这些图像涵盖了10个类别: 飞机, 汽车, 鸟, 猫, 鹿, 狗, 青蛙, 马, 船以及卡车。 想了解更多信息请参考CIFAR-10 page,以及Alex Kriz

  • 卷积神经网络(Convolutional Neural Network, CNN)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现。卷积神经网络由一个或多个卷积层和顶端的全连通层(对应经典的神经网络)组成,同时也包括关联权重和池化层(pooling layer)。这一结构使得卷积神经网络能够利用输入数据的二维结构。与其他深度学习结构相比,卷积神经网络

  • 在了解了机器学习概念之后,现在可以将注意力转移到深度学习概念上。深度学习是机器学习的一个分支。深度学习实现的示例包括图像识别和语音识别等应用。 以下是两种重要的深度神经网络 - 卷积神经网络 递归神经网络 在本章中,我们将重点介绍CNN - 卷积神经网络。 卷积神经网络 卷积神经网络旨在通过多层阵列处理数据。这种类型的神经网络用于图像识别或面部识别等应用。CNN与其他普通神经网络之间的主要区别在于

  • 主要内容:卷积神经网络深度学习是机器学习的一个分支,它是近几十年来研究人员突破的关键步骤。深度学习实现的示例包括图像识别和语音识别等应用。 下面给出了两种重要的深度神经网络 - 卷积神经网络 递归神经网络。 在本章中,我们将关注第一种类型,即卷积神经网络(CNN)。 卷积神经网络 卷积神经网络旨在通过多层阵列处理数据。这种类型的神经网络用于图像识别或面部识别等应用。 CNN与任何其他普通神经网络之间的主要区别在于CNN

  • 注意: 本教程适用于对Tensorflow有丰富经验的用户,并假定用户有机器学习相关领域的专业知识和经验。 概述 对CIFAR-10 数据集的分类是机器学习中一个公开的基准测试问题,其任务是对一组32x32RGB的图像进行分类,这些图像涵盖了10个类别: 飞机, 汽车, 鸟, 猫, 鹿, 狗, 青蛙, 马, 船以及卡车。 想了解更多信息请参考CIFAR-10 page,以及Alex Krizhev