params (iterable) – 待优化参数

简介: q

这意味着model.base的参数将会使用1e-2的学习率,model.classifier的参数将会使用1e-3的学习率,并且0.9的momentum将会被用于所有的参数。

进行单次优化 optimizer.step()
所有的optimizer都实现了step()方法,这个方法会更新所有的参数。一旦梯度被如backward()之类的函数计算好后,我们就可以调用这个函数。

for input, target in dataset:

optimizer.zero_grad()
output = model(input)
loss = loss_fn(output, target)
loss.backward()
optimizer.step()

1
2
3
4
5
6
使用闭包优化 optimizer.step(closure)
一些优化算法例如Conjugate Gradient和LBFGS需要重复多次计算函数,因此你需要传入一个闭包去允许它们重新计算你的模型。这个闭包应当清空梯度, 计算损失,然后返回。

for input, target in dataset:

def closure():
    optimizer.zero_grad()
    output = model(input)
    loss = loss_fn(output, target)
    loss.backward()
    return loss
optimizer.step(closure)

1
2
3
4
5
6
7
8
常用的优化器函数
如下优化器我只写了几个常用的,详情请查看请点击
class torch.optim.Adadelta(params, lr=1.0, rho=0.9, eps=1e-06, weight_decay=0)

参数:
params (iterable) – 待优化参数的iterable或者是定义了参数组的dict
rho (float, 可选) – 用于计算平方梯度的运行平均值的系数(默认:0.9)
eps (float, 可选) – 为了增加数值计算的稳定性而加到分母里的项(默认:1e-6)
lr (float, 可选) – 在delta被应用到参数更新之前对它缩放的系数(默认:1.0)
weight_decay (float, 可选) – 权重衰减(L2惩罚)(默认: 0)

相关文章
|
3月前
|
JavaScript 前端开发
参数(Parameters)与隐式参数(Arguments)
参数(Parameters)和隐式参数(Arguments)是 JavaScript 中两个重要的概念,它们都与函数的调用有关。参数是函数定义时在函数名后的括号内声明的变量,用于接收从调用函数处传递过来的值。而隐式参数是一个函数在调用时,自动创建的一个对象,包含了所有传递给该函数的参数的值。
25 6
|
4月前
|
XML SQL JSON
query 与 params:选择正确的参数传递方式
query 与 params:选择正确的参数传递方式
|
5月前
|
前端开发 Java Spring
方法参数相关属性params、@PathVariable和@RequestParam用法与区别
方法参数相关属性params、@PathVariable和@RequestParam用法与区别
38 0
|
11月前
|
人工智能 Java
getParameter方法的用法
getParameter方法的用法
|
机器学习/深度学习 存储 PyTorch
params.data.clone()是什么意思?params是模型的参数
在深度学习中,模型的参数通常是由多个张量组成的。这些张量存储了模型在训练过程中学到的权重和偏置等参数。 params.data 是一个张量,其中包含了模型的参数数据。clone() 是 PyTorch 中的一个方法,它用于创建一个与当前张量具有相同数据但不同内存地址的新张量。 因此,params.data.clone() 的意思是创建一个与 params.data 张量具有相同数据但不同内存地址的新张量。通常,这个方法被用来复制模型参数,以便在优化器中使用。
198 0
|
Serverless 索引 Python
内置函数 -- filter 和 map
Construct an iterator from those elements of iterable for which function returns true. iterable may be either a sequence, a container which supports iteration, or an iterator. If function is None, the identity function is assumed, that is, all elements of iterable that are false are removed.
106 0