【发布时间】:2018-02-21 09:40:53
【问题描述】:
import tensorflow as tf
from tensorflow.examples.tutorials.mnist import input_data
mnist = input_data.read_data_sets("/var/data/",one_hot=True)
n_nodes_hl1=500
n_nodes_hl2=500
n_nodes_hl3=500
n_classes=10
batch_size=100
#height* width
x=tf.placeholder('float',[None,784]) #28*28
y=tf.placeholder('float')
def neural_network_model(data):
#(input_data*weight)+biases
hidden_1_layer={'weight':tf.Variable(tf.random_normal([784, n_nodes_hl1])), 'biases':tf.Variable(random_normal([n_nodes_hl1]))}
hidden_2_layer={'weight':tf.Variable(tf.random_normal([n_nodes_hl1, n_nodes_hl2])), 'biases':tf.Variable(random_normal([n_nodes_hl2]))}
hidden_3_layer={'weight':tf.Variable(tf.random_normal([n_nodes_hl2, n_nodes_hl3])), 'biases':tf.Variable(random_normal([n_nodes_hl3]))}
output_layer={'weight':tf.Variable(tf.random_normal([n_nodes_hl3, n_classes])), 'biases':tf.Variable(random_normal([n_classes]))}
l1=tf.add(tf.matmul(data,hidden_1_layer['weight']), hidden_1_layer[ 'biases'])
l1=tf.nn.relu(l1)
l2=tf.add(tf.matmul(l1,hidden_2_layer['weight']), hidden_2_layer[ 'biases'])
l2=tf.nn.relu(l2)
l3=tf.add(tf.matmul(l2,hidden_3_layer['weight']), hidden_3_layer[ 'biases'])
l3=tf.nn.relu(l3)
output=matmul(l3,output_layer['weight']), output_layer[ 'biases']
return output
def train_neural_network(x):
prediction=neural_network_model(x)
cost=tf.reduce_mean(tf.nn.softmax_cross_entropy_logits(prediction,y))
optimizer=tf.train.AdamOptimizer().minimize(cost)
hm_epochs=10
with tf.Session() as sess:
sess.run(tf.initialize_all_variables())
for epoch in hm_epochs:
epoch_loss=0
for _ in range(int(mnist.train.num_examples/batch_size)):
epoch_x, epoch_y =mnist.train.next_batch(batch_size)
_, c =sess,run([optimizer,cost], feed_dict ={x: epoch_x, y: epoch_y})
epoch_loss += c
print('Epoch',epoch, 'complete out of', hm_epochs, 'loss',epoch_loss)
correct= tf.equal(tf.argmax(prediction,1), tf.argmx(y,1))
accuracy= tf.reduce_mean(tf.cast(correct, 'float'))
print('Accuracy:', accuracy.eval({x:mnist.test.images, y:mnist.test.labels}))
train_neural_network(x)
这是我的代码,编译时显示此错误
Traceback(最近一次调用最后一次):文件“frist.py”,第 63 行,在 train_neural_network(x) 文件“frist.py”,第 40 行,在 train_neural_network prediction=neural_network_model(x) 文件“frist.py”,第 21 行,在 neural_network_model hidden_1_layer={'weight':tf.Variable(tf.random_normal([784, n_nodes_hl1])), 'biases':tf.Variable(random_normal([n_nodes_hl1]))} NameError: name 'random_normal' 没有定义
【问题讨论】:
标签: python python-3.x python-2.7 tensorflow