TensorFlow基础1——神经网络tutorial

 Tensorflow神经网络的一个小栗子:
  1. 生成数据(create data):
    • 拟合的方程为 y = 0.1 * x + 0.3
  2. 声明网络结构:
    • 参数初始化
    • 核函数(有时候需要激活函数)
    • 损失函数
    • 选择优化器(optimizer)
    • 训练函数 = 优化器最小化损失函数
  3. 创建session,初始化变量
  4. 训练网络
 
 1 import tensorflow as tf 
 2 import numpy as np 
 3 
 4 #create data
 5 x_data = np.random.rand(100).astype(np.float32)
 6 y_data = x_data*0.1+0.3
 7 
 8 ###create tensorflow structure start###
 9 Weights = tf.Variable(tf.random_uniform([1],-1.0,1.0))
10 biases = tf.Variable(tf.zeros([1]))
11  
12 y = Weights * x_data + biases
13 
14 loss = tf.reduce_mean(tf.square(y-y_data))
15 optimizer = tf.train.GradientDescentOptimizer(0.5) #学习率 = 0.5
16 train = optimizer.minimize(loss)
17 
18 init = tf.initialize_all_variables()
19 ###create tensorflow structure end###
20 sess = tf.Session()
21 sess.run(init)
22 for step in range(201):
23     sess.run(train)
24     if step % 20 == 0:
25         print(step,sess.run(Weights),sess.run(biases))
 运行结果:

 训练200次后,基本上可以拟合 y = 0.1 * x + 0.3

posted @ 2017-08-11 09:40  超任  阅读(141)  评论(0编辑  收藏  举报