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()
深度学习之自实现线性回归
猜你喜欢
转载自www.cnblogs.com/quxiangjia/p/12293217.html
今日推荐
周排行