• TensorFlow2_200729系列---13、二阶梯度求解


    TensorFlow2_200729系列---13、二阶梯度求解

    一、总结

    一句话总结:

    梯度是放在with tf.GradientTape() as t1 语句之中,那二阶梯度就是这个语句的嵌套
    import tensorflow as tf
    
    w = tf.Variable(1.0)
    b = tf.Variable(2.0)
    x = tf.Variable(3.0)
    
    with tf.GradientTape() as t1:
      with tf.GradientTape() as t2:
        y = x * w + b
      dy_dw, dy_db = t2.gradient(y, [w, b])
    d2y_dw2 = t1.gradient(dy_dw, w)
    
    print(dy_dw)
    print(dy_db)
    print(d2y_dw2)
    
    assert dy_dw.numpy() == 3.0
    assert d2y_dw2 is None

    二、二阶梯度求解

    博客对应课程的视频位置:

    import tensorflow as tf
    
    w = tf.Variable(1.0)
    b = tf.Variable(2.0)
    x = tf.Variable(3.0)
    
    with tf.GradientTape() as t1:
      with tf.GradientTape() as t2:
        y = x * w + b
      dy_dw, dy_db = t2.gradient(y, [w, b])
    d2y_dw2 = t1.gradient(dy_dw, w)
    
    print(dy_dw)
    print(dy_db)
    print(d2y_dw2)
    
    assert dy_dw.numpy() == 3.0
    assert d2y_dw2 is None
    tf.Tensor(3.0, shape=(), dtype=float32)
    tf.Tensor(1.0, shape=(), dtype=float32)
    None
     
    我的旨在学过的东西不再忘记(主要使用艾宾浩斯遗忘曲线算法及其它智能学习复习算法)的偏公益性质的完全免费的编程视频学习网站: fanrenyi.com;有各种前端、后端、算法、大数据、人工智能等课程。
    博主25岁,前端后端算法大数据人工智能都有兴趣。
    大家有啥都可以加博主联系方式(qq404006308,微信fan404006308)互相交流。工作、生活、心境,可以互相启迪。
    聊技术,交朋友,修心境,qq404006308,微信fan404006308
    26岁,真心找女朋友,非诚勿扰,微信fan404006308,qq404006308
    人工智能群:939687837

    作者相关推荐

  • 相关阅读:
    javascript基础01
    javascript基础02
    javascript基础03
    javascript基础04
    javascript基础05
    javascript基础06
    Android 实现截屏功能
    android 获取摄像头像素
    c# Winform dataGridView动态添加行
    Android 读取Assets下的文件
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/13430952.html
Copyright © 2020-2023  润新知