使用tensorflow进行简单的线性回归

0
回复
5639
查看
[复制链接]

294

主题

20

回帖

1380

积分

专栏作家

积分
1380
来源: 2019-9-17 07:14:43 显示全部楼层 |阅读模式
使用tensorflow进行简单的线性回归
标签(空格分隔): tensorflow

数据准备
  • 使用np.random.uniform()生成x方向的数据
  • 使用np.random.uniform()生成bias数据
  • 直线方程为y=0.1x + 0.2
  • 使用梯度下降算法
代码
  1. <font size="5">import numpy as np
  2. import tensorflow as tf
  3. path = 'D:\tensorflow_quant\ailib\log_tmp'

  4. # 生成x数据
  5. points = 100
  6. vectors = []
  7. for i in range(points):  # y=0.1*x + 0.2
  8.     x = np.random.uniform(0, 0.66)
  9.     y = x * 0.1 + 0.2 + np.random.uniform(0, 0.04)
  10.     vectors.append([x, y])

  11. x_data = [v[0] for v in vectors]
  12. y_data = [v[1] for v in vectors]

  13. #形成计算图
  14. w = tf.Variable(tf.random_uniform([1], -1.0, 1.0))
  15. b = tf.Variable(tf.zeros([1]))
  16. y = w * x_data + b
  17. #定义损失函数
  18. loss = tf.reduce_mean(tf.square(y-y_data))
  19. #定义优化器
  20. optimizer = tf.train.GradientDescentOptimizer(0.5)
  21. train = optimizer.minimize(loss)
  22. #对计算图开始计算
  23. with tf.Session() as sess:
  24.     init = tf.global_variables_initializer()
  25.     sess.run(init)
  26.     for step in range(1000):
  27.         sess.run(train)
  28.         if step%5==0:
  29.             print(step,sess.run(loss),sess.run(w),sess.run(b))
  30.     #生成计算日志
  31.     writer = tf.Summary.FileWriter(path,sess.graph)</font>
复制代码

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 免费注册
关注微信