tensorflow实现自己搭建线性回归

import tensorflow as tf

定义线性回归

def linearregression():
“”"
实现线性回归
:return:
“”"
# 准备数据集 x[100, 1] 0.8*x + 0.7 = [100, 1]
with tf.variable_scope(“orginal_name”):
x = tf.random_normal([100, 1], mean=0, stddev=1)
y_true = tf.matmul(x, [[0.8]]) + [[0.7]]

# 建立线性回归模型
# 初始化w和b [100, 1] * [1, 1] + [1] = [100, 1]
with tf.variable_scope("model"):
    w = tf.Variable(initial_value=tf.random_normal(shape=[1, 1], mean=0, stddev=1.0))
    b = tf.Variable(initial_value=tf.random_normal(shape=[1, 1]))

    y_predict = tf.matmul(x, w) + b

# 均方误差 (y - y_predict)^2 / m
with tf.variable_scope("training"):
    error = tf.reduce_mean(tf.square(y_true - y_predict))

    optimizer = tf.train.GradientDescentOptimizer(learning_rate=0.01).minimize(error)

init = tf.global_variables_initializer()

# 收集变量
# scalar 收拾0维度的值
tf.summary.scalar("error", error)
# histogram收集高纬度值
tf.summary.histogram("weights", w)
tf.summary.histogram("bias", b)

# 合并变量
merge = tf.summary.merge_all()

# 创建一个saver
saver = tf.train.Saver()

with tf.Session() as sess:
    sess.run(init)

    filewriter = tf.summary.FileWriter("./tmp/summary/", graph=sess.graph)

    filewriter = tf.summary.FileWriter(logdir="./tmp/summary", graph=sess.graph)

    # saver.restore(sess, "./tmp/test.ckpt")

    for i in range(500):
        sess.run(optimizer)
        print(sess.run([error, w, b]))

        # 运行合并变量op
        summary = sess.run(merge)
        filewriter.add_summary(summary, i)

        # 将模型保存为检查点文件
        saver.save(sess, "./tmp/summary/test.ckpt")

if name == ‘main’:
linearregression()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值