二、TensorFlow结构分析(5)案例

案例:

minimize(error)

代码:

def linear_regression():
    # 自实现线性回归
    # 1)准备数据
    X = tf.random.normal(shape=[100,1])
    y_true = tf.matmul(X,[[0.8]]) + 0.7
    # 2)构造模型
    # 定义模型参数  用 变量
    weights = tf.Variable(initial_value=tf.random.normal(shape=[1,1]))
    bias = tf.Variable(initial_value=tf.random.normal(shape=[1,1]))
    y_predict = tf.matmul(X,weights) + bias
    # 3)构造损失函数
    error = tf.reduce_mean(tf.square(y_predict - y_true))

    # 4)优化损失
    # optimizer = tf.train.GradientDescentOptimizer(learning_rate = 0.01).minimize(error)
    optimizer = tf.compat.v1.train.GradientDescentOptimizer(learning_rate=0.01).minimize(error)

    # 显示初始化变量
    init = tf.global_variables_initializer()
    # 开启会话
    with tf.Session() as sess:
         #初始化变量
         sess.run(init)
         # 查看初始化模型参数之后的值
         print("训练前模型参数为:权重%f,偏置%f" % (weights.eval(),bias.eval()))
         # 开始训练
         for i in range(100):
              sess.run(optimizer)
              print("训练后模型参数为:权重%f,偏置%f" % (weights.eval(), bias.eval()))
    return None

其他功能:

增加变量显示

增加命名空间

模型保存和加载

命令行参数使用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值