IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 【TensorFlow&PyTorch】常用优化器学习笔记 -> 正文阅读

[Python知识库]【TensorFlow&PyTorch】常用优化器学习笔记

以下选取部分本人认为的常用的优化器以及参数(即不全),想看详情的可去文档查看.

Module: tf.keras.optimizers ?|? TensorFlow Core v2.9.1

torch.optim - PyTorch中文文档

Adam:

最常用的优化器之一,不懂用什么优化器的时候选它就对了。

TensorFlow:

optimizer=tensorflow.keras.optimizers.Adam( lr , beta_1= ,beta_2= ,epsilon= )

lr : 学习率,默认为0.001.

beta_1:一阶矩估计的指数衰减率.默认为 0.9.

beta_2:二阶矩估计的指数衰减率.默认为 0.999.

epsilon:用于数值稳定性的小常数(模糊因子???),默认值为0.0000001(以上这仨参数尽量不动,就按默认值)

PyTorch:?

optimizers=torch.optim.Adam( params , lr= ,betas= ,eps= )

params:待优化参数,加入(model.parameters( ))即可,其中model为自行定义的网络结构.

lr:学习率,默认值为0.001.

betas:质数衰减率,其中需包括一阶和二阶,即填入包含两参数的列表或元组.

eps:同上的epsilon.

SGD:

随机梯度下降,可在训练时下调学习率.

TensorFlow:

optimizer=tensorflow.keras.optimizers.SGD( lr , momentum= ,decay= )

lr:学习率.

momentum:动量参数,默认值为0.0

decay: 学习率衰减值,默认值为0.0

PyTorch:

optimizer=torch.optim.SGD(params , lr= , momentum= , weight_decay= )

lr:学习率.

momentum:动量参数,默认值为0.0.

weight_decay:权重衰减系数,默认为0.0

Adagrad:

可自适应调整学习率.

TensorFlow:

optimizer=tensorflow.keras.optimizers.Adagrad( lr , epsilon= , decay=)

lr:学习率.

epsilon:模糊因子.

decay:学习率衰减值.

PyTorch:

optimizer=torch.optim.Adagrad( params , lr= , lr_decay= , weight_decay= )

lr_decay:学习率衰减系数.

weight_decay:权重衰减系数.

RMSprop:

解决了上面那个Adagrad学习率急速下降的问题,可以看做优化版.

TensorFlow:

optimizer=tensorflow.keras.optimizers.RMSprop( lr= , rho= , epsilon= , decay= )

rho:梯度的折扣因子.默认值为 0.9.

epsilon:模糊因子,默认值为0.0000001.

decay:学习率衰减值.

PyTorch:

optimizer=torch.optim.RMSprop(params, lr= , alpha= , eps= , weight_decay , momentum=??)

alpha:平滑常数,默认值为0.99

eps:为了增加数值计算的稳定性而加到分母里的项.默认值为0.00000001

momentum:动量因子,默认值为0.0

使用优化器:

tensorflow:

训练后更新参数:optimizer.apply_gradients(zip(计算好的梯度,网络模型的参数))

网络模型的参数可用:model.trainable_variables()

其中optimizer和model都需要自行定义,实例化.

PyTorch:

在loss值前向传播之前需要清空优化器中的梯度信息,因为会堆积:optimizer.zero_grad( )

在loss值前向传播之后再更新参数:optimizer.step( )

在PyTorch中可强制衰减学习率:

scheduler=StepLR(optimizer,step_size= , gamma= )

意思是optimizer每更新参数step_size次后,学习率*=gamma.

此后更新参数用:scheduler.step( )

以上标蓝的,名字可自行定义,并无强制要求.

小结:

TensorFlow和PyTorch中的优化器都差不多,但PyTorch中实例化优化器多了第一个参数为网络模型的参数.并且在训练中需要手动清空优化器梯度.

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-07-17 16:19:02  更:2022-07-17 16:21:27 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/27 1:22:53-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计