tensorflow 实现线性方程

时间:2023-03-09 16:13:19
tensorflow 实现线性方程

下面的直接是代码:

#!usr/bin/env python
#coding:utf-8
"""
这个代码的作用是 通过 tensorflow 来计算
y = 0.3x + 0.1 的线性方程
通过随机数,, 然后传递值到 训练模型中开始计算
"""
import tensorflow as tf
import numpy as np

# 建立方程组:
# 使用 np 获取一个 1---1000 的随机数
x_data = np.float32(np.random.rand(1, 100))
# 设置 方程组
y_data = 0.1 * x_data + 0.300

# 建立 模型
# 初始化 wieght 范围为-1 --> 1
Weight = tf.Variable(tf.random_uniform([1], -1.0, 1.0))
# 设置 b 初始化为 tf.zeros(1) 在初始化的时候会被置为0 , 然后为了保证 b 不为0 , 设置+0.1
b = tf.Variable(tf.zeros(1)) + 0.1

x = tf.placeholder("float")
y_ = tf.mul(x, Weight) + b

# 梯度下降法, 来降低 weight 和b 值在修改中的改变

loss = tf.reduce_mean(tf.square(y_ - y_data))
train = tf.train.GradientDescentOptimizer(0.1).minimize(loss)

init = tf.initialize_all_variables()
sess = tf.Session()
sess.run(init)

for i in range(1000):
#如果直接 用 x_data 传入 y_ = tf.mul(x_data,Weight) 的话, 这里的 feed_dict 是不用赋值的.
sess.run(train, feed_dict={x: x_data})
if i % 100 == 0:
print(sess.run(Weight), sess.run(b))

print(sess.run(Weight), sess.run(b))

运行结果:

tensorflow 实现线性方程