导入tensorflow, numpy包

import tensorflow as tf
import numpy as np

生成数据和模型

#生成数据
x_data = np.random.rand(100)
#理想模型 y = k(0.1) * x_data + b(0.99)
y_data = x_data * 0.1 + 0.99
#假设模型
k = tf.Variable(0.)
b = tf.Variable(0.)
y = k*x_data + b

构建代价函数和优化器

#二次代价函数
loss = tf.reduce_mean(tf.square(y - y_data))

#优化器,学习率采用0.3,为什么是0.3呢?先给个初始值吧
optimizer = tf.train.GradientDescentOptimizer(0.3)

#最小化代价函数
train = optimizer.minimize(loss)

#初始化变量
init = tf.global_variables_initializer()

训练数据和结果

with tf.Session() as sess:
	#变量的初始化
    sess.run(init)
    #训练500次,测试效果
    for step in range(500):
        sess.run(train)
        #每20次打印训练结果
        if step%20 == 0:
            print(step, sess.run([k, b, loss]))

Tensorflow中y = k*x + b 拟合

相关文章:

  • 2021-05-29
  • 2021-12-15
  • 2022-01-19
  • 2022-12-23
  • 2021-10-05
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-04-30
  • 2021-10-25
  • 2021-09-17
  • 2021-08-01
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案