Python 名称错误:名称';随机正态分布';没有定义Tensorflow
这是我的代码,编译时显示此错误 回溯(最近一次调用last):文件“frist.py”,第63行,在 训练神经网络(x)文件“first.py”,第40行,训练神经网络 预测=神经网络模型(x)文件“first.py”,第21行,在神经网络模型中 隐藏层={'weight':tf.Variable(tf.random_normal([784,n_nodes_hl1]),'biases':tf.Variable(random_normal([n_nodes_hl1])) NameError:未定义名称“random_normal”Python 名称错误:名称';随机正态分布';没有定义Tensorflow,python,python-3.x,python-2.7,tensorflow,Python,Python 3.x,Python 2.7,Tensorflow,这是我的代码,编译时显示此错误 回溯(最近一次调用last):文件“frist.py”,第63行,在 训练神经网络(x)文件“first.py”,第40行,训练神经网络 预测=神经网络模型(x)文件“first.py”,第21行,在神经网络模型中 隐藏层={'weight':tf.Variable(tf.random_normal([784,n_nodes_hl1]),'biases':tf.Variable(random_normal([n_nodes_hl1])) NameError:未定义
这些行中的
tf.
前面缺少random\u normal
(在第二个tf.Variable
调用中)
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)
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]))}