TensorFlow的无效参数错误(形状不兼容)

斯蒂法诺·基拉(Stefano Kira)

我正在尝试为MNIST数据集训练一个具有tensorflow的简单网络。目前,尽管它不起作用。它基本上是TensorFlow网站上给出的示例的修改版本。我只是更改了几行,然后删除了一层,以查看发生了什么。这是我的代码:

#!/usr/bin/python

import input_data
import tensorflow as tf
#MNIST dataset
def weight_variable(shape):
    initial=tf.truncated_normal(shape,stddev=0.1)
    return tf.Variable(initial)

def bias_variable(shape):
    initial=tf.constant(0.1,shape=shape)
    return tf.Variable(initial)
def conv2d(x,W):
    return tf.nn.conv2d(x,W,strides=[1,1,1,1],padding='SAME')
def max_pool_2x2(x):
    return tf.nn.max_pool(x,ksize=[1,2,2,1],strides=[1,2,2,1],padding='SAME')
mnist=input_data.read_data_sets('MNIST_data',one_hot=True)
x=tf.placeholder("float",shape=[None,784])
y=tf.placeholder("float",shape=[None,10])
x_image=tf.reshape(x,[-1,28,28,1])

#Layer 1: convolutional+max pooling

W_conv2=weight_variable([5,5,1,64])
b_conv2=bias_variable([64])

h_conv2=tf.nn.relu(conv2d(x_image,W_conv2)+b_conv2)
h_pool2=max_pool_2x2(h_conv2)

#Layer 2: ReLU+Dropout

W_fc1=weight_variable([7*7*64,1024])
b_fc1=bias_variable([1024])
h_pool2_flat=tf.reshape(h_pool2,[-1,7*7*64])
h_fc1=tf.nn.relu(tf.matmul(h_pool2_flat,W_fc1)+b_fc1)

keep_prob=tf.placeholder("float")
h_fc1_drop=tf.nn.dropout(h_fc1,keep_prob)

#Layer 3: softmax

W_fc4=weight_variable([1024,10])
b_fc4=bias_variable([10])
y_hat=tf.nn.softmax(tf.matmul(h_fc1_drop,W_fc4)+b_fc4)

cross_entropy=-tf.reduce_sum(y*tf.log(y_hat))
train_step=tf.train.AdamOptimizer(1e-4).minimize(cross_entropy)
sess=tf.InteractiveSession()
sess.run(tf.initialize_all_variables())
correct_prediction=tf.equal(tf.argmax(y,1),tf.argmax(y_hat,1))
accuracy=tf.reduce_mean(tf.cast(correct_prediction,"float"))

for n in range(20000):
    batch=mnist.train.next_batch(50)
    if n % 100 == 0:
        train_accuracy = accuracy.eval(feed_dict={x:batch[0],y:batch[1],keep_prob:1.0})
        print "step %d,training accuracy %g" % (n,train_accuracy)
    sess.run(train_step,feed_dict={x:batch[0],y:batch[1],keep_prob:0.5})

print "test accuracy %g" % accuracy.eval(feed_dict={x:mnist.test.images, y:mnist.test.labels,keep_prob:1.0})

当我尝试执行它时,它崩溃了,提示我一个ArgumentError:

W tensorflow/core/common_runtime/executor.cc:1027] 0x7fceb58a4200 Compute status: Invalid argument: Incompatible shapes: [50] vs. [200]
特里斯坦·里德(Tristan Reid)

您需要您的步幅大小以将输出缩小到正确的形状-这应该可以解决(注意与您的步幅相比):

def conv2d(x, W):
  return tf.nn.conv2d(x, W, strides=[1, 2, 2, 1], padding='SAME')

要解决此类问题,请尝试打印.get_shape()所有变量。Tensor和Variable都具有此功能-它将使您对正在发生的事情有更好的了解,并将极大地帮助您进行故障排除。

这是一些有助于您解决问题的代码-将其放在您的声明之后h_pool2,它将打印每个var的名称和形状:

from tensorflow.python.ops.variables import Variable

for k, v in locals().items():
    if type(v) is Variable or type(v) is tf.Tensor:
        print("{0}: {1}".format(k, v))

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

无效的参数错误

来自分类Dev

Tensorflow错误:无效的参数:形状必须是向量

来自分类Dev

Tensorflow输入形状不兼容

来自分类Dev

NSMutableString无效的参数错误?

来自分类Dev

无效的“长度”参数错误

来自分类Dev

VBA;无效的过程或参数错误

来自分类Dev

seq-无效的浮点参数错误

来自分类Dev

TensorFlow错误:ValueError(“形状%s和%s不兼容”%(自身,其他))

来自分类Dev

Colab中的Tensorflow错误-ValueError:形状(无,1)和(无,10)不兼容

来自分类Dev

Tensorflow - 使用 tf.losses.hinge_loss 导致形状不兼容错误

来自分类Dev

在tensorflow中获取ValueError,表明我的形状不兼容

来自分类Dev

使用mmap会导致无效的参数错误

来自分类Dev

window.open在IE中引发无效参数错误

来自分类Dev

用于图像压缩的Windows命令返回无效参数错误

来自分类Dev

usleep不起作用,参数错误无效

来自分类Dev

节点js FileHandle读取方法抛出无效的参数错误

来自分类Dev

Swift,Firebase Cloud功能-无效参数错误

来自分类Dev

无效的回发或回调参数错误

来自分类Dev

Eclipse C ++ std :: vector方法无效的参数错误

来自分类Dev

zeromq.node setsockopt抛出无效的参数错误

来自分类Dev

httptunnel客户端中的无效参数错误

来自分类Dev

不明白这个无效的参数错误

来自分类Dev

地图大小和 mmap 无效参数错误

来自分类Dev

Azure 逻辑应用程序 - 无效的 json 参数错误

来自分类Dev

错误“参数错误”

来自分类Dev

Keras / TF的不兼容形状错误中的未知值

来自分类Dev

sklearn错误:“ X和y的形状不兼容。”

来自分类Dev

科尔多瓦不兼容的错误package.json无效

来自分类Dev

Tensorflow概率:ValueError:Tensor的形状(2,2)与提供的形状(2,)不兼容

Related 相关文章

  1. 1

    无效的参数错误

  2. 2

    Tensorflow错误:无效的参数:形状必须是向量

  3. 3

    Tensorflow输入形状不兼容

  4. 4

    NSMutableString无效的参数错误?

  5. 5

    无效的“长度”参数错误

  6. 6

    VBA;无效的过程或参数错误

  7. 7

    seq-无效的浮点参数错误

  8. 8

    TensorFlow错误:ValueError(“形状%s和%s不兼容”%(自身,其他))

  9. 9

    Colab中的Tensorflow错误-ValueError:形状(无,1)和(无,10)不兼容

  10. 10

    Tensorflow - 使用 tf.losses.hinge_loss 导致形状不兼容错误

  11. 11

    在tensorflow中获取ValueError,表明我的形状不兼容

  12. 12

    使用mmap会导致无效的参数错误

  13. 13

    window.open在IE中引发无效参数错误

  14. 14

    用于图像压缩的Windows命令返回无效参数错误

  15. 15

    usleep不起作用,参数错误无效

  16. 16

    节点js FileHandle读取方法抛出无效的参数错误

  17. 17

    Swift,Firebase Cloud功能-无效参数错误

  18. 18

    无效的回发或回调参数错误

  19. 19

    Eclipse C ++ std :: vector方法无效的参数错误

  20. 20

    zeromq.node setsockopt抛出无效的参数错误

  21. 21

    httptunnel客户端中的无效参数错误

  22. 22

    不明白这个无效的参数错误

  23. 23

    地图大小和 mmap 无效参数错误

  24. 24

    Azure 逻辑应用程序 - 无效的 json 参数错误

  25. 25

    错误“参数错误”

  26. 26

    Keras / TF的不兼容形状错误中的未知值

  27. 27

    sklearn错误:“ X和y的形状不兼容。”

  28. 28

    科尔多瓦不兼容的错误package.json无效

  29. 29

    Tensorflow概率:ValueError:Tensor的形状(2,2)与提供的形状(2,)不兼容

热门标签

归档