【放假第9天】TensorFlow总结2 简单线性回归案例以及梯度爆炸/梯度消失

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

随着梯度下降而下降

#里面的值都是初始化的值 注意二维表达 0.7和1,1

def myregression():
    #1.准备数据,x特征值,y目标值
    x=tf.random_normal([100,1],mean=1.4,stddev=0.5,name="x_data")
    
    #矩阵相乘必须是二维的
    y_true=tf.matmul(x,[[0.7]])+0.8
    
    #2.建立线性回归模型,一个特征,一个权重,一个偏置 y=xw+b
    #随机给一个权重和偏置的值,然后在当前状态下优化
    #用变量定义才能优化
    
    weight=tf.Variable(tf.random_normal([1,1],mean=0.1,stddev=1.0,name="w"))
    
    bias=tf.Variable(0.0,name="b")
    
    y_predict=tf.matmul(x,weight)+bias
    
    #3.建立损失函数,均方误差
    loss=tf.reduce_mean(tf.square(y_true-y_predict))
    
    #4.梯度下降优化损失  这个API已经被封装了,初始化变量一定要做
    train_op=tf.GrandientDescentOptimizer(0.1).minimize(loss)
    
    #定义一个初始化的op
    init_op=tf.glaobal_variables_initializer()
    
    #通过会话运行程序
    with tf.Session() as sess:
        #初始化变量
        sess.run(init_op)
        #打印随机最先初始化的权重和偏置
        print("随机初始化的参数权重为:%f,偏置为%f"%(weight.eval(),bias.eval()))
        
        #运行优化
        sess.run(train_op)
        
   return None

if __name__ =="__main__":
    myregression()
        

#现在看来也没什么,就是个知识点的应用吧,加油!

在这里插入图片描述
主要是强调参数调优吧也好像就是只多了个循环而已 甚至都没有选 另外输出了图

def myregression():
    
    with tf.variable_scope("data"):
    #1.准备数据,x特征值,y目标值
        x=tf.random_normal([100,1],mean=1.4,stddev=0.5,name="x_data")
    
    #矩阵相乘必须是二维的
        y_true=tf.matmul(x,[[0.7]])+0.8
    
    with tf.variable_scope("model"):
    
    
    #2.建立线性回归模型,一个特征,一个权重,一个偏置 y=xw+b
    #随机给一个权重和偏置的值,然后在当前状态下优化
    #用变量定义才能优化
    
        weight=tf.Variable(tf.random_normal([1,1],mean=0.1,stddev=1.0,name="w"))
    
        bias=tf.Variable(0.0,name="b")
    
        y_predict=tf.matmul(x,weight)+bias
    
    #3.建立损失函数,均方误差
    with tf.variable_scope("loss"):
        loss=tf.reduce_mean(tf.square(y_true-y_predict))
    
    #4.梯度下降优化损失  这个API已经被封装了,初始化变量一定要做
    with tf.variable_scope("optimizer"):
         train_op=tf.GrandientDescentOptimizer(0.1).minimize(loss)
    
    #定义一个初始化的op
    init_op=tf.glaobal_variables_initializer()
    
    #通过会话运行程序
    with tf.Session() as sess:
        #初始化变量
        sess.run(init_op)
       
        #循环训练  运行优化
        for i in range(500):
            sess.run(train_op)
            print("随机初始化的参数权重为:%f,偏置为%f"%(weight.eval(),bias.eval()))
            
       #建立事件文件
            filewriter=tf.summary.FileWriter(",/tmp/summary/test",graph=sess.graph)                    
            #这个路径之前没有的话老师会提前建的
            
    return None
    

if __name__ =="__main__":
    myregression()
    
  
        

在这里插入图片描述
#一般都是上面那个地址
在这里插入图片描述

#哦还加了with 根据变量作用域

在这里插入图片描述

#增加变量显示
在这里插入图片描述
在这里插入图片描述
Losses是在后台显示的
在这里插入图片描述
#注意位置哦 scalar 是准确率和损失

扫描二维码关注公众号,回复: 8639000 查看本文章

在这里插入图片描述

#TensorFlow #模型的保存与加载
节省时间 训练了n步,后面可以接着n+1开始
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

#或许大规模运算的时候可以详细学一学

发布了39 篇原创文章 · 获赞 1 · 访问量 462

猜你喜欢

转载自blog.csdn.net/qq_40647378/article/details/103659788
今日推荐