Advertisement

tensorflow2学习笔记(二)反向传播

阅读量:

反向传播

在编写反向传播算法的Python实现过程中,必须深入掌握梯度下降机制、学习率设置以及损失函数的设计原理。相关代码可参考北京大学提供的资料。

复制代码
    import tensorflow as tf
    
    w = tf.Variable(tf.constant(5, dtype=tf.float32))
    
    epoch = 40
    LR_BASE = 0.2  # 最初学习率
    LR_DECAY = 0.9  # 学习率衰减率
    LR_STEP = 1  # 喂入多少轮BATCH_SIZE后,更新一次学习率
    
    for epoch in range(epoch):  # for epoch 定义顶层循环,表示对数据集循环epoch次,此例数据集数据仅有1个w,初始化时候constant赋值为5,循环100次迭代。
    lr = LR_BASE * LR_DECAY ** (epoch / LR_STEP)
    with tf.GradientTape() as tape:  # with结构到grads框起了梯度的计算过程。
        loss = tf.square(w + 1)
    grads = tape.gradient(loss, w)  # .gradient函数告

全部评论 (0)

还没有任何评论哟~