当前位置: 首页 > news >正文

如何设计好酒店网站模板国家工商网站查询

如何设计好酒店网站模板,国家工商网站查询,网站服务器怎么配,顺德大良哪家做网站好PyTorch框架学习十三——优化器一、优化器二、Optimizer类1.基本属性2.基本方法三、学习率与动量1.学习率learning rate2.动量、冲量Momentum四、十种常见的优化器#xff08;简单罗列#xff09;上次笔记简单介绍了一下损失函数的概念以及18种常用的损失函数#xff0c;这次… PyTorch框架学习十三——优化器一、优化器二、Optimizer类1.基本属性2.基本方法三、学习率与动量1.学习率learning rate2.动量、冲量Momentum四、十种常见的优化器简单罗列上次笔记简单介绍了一下损失函数的概念以及18种常用的损失函数这次笔记介绍优化器的相关知识以及PyTorch中的使用。 一、优化器 PyTorch中的优化器管理并更新模型中可学习参数的值使得模型输出更接近真实标签。 导数函数在指定坐标轴上的变化率。 方向导数指定方向上的变化率。 梯度一个向量方向为方向导数取得最大值的方向。 二、Optimizer类 1.基本属性 defaults优化器超参数包含优化选项的默认值的dict当参数组没有指定这些值时使用。state参数的缓存如momentum的缓存。param_groups管理的参数组形式上是列表每个元素都是一个字典。 2.基本方法 1zero_grad()清空所管理的参数的梯度。因为PyTorch中张量梯度不会自动清零。 weight torch.randn((2, 2), requires_gradTrue) weight.grad torch.ones((2, 2))optimizer optim.SGD([weight], lr0.1)print(weight before step:{}.format(weight.data)) optimizer.step() # 修改lr1 0.1观察结果 print(weight after step:{}.format(weight.data))print(weight in optimizer:{}\nweight in weight:{}\n.format(id(optimizer.param_groups[0][params][0]), id(weight)))print(weight.grad is {}\n.format(weight.grad)) optimizer.zero_grad() print(after optimizer.zero_grad(), weight.grad is\n{}.format(weight.grad))结果如下 weight before step:tensor([[0.6614, 0.2669],[0.0617, 0.6213]]) weight after step:tensor([[ 0.5614, 0.1669],[-0.0383, 0.5213]]) weight in optimizer:1314236528344 weight in weight:1314236528344weight.grad is tensor([[1., 1.],[1., 1.]])after optimizer.zero_grad(), weight.grad is tensor([[0., 0.],[0., 0.]])2 step()执行一步优化更新。 weight torch.randn((2, 2), requires_gradTrue) weight.grad torch.ones((2, 2))optimizer optim.SGD([weight], lr0.1)print(weight before step:{}.format(weight.data)) optimizer.step() # 修改lr1 0.1观察结果 print(weight after step:{}.format(weight.data))结果如下 weight before step:tensor([[0.6614, 0.2669],[0.0617, 0.6213]]) weight after step:tensor([[ 0.5614, 0.1669],[-0.0383, 0.5213]])3 add_param_group()添加参数组。 weight torch.randn((2, 2), requires_gradTrue) weight.grad torch.ones((2, 2))optimizer optim.SGD([weight], lr0.1)print(optimizer.param_groups is\n{}.format(optimizer.param_groups))w2 torch.randn((3, 3), requires_gradTrue)optimizer.add_param_group({params: w2, lr: 0.0001})print(optimizer.param_groups is\n{}.format(optimizer.param_groups))结果如下 optimizer.param_groups is [{params: [tensor([[0.6614, 0.2669],[0.0617, 0.6213]], requires_gradTrue)], lr: 0.1, momentum: 0, dampening: 0, weight_decay: 0, nesterov: False}] optimizer.param_groups is [{params: [tensor([[0.6614, 0.2669],[0.0617, 0.6213]], requires_gradTrue)], lr: 0.1, momentum: 0, dampening: 0, weight_decay: 0, nesterov: False}, {params: [tensor([[-0.4519, -0.1661, -1.5228],[ 0.3817, -1.0276, -0.5631],[-0.8923, -0.0583, -0.1955]], requires_gradTrue)], lr: 0.0001, momentum: 0, dampening: 0, weight_decay: 0, nesterov: False}]4state_dict()获取优化器当前状态信息字典。 weight torch.randn((2, 2), requires_gradTrue) weight.grad torch.ones((2, 2))optimizer optim.SGD([weight], lr0.1, momentum0.9) opt_state_dict optimizer.state_dict()print(state_dict before step:\n, opt_state_dict)for i in range(10):optimizer.step()print(state_dict after step:\n, optimizer.state_dict())torch.save(optimizer.state_dict(), os.path.join(BASE_DIR, optimizer_state_dict.pkl))结果如下 state_dict before step:{state: {}, param_groups: [{lr: 0.1, momentum: 0.9, dampening: 0, weight_decay: 0, nesterov: False, params: [2872948098296]}]} state_dict after step:{state: {2872948098296: {momentum_buffer: tensor([[6.5132, 6.5132],[6.5132, 6.5132]])}}, param_groups: [{lr: 0.1, momentum: 0.9, dampening: 0, weight_decay: 0, nesterov: False, params: [2872948098296]}]}获取到了优化器当前状态的信息字典其中那个2872948098296是存放权重的地址并将这些参数信息保存为一个pkl文件 5load_state_dict()加载状态信息字典。 optimizer optim.SGD([weight], lr0.1, momentum0.9) state_dict torch.load(os.path.join(BASE_DIR, optimizer_state_dict.pkl))print(state_dict before load state:\n, optimizer.state_dict()) optimizer.load_state_dict(state_dict) print(state_dict after load state:\n, optimizer.state_dict())从刚刚保存参数的pkl文件中读取参数赋给一个新的空的优化器结果为 state_dict before load state:{state: {}, param_groups: [{lr: 0.1, momentum: 0.9, dampening: 0, weight_decay: 0, nesterov: False, params: [1838346925624]}]} state_dict after load state:{state: {1838346925624: {momentum_buffer: tensor([[6.5132, 6.5132],[6.5132, 6.5132]])}}, param_groups: [{lr: 0.1, momentum: 0.9, dampening: 0, weight_decay: 0, nesterov: False, params: [1838346925624]}]}注state_dict()与load_state_dict()一般经常用于模型训练中的保存和读取模型参数防止断电等突发情况导致模型训练强行中断而前功尽弃。 三、学习率与动量 1.学习率learning rate 梯度下降 其中LR就是学习率作用是控制更新的步伐如果太大可能导致模型无法收敛或者是梯度爆炸如果太小可能使得训练时间过长需要调节。 2.动量、冲量Momentum 结合当前梯度与上一次更新信息用于当前更新。 PyTorch中梯度下降的更新公式为 其中 Wi第i次更新的参数。lr学习率。Vi更新量。mmomentum系数。g(Wi)Wi的梯度。 举个例子 100这个时刻的更新量不仅与当前梯度有关还与之前的梯度有关只是越以前的对当前时刻的影响就越小。 momentum的作用主要是可以加速收敛。 四、十种常见的优化器简单罗列 目前对优化器的了解还不多以后会继续跟进这里就简单罗列一下 optim.SGD随机梯度下降法optim.Adagrad自适应学习率梯度下降法optim.RMSpropAdagrad的改进optim.AdadeltaAdagrad的改进optim.AdamRMSprop结合Momentumoptim.AdamaxAdam增加学习率上限optim.SparseAdam稀疏版的Adamoptim.ASGD随机平均梯度下降法optim.Rprop弹性反向传播optim.LBFGS BFGS的改进
http://wiki.neutronadmin.com/news/107597/

相关文章:

  • 做网站用什么软件ps字体推广的方式
  • 百度指数查询官网入口网站优化seo推广服务
  • 东营外贸型网站设计凡科建站源码
  • 网络网站开发培训局网站建设工作总结
  • 泉州市住房和城乡建设网站道滘仿做网站
  • 晋城市网站建设管理人员软件定制网
  • 江苏中粟建设工程有限公司网站网站怎么做vga头
  • 网站商城方案电子商务网站建设选修课
  • 商务网站的建设与维护西安黄页网
  • 企业开办网站网站后台 批量上传
  • 门户型网站建设方案wordpress调用微云视频
  • 企业网站建设哪家服务好h5网站建设机构
  • 网站建设我要自学网广州 做网站
  • 网站开发怎么使用sharepoint长沙在线注册公司
  • 西安微信公众号制作正规网站优化推广
  • 企业官网建站在线html网页编辑器
  • 英文淘宝网站建设wordpress 内容模板下载失败
  • 免费自助建网站软件网站建设公司百家号
  • 网站后台登陆图片wordpress获取文章发布时间
  • 电商网站建设最好的公司wordpress安装证书
  • 洛阳霞光企业网站建设公司如何创建自己的网站平台免费
  • 黑龙江建设厅网官网网站建设小程序开发seo推广
  • 三门峡专业做网站公司龙岗网站维护
  • tst网络设计案例济南网络优化推广
  • 怀化网站开发怎么创办app
  • 华为怎么设置安全网站类似于wordpress
  • 襄阳网站建设-飞鱼网络秦皇岛黄金海岸潮汐表
  • 南京做网站优化的企业排名营销思路和创新点
  • 高端网站建设一般多少钱做视频网站都需要什么
  • 网站公司用什么软件做网站wordpress主题html5