zoukankan      html  css  js  c++  java
  • 深度学习之自实现线性回归

     1 import tensorflow as tf
     2 import os
     3 
     4 os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'
     5 
     6 
     7 def linear_regression():
     8     """
     9     自实现一个线性回归
    10     :return:
    11     """
    12     # (1)准备数据
    13     X = tf.compat.v1.random_normal(shape=[100,1])
    14     y_true = tf.matmul(X,[[0.8]])+0.7
    15 
    16     # (2)构造模型
    17     # 定义模型参数  用变量
    18     weights = tf.Variable(initial_value=tf.compat.v1.random_normal(shape=[1,1]))
    19     bias = tf.Variable(initial_value=tf.compat.v1.random_normal(shape=[1,1]))
    20     y_predict = tf.matmul(X,weights)+bias
    21     # (3)构造损失函数
    22     error=tf.reduce_mean(tf.square(y_predict-y_true))
    23 
    24     # (4)优化损失
    25     optimizer = tf.compat.v1.train.GradientDescentOptimizer(learning_rate=0.01).minimize(error)
    26 
    27 
    28     # 显示地初始化变量
    29     init = tf.compat.v1.global_variables_initializer()
    30 
    31     # 开启会话
    32     with tf.compat.v1.Session() as sess:
    33         #初始化变量
    34         sess.run(init)
    35 
    36         #查看初始化模型参数之后的值
    37         print("训练前模型参数为:权重%f,偏置%f,损失为%f"%(weights.eval(),bias.eval(),error.eval()))
    38 
    39         #开始训练
    40         for i in range(1000):
    41             sess.run(optimizer)
    42             print("第%d次训练后模型参数为:权重%f,偏置%f,损失为%f" % (i+1,weights.eval(), bias.eval(), error.eval()))
    43 
    44 
    45 
    46 
    47     return None
    48 
    49 
    50 if __name__ == "__main__":
    51     linear_regression()
  • 相关阅读:
    网站开发感悟
    jQuery之字体大小的设置
    jQuery之load方法
    jQuery之get方法
    MongoVUE的使用
    jQuery之ajax删除
    jQuery之选项卡的实现
    jQuery之简单的表单验证
    jQuery滑动效果实例
    jQuery之下拉框左右选择
  • 原文地址:https://www.cnblogs.com/quxiangjia/p/12293217.html
Copyright © 2011-2022 走看看