基于 tensorflow 的一个线性回归的简单例子


1、linear.py

import tensorflow as tf
import numpy as np
#create some training data
x_data = np.random.rand(100).astype(np.float32)
y_data = x_data*2 + 5
print ("x_data:")
print( x_data)
print ("y_data:")
print (y_data)
#create the weights and bias variables
weights = tf.Variable(tf.random_uniform([1], -1.0, 1.0))
print ("weights before initializing:")
print (weights)
biases = tf.Variable(tf.zeros([1]))
print ("bias before initializing:")
print (biases)
#predict (fit) value
y = weights*x_data + biases
#loss function
loss = tf.reduce_mean(tf.square(y - y_data))
#optimizer definition
optimizer = tf.train.GradientDescentOptimizer(0.1)
#train definition
train = optimizer.minimize(loss)
#initialiing the variables
init = tf.initialize_all_variables()
#session definition and active
sess = tf.Session()
sess.run(init)
#train the model
for step in range(501):
  sess.run(train)
  if step % 10 == 0:
    print (step,sess.run(weights),sess.run(biases))

注:tensorflow API文档

https://www.tensorflow.org/api_docs/

2、代码解释

tf.random_uniform:随机产生一个均匀分布
random_uniform(
shape,
minval=0,
maxval=None,
dtype=tf.float32,
seed=None,
name=None
)
tf.square:求平方
tf.reduce_mean:在一个tensor(张量)中求平均值
对指定的reduction_index进行行均值计算。
reduction_indices为0时,是算的不不同的[]的同一个位置上的均值,
reduction_indices为1是算的[]内的均值。
tf.train.GradientDescentOptimizer:梯度下降优化器器
tf.train.GradientDescentOptimizer.minimize:对目标函数进行最小化,step by step
init = tf.initialize_all_variables():初始化所有的TF变量量(标准写法)
sess = tf.Session():定义一个运⾏行行Tensorflow的类,建立一个Session会话,只要你不close这个Session,训练的上下文关系就仍然存在
sess.run(init):运行一个operation并且对其影响的tensor进行计算


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值