为了账号安全,请及时绑定邮箱和手机立即绑定

神经网络喂数据出错

神经网络喂数据出错

x=tf.placeholder(tf.float32,[None,784],name='x_input')y_=tf.placeholder(tf.float32,[None,10],name='y_input')w1=tf.Variable(tf.random_normal([784,100],stddev=1,seed=1))b1=tf.Variable(tf.random_normal([100],stddev=1))w2=tf.Variable(tf.random_normal([100,10],stddev=1,seed=2))b2=tf.Variable(tf.random_normal([10],stddev=1))middle_y=tf.nn.relu(tf.matmul(x,w1)+b1)y=tf.matmul(middle_y,w2)+b2#定义损失函数#1.神经网络输出值需要怎么处理?#cross_entropy=-tf.reduce_mean(y_*tf.log(tf.clip_by_value(y,)))cross_entropy=tf.nn.sparse_softmax_cross_entropy_with_logits(logits=y,labels=tf.argmax(y_,1))#计算在当前batch中所有样例的交叉熵平均值cross_entropy_mean=tf.reduce_mean(cross_entropy)#计算正则化损失函数REGULARIZATION_RATE=0.0001regularizer=tf.contrib.layers.l2_regularizer(REGULARIZATION_RATE)regularization=regularizer(w1)+regularizer(w2)#总损失等于交叉熵损失和正则化损失之和loss=cross_entropy_mean+regularizationtrain_step=tf.train.AdamOptimizer(0.001).minimize(loss)#创建会话执行图with tf.Session() as sess: init=tf.global_variables_initializer() sess.run(init) #经过i轮迭代 STEPS=30000 #BATCH_SIZE=100 for i in range(STEPS): batch_size = 100 xs, ys = mnist.train.next_batch(batch_size)    # 从train的集合中选取batch_size个训练数据。 print ("X shape:", xs.shape)                      print ("Y shape:", ys.shape)  result=sess.run(train_step,feed_dict={x:xs,y:ys}) if i%1000==0: print("After %d training steps,tvalidation accuracy using average model is %g "%(STEPS,result))数据维度没错,为什么会出现上面的错误?
查看完整描述

目前暂无任何回答

  • 0 回答
  • 0 关注
  • 1308 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信