雅诗兰黛是一种世界著名的化妆品牌;她包括的种类很多,你说的紫竹水是其一种: 雅诗兰黛活力修护紫竹精华水200ml-紫竹水 Optimizer Pore Minimizing Boosting Lotion 东方竹萃精华 肌肤迸发水润生命力 神奇离子均衡水 令肌肤水漾润泽:蕴含突破性离子均衡水,与肌肤天然水份极近相同,深透浸润,源源补充矿物质、电解质养分。仿佛畅饮清新雨露,顷刻间。肌肤如雨后新生般,迸射丰沛生命力。 新生紫竹水 水嫩细肤:丰润幼滑的紫竹水,蕴含中国紫竹萃取精华,即刻收缩毛孔,焕发水润光泽,肌肤显得平滑细致,肤质柔润嫩泽。使肌肤更充分吸收后续精华的滋养成分。 先用化妆棉蘸取适量精华水,避开眼周肌肤,由中间开始向两侧外缘涂抹至全脸。 此涂抹方法有助于使紫竹萃取精华深入渗透至被阻塞毛孔的底层,净化并细致毛孔。用后肤质水滑柔嫩,感觉更细腻。
pytorch中这段代码的意思是把学习率learning_rate设为0000001
但是设置学习率不是给learning_rate赋值就可以完成的,
在pytorch中设置learning_rate有六种方法(这里的LR就是LearningRate的缩写)
1等步长间隔调整学习率
optimlr_schedulerStepLR(optimizer, step_size, gamma=01, last_epoch=-1)
2cosine学习率
optimlr_schedulerCosineAnnealingLR(optimizer, T_max, eta_min=0)
3指数衰减学习率
optimlr_schedulerExponentialLR(optimizer, gamma, last_epoch=-1)
4自适应调整学习率
optimlr_schedulerReduceLROnPlateau(optimizer, mode='min', factor=01, patience=10,verbose=False, threshold=1e-4, threshold_mode='rel',cooldown=0, min_lr=0, eps=1e-8)
5非等间隔调整学习率
optimlr_schedulerMultiStepLR(optimizer, milestones, gamma=01, last_epoch=-1)
6自定义网络层隔学习率
optimlr_schedulerLambdaLR( optimizer, lr_lambda, last_epoch=-1)
我给你一个等步长间隔调整学习率的例子,你看看吧
import torch
import torchoptim as optim
from torchoptim import lr_scheduler
from torchvisionmodels import AlexNet
model = AlexNet(num_classes=2)
optimizer = optimSGD(params = modelparameters(), lr=005)
#每10次迭代,lr = lr gamma
scheduler = lr_schedulerStepLR(optimizer, step_size=10, gamma=01)
for epoch in range(40):
schedulerstep()
lr = schedulerget_lr()
print(epoch, schedulerget_lr()[0])
源代码(注意源代码的缩进)
optimizerzero_grad()意思是把梯度置零,也就是把loss关于weight的导数变成0
pytorch对于每个batch大都执行了这样的操作:
optimizerzero_grad() ## 梯度清零preds = model(inputs) ## inference
loss = criterion(preds, targets) ## 求解loss
lossbackward() ## 反向传播求解梯度
optimizerstep() ## 更新权重参数
1,由于pytorch的动态计算图,当我们使用lossbackward()和opimizerstep()进行梯度下降更新参数的时候,梯度并不会自动清零。并且这两个操作是独立操作。
2,backward():反向传播求解梯度。
3,step():更新权重参数。
欢迎分享,转载请注明来源:品搜搜测评网