错误:Tensorflow CNN 维度

2023-12-06

你好。我是 Tensorflow 新手,尝试使用 CNN 运行 cifar10 数据集。 我的网络由三层构成,例如

  1. 卷积+最大池化
  2. 全连接层
  3. Softmax层

下面是我的模型的张量流代码。

15 def model(X, w, w2, w_o, p_keep_conv, p_keep_hidden):
16 
17     layer1 = tf.nn.relu(tf.nn.conv2d(X, w,strides=[1, 1, 1, 1], padding='SAME'))
18     layer1 = tf.nn.max_pool(l1, ksize=[1, 2, 2, 1],strides=[1, 2, 2, 1], padding='SAME')
19 
20     layer1 = tf.reshape(l1,[-1,w2.get_shape().as_list()[0]])
21     layer1 = tf.nn.dropout(l1, p_keep_conv)
22 
23     layer2 = tf.nn.relu(tf.matmul(layer1, w2))
24     layer2 = tf.nn.dropout(l4, p_keep_hidden)
25 
26     pyx = tf.matmul(layer2, w_o)
27     return pyx
28 

输入图像具有 [-1, 32, 32, 3] 形状。(32*32 像素,RGB)

由于max pooling的filter为[1,2,2,1],stride为[1,2,2,1],输出通道为5,

我认为最大池化层和全连接层之间的权重形式(下面代码中的w2)需要为[5*16*16*3, 125]。

(5:通道,16:32/2 像素,3:RGB,125:输出神经元数量)

下面是我的参数的张量流代码。

60 trX = trX.reshape(-1, 32, 32, 3)  # 32x32x3 input img
61 teX = teX.reshape(-1, 32, 32, 3)  # 32x32x3 input img
62 
63 X = tf.placeholder("float", [None, 32, 32, 3])
64 Y = tf.placeholder("float", [None, 10])
65 
66 w = init_weights([5, 5, 3, 5])
67 w2 = init_weights([5*16*16*3, 125])
68 w_o = init_weights([125, 10])
69 
70 p_keep_conv = tf.placeholder("float")
71 p_keep_hidden = tf.placeholder("float")
72 
73 py_x = model(X, w, w2, w_o, p_keep_conv, p_keep_hidden)
74 
75 cost = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(py_x, Y))
76 #train_op = tf.train.RMSPropOptimizer(0.001, 0.9).minimize(cost)
77 train_op = tf.train.AdamOptimizer(1e-4).minimize(cost)
78 predict_op = tf.argmax(py_x, 1)
79 

但是它向我显示了如下错误。

Traceback (most recent call last):

File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/tensorflow/python/client/session.py", line 715, in _do_call

return fn(*args)

File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/tensorflow/python/client/session.py", line 697, in _run_fn

status, run_metadata)

File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/contextlib.py", line 66, in __exit__

next(self.gen)

File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/tensorflow/python/framework/errors.py", line 450, in raise_exception_on_not_ok_status

pywrap_tensorflow.TF_GetCode(status))

tensorflow.python.framework.errors.InvalidArgumentError: Input to reshape is a tensor with 6400 values, but the requested shape requires a multiple of 3840

[[Node: Reshape = Reshape[T=DT_FLOAT, _device="/job:localhost/replica:0/task:0/cpu:0"](MaxPool, Reshape/shape)]]

During handling of the above exception, another exception occurred:

Traceback (most recent call last):

File "convCifar.py", line 99, in <module>

p_keep_conv: 0.8, p_keep_hidden: 0.5})

File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/tensorflow/python/client/session.py", line 372, in run

run_metadata_ptr)

File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/tensorflow/python/client/session.py", line 636, in _run

feed_dict_string, options, run_metadata)

File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/tensorflow/python/client/session.py", line 708, in _do_run

target_list, options, run_metadata)

File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/tensorflow/python/client/session.py", line 728, in _do_call

raise type(e)(node_def, op, message)

tensorflow.python.framework.errors.InvalidArgumentError: Input to reshape is a tensor with 6400 values, but the requested shape requires a multiple of 3840

[[Node: Reshape = Reshape[T=DT_FLOAT, _device="/job:localhost/replica:0/task:0/cpu:0"](MaxPool, Reshape/shape)]]

Caused by op 'Reshape', defined at:

File "convCifar.py", line 82, in <module>

py_x = model(X, w, w4, w_o, p_keep_conv, p_keep_hidden)

File "convCifar.py", line 27, in model

l1 = tf.reshape(l1,[-1,w4.get_shape().as_list()[0]])

File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/tensorflow/python/ops/gen_array_ops.py", line 1383, in reshape

name=name)

File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/tensorflow/python/ops/op_def_library.py", line 704, in apply_op

op_def=op_def)

File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/tensorflow/python/framework/ops.py", line 2260, in create_op

original_op=self._default_original_op, op_def=op_def)

File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/tensorflow/python/framework/ops.py", line 1230, in __init__

self._traceback = _extract_stack()

我认为问题在于“w2”的维度(最大池层和全连接层之间的权重)。另外,我不明白6400是如何发生的。

如何修复该错误?

如果信息量很小,请告诉我。 谢谢你!


错误tensorflow.python.framework.errors.InvalidArgumentError: Input to reshape is a tensor with 6400 values, but the requested shape requires a multiple of 3840表明输入张量tf.reshape()第 20 行中的多个值不是 3840 的倍数。

那是因为张量l1未在函数内定义model(您可能之前使用过它并且它可能有 6400 个值)。你可能想要设置l1=layer1。注意张量l4未在函数中定义model either.

如果我的回答不能解决您的错误,请告诉我。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

错误:Tensorflow CNN 维度 的相关文章

随机推荐

  • 在 Get-ChildItem 中指定 *.xls 过滤器也会返回 *.xlsx 结果

    我有一个包含 xls xlsx 和 xlsm 文件的文件夹 并且想仅过滤 xls 文件 为什么以下行不能按我的预期工作 我看到 xls xlsx 和 xlsm 结果 Get ChildItem Get Location Filter xls
  • 验证错误消息有效时不会隐藏

    更新2 我发现输入的标题由于某种原因被显示为错误消息 我使用忽略标题 true以确保标题不会显示为错误消息 However 现在我的新问题是 一旦我输入有效的电子邮件地址 错误消息仍然不会消失 如何修复验证错误消息 使其在输入字段有效时隐藏
  • Ionic2 的字体很棒

    如何使用 Font Awesome 图标
  • 有没有办法判断传入的变量是引用类型还是值类型?

    在Swift中 有没有办法通过代码判断传入的变量是引用类型还是值类型 例如 元组是值类型还是引用类型 一切是一个值类型 除了 一个类的实例 一个功能 一个数组 其工作方式很奇怪 它通过引用传递 但如果它是可变的并且项目数量发生更改 则可以与
  • 如何找到加载缓慢的 SAPUI5 应用程序的加载瓶颈

    我正在构建一个自定义 SAPUI5 应用程序 其中包含七个图表 sap viz ui5 controls VizFrame 在页面的标题内容中 嵌套在sap suite ui commons ChartContainer 和网格表 sap
  • 脚本循环遍历目录中的文件

    我有以下代码 它使用我需要的数据从 shp file 创建我需要的 txt 文件 我有一个名为 profile 的文件夹 其中包含一些名为 profil1 shp profil2 shp profil3 shp 等 的形状文件 我想知道如何
  • 如何在Spring-kafka中实现ConsumerSeekAware?

    我正在尝试使用 KafkaListener 实现消费者 我正在使用Spring2 3 7版本 这是到目前为止我的代码 public class SampleListener KafkaListener topics test topic c
  • 从命令行编译适用于 iOS 9 的 C 库,Xcode 7-beta 2

    我在使用最新的 Xcode 7 beta clang 编译适用于 iOS 9 的 C 库 gmp 时遇到问题 我正在尝试生成位码以使 Xcode 中的所有警告停止 并且我想以位码生成这些库 但是 我什至无法首先编译该库 configure
  • MonoTouch:在 Retina 显示屏上调整色调时外观图像尺寸加倍

    我正在使用此代码设置导航栏的背景 该代码在视网膜和非视网膜显示器中效果很好 有一个 2x 和普通图像 所以 一切都好 UINavigationBar Appearance SetBackgroundImage GetImage ImageT
  • Web 服务 - Xml 包含在派生类而不是基类中?

    我使用抽象类作为 Web 服务调用中的参数 目前 我在基类中包含派生类的 XmlInclude 如下所示 XmlInclude typeof DerivedClass public abstract class BaseClass 但是 我
  • 暂停 python 脚本等待按键

    我有一个相对简单的脚本和一个可能简单的问题 在互联网上 我收集了一些关于如何使用直接按键作为 python 代码中的输入的解决方案 我更喜欢这些而不是 raw input 因为它感觉更快 就像如果我有一个包含 3 个选项的菜单 并且每个选项
  • 将 cmd 构建到 Tkinter 窗口中

    您好 我想知道启动程序时是否可以将命令提示符框弹出到 Tkinter 窗口中 就像是 from Tkinter import admin Tk cmd Cmd admin cmd pack admin mainloop 我在窗户上 http
  • Gitflow:将版本错误修复合并回 master 进行开发

    我的问题是围绕 gitflow 流程中的一个非常具体的点 如文档所述here 我已经合并了错误修复release 1 2 into master 并进行适当标记 除了历史看起来如何之外 反向合并与release 1 2与从后合并master
  • 我如何从views.py编辑/更改模型字段的值

    今天是个好日子 我想知道如何通过定义的会话列表中的项目数更改模型字段的值 我已经制作了一个配置文件模型 这是用户模型的 OneToOne Field 在我的 models py 中有一个 级别 字段 如下所示 在 view py 中 我创建
  • P文本添加到html文本中

    我知道这方面有很多主题 而且我已经查看了所有主题 但其中没有一个解决方案适用于我 我在页面编辑器的 文本 一侧放置了一个短代码来运行响应式滑块的 jscript 然而 当我加载页面时 源代码在每一行 JavaScript 后面都有大量的段落
  • 我应该在 Flutter 插件的 Swift 本机代码中传递哪个视图控制器?

    我试图在我的 Flutter 插件中显示来自 Swift 本机代码的 Adcolony 广告 这就是我的 swift 代码的样子 if let interstitial self interstitial interstitial expi
  • MacOS:以编程方式查找串行端口?

    MacOS 中是否有库调用来列出可用的串行端口及其设置 希望有一天能以最小的难度移植到 iOS 上 我宁愿不system ls dev tty and system stty 如果可能的话 您可以使用 IOKit 调用来查找串行端口 See
  • NSTimer Category + Blocks 实现替换选择器

    我对块和 Objective C 很陌生 我正在尝试使用两者来编写我的第一个类别 我的想法是在 NSTimer 上创建一个类别 它将接收一个块作为参数 并且该块将在选择器调用中使用 现在我有这个 NSTimer Additions h im
  • 可靠的数据服务

    如何确保我的文件服务可靠且可扩展 它可以处理多少个并行请求 我正在思考超越硬件能力和带宽的问题 我正在关注在 java servlet 中流式传输大文件 如果这些是静态文件 只需链接到它directly 所有像样的 servlet 容器 应
  • 错误:Tensorflow CNN 维度

    你好 我是 Tensorflow 新手 尝试使用 CNN 运行 cifar10 数据集 我的网络由三层构成 例如 卷积 最大池化 全连接层 Softmax层 下面是我的模型的张量流代码 15 def model X w w2 w o p k