Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
占位符x-input TensorFlow的提要的数据类型错误_Tensorflow_Mnist_Tensorboard - Fatal编程技术网

占位符x-input TensorFlow的提要的数据类型错误

占位符x-input TensorFlow的提要的数据类型错误,tensorflow,mnist,tensorboard,Tensorflow,Mnist,Tensorboard,我想用我刚刚安装的TF在MNIST上实现一个简单的逻辑回归,并想用TensorBoard监控小批量SGD的进度 我首先没有使用tensorboard,而是编译了它,在测试集上获得了0.9166的精度 然而,当我添加tensorboard以查看发生了什么时,我甚至无法再编译它,我得到: 占位符必须输入dtype float但我的所有数组都是具有dtype float的np数组 如果您能指出我代码中的问题,那将是令人惊讶的: #-*-编码:utf-8-*- """ 创建于2016年1月14日星期四1

我想用我刚刚安装的TF在MNIST上实现一个简单的逻辑回归,并想用TensorBoard监控小批量SGD的进度

我首先没有使用tensorboard,而是编译了它,在测试集上获得了0.9166的精度

然而,当我添加tensorboard以查看发生了什么时,我甚至无法再编译它,我得到:

占位符必须输入dtype float
但我的所有数组都是具有dtype float的np数组

如果您能指出我代码中的问题,那将是令人惊讶的:

#-*-编码:utf-8-*-
"""
创建于2016年1月14日星期四13:06:44
@作者:我
"""
#从tensorflow.examples.tutorials.mnist导入输入数据
#mnist=输入数据。读取数据集(“mnist\u data/”,one\u hot=True)
导入tensorflow作为tf
导入操作系统
随机输入
将numpy作为np导入
从数组导入数组
导入结构
将matplotlib.pyplot作为plt导入
导入时间
#我首先将mnist中解压缩的ubyte文件放在指定的路径上
os.chdir(“/home/me/Bureau/Step1/”)
打开(“train labels.idx1 ubyte”)作为文件:
magic,size=struct.unpack(“>II”,file.read(8))
train\u labels\u data=np.asarray(数组(“B”,file.read())
打开(“t10k labels.idx1 ubyte”)作为文件:
magic,size=struct.unpack(“>II”,file.read(8))
test\u labels\u data=np.asarray(数组(“B”,file.read()))
打开(“train images.idx3 ubyte”)作为文件:
magic,size,rows,cols=struct.unpack(“>IIII”,file.read(16))
train\u images\u data=np.restrape(np.asarray(数组(“B”,file.read()),(大小,行,列))
打开(“t10k images.idx3 ubyte”)作为文件:
magic,size,rows,cols=struct.unpack(“>IIII”,file.read(16))
test_images_data=np.restrape(np.asarray(数组(“B”,file.read()),(大小,行,列))
对于范围(10)内的i:
plt.imshow(列车图像数据[i,:])
plt.show()
打印(列车标签数据[i])
序列图像=np.整形(序列图像数据,(60000,28*28)).aType(np.float32)*1/255
test_images=np.重塑(test_images_数据,(10000,28*28)).astype(np.float32)*1/255
列车标签=np.0((60000,10),数据类型=np.32)
test_labels=np.zero((10000,10),dtype=np.float32)
对于范围内的i(60000):
a=列车标签数据[i]
列车标签[i,a]=1。
对于范围(10000)内的j:
b=测试标签数据[j]
测试标签[j,b]=1。
sess=tf.Session()
x=tf.placeholder(tf.float32[None,784],name=“x-input”)
W=tf.Variable(tf.zero([784,10]),name=“weights”)
b=tf.变量(tf.零([10]),name=“bias”)
以tf.name_scope(“Wx_b”)作为作用域:
y=tf.nn.softmax(tf.matmul(x,W)+b)
w_hist=tf.直方图汇总(“权重”,w)
b_hist=tf.直方图汇总(“偏差”,b)
y_hist=tf.直方图汇总(“y”,y)
y=tf.占位符(tf.float32,[None,10],name=“y-input”)
以tf.name_scope(“xent”)作为作用域:
交叉熵=-tf.reduce\u和(y*tf.log(y))
ce_summ=tf.标量_摘要(“交叉熵”,交叉熵)
以tf.name_范围(“列车”)作为范围:
训练步长=tf.训练梯度降熵器(0.01).最小化(交叉熵)
以tf.name_范围(“测试”)作为范围:
正确的预测=tf.equal(tf.argmax(y,1),tf.argmax(y,1))
准确度=tf.reduce_平均值(tf.cast(正确的预测,tf.float32))
精度汇总=tf.标量汇总(“精度”,精度)
合并=tf.merge_all_summaries()
writer=tf.train.SummaryWriter(“/tmp/mnist_logs”,sess.graph_def)
初始化所有变量()
sess.run(初始化)
对于范围(1000)内的i:
如果i%10==0:
feed={x:test\u图像,y\uu:test\u标签}
结果=sess.run([合并,精度],进刀量=进刀量)
summary_str=结果[0]
acc=结果[1]
编写者。添加摘要(摘要,一)
打印(“第%s步的精度:%s”%(i,acc))
其他:
索引=np.random.randint(60000-1,大小=100)
批次X,批次Y=序列图像[索引,:],序列标签[索引]
sess.run(train_step,feed_dict={x:batch_xs,y_u:batch_ys})
打印(sess.run(精度,进纸顺序={x:train\u图像,y:train\u标签}))

它发生的那一行在feed to merged中,但是当我以与feed train_step完全相同的方式进行feed时,我不知所措……

当我重新打开一个新的spyder并启动它工作的程序时,你无法反复运行相同的脚本!!! 头脑=崩溃