import tensorflow as tf
import random
import numpy as np
x = tf.placeholder('float')
x = tf.reshape(x, [-1,28,28,1])
with tf.Session() as sess:
x1 = np.asarray([random.uniform(0,1) for i in range(784)])
result = sess.run(x, feed_dict={x: x1})
print(result)我在使用mnist数据进行整形时遇到了一些问题,但是这个问题是我问题的简化版本.为什么这段代码不起作用?
它显示了
"ValueError:不能为具有形状'(?,28,28,1)‘的张量’整形:0‘提供形状值(784,)“。
我怎么能解决呢?
发布于 2018-07-20 13:46:51
重新分配之后,x是形状为[-1,28,28,1]的张量,正如错误所述,不能将(784,)形状为(?, 28, 28, 1)。您可以使用不同的变量名:
import tensorflow as tf
import random
import numpy as np
x = tf.placeholder('float')
y = tf.reshape(x, [-1,28,28,1])
with tf.Session() as sess:
x1 = np.asarray([random.uniform(0,1) for i in range(784)])
result = sess.run(y, feed_dict={x: x1})
print(result)发布于 2019-08-23 14:03:44
在概念上是错误的,因为当您使用sess.run(x, feed_dict{x:x1})时,这里会出现错误。这是为了补充和重塑相同的变量。这会在运行时造成问题。因此,您不能使用单个变量来完成这一任务。
import tensorflow as tf
import random
import numpy as np
x = tf.placeholder('float')
y = tf.reshape(x, [-1,28,28,1])
with tf.Session() as sess:
x1 = np.asarray([random.uniform(0,1) for i in range(784)])
result = sess.run(y, feed_dict={x: x1})
print(result)在tensorflow中,变量是位置持有者。因此,x将保存浮点值,另一个变量表示y将保存形状为[-1,28,28,1]的值。
如果使用相同的变量名,那么它必须充当两件事的占位符。这是不可能的
https://stackoverflow.com/questions/51443898
复制相似问题