tensorflow学习之(一)预测一条直线y = 0.1x + 0.3

#预测一条y = 0.1x + 0.3的直线
import tensorflow as tf
import numpy as np       #科学计算模块

'''
tf.random_normal([784, 200]):指生成一个784*200的矩阵
tf.zeros([2,3],int32)==>[[0,0,0],[0,0,0]]两行三列 同理tf.ones,tf.fill(产生一个全部为给定数字的数组),tf.constants(产生一个给定值的常量)
'''

#create data 自己编造的data
x_data = np.random.rand(100).astype(np.float32)
y_data = x_data*0.1 + 0.3       #所要预测的y,Weights 要接近0.1, biases 要接近0.3

###create tensorflow structure start ###
Weights = tf.Variable(tf.random_uniform([1],-1.0,1.0))  #用随机变量生成的方式(random_uniform)生成变量(Variable),结构为1维,范围是-1到1
biases = tf.Variable(tf.zeros([1])) #初始值定义为 0

#预测 y
y = Weights * x_data + biases

loss = tf.reduce_mean(tf.square(y - y_data)) #令loss最小,提升y的准确度
optimizer = tf.train.GradientDescentOptimizer(0.5)   #建立优化器,最基础的优化器GradientDescentOptimizer,学习效率为0.5(小于1)
train = optimizer.minimize(loss) #神经网络的工作:减少误差,提升参数的准确度,优化loss

init = tf.initialize_all_variables() #初始化变量
###create tensorflow structure end ###

sess = tf.Session() #初始化前定义session
sess.run(init) #激活initial,run指用session的指针指向init

for step in range (201): #训练201步,run指用session的指针指向train,每隔20步打印一次
    sess.run(train)
    if step % 20 == 0:
        print(step,sess.run(Weights),sess.run(biases))

 



转载于:https://www.cnblogs.com/Harriett-Lin/p/9590188.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值