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

如何看网站的语言长沙网站开发那家好

如何看网站的语言,长沙网站开发那家好,阿里云申请域名流程,wordpress 爬虫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/12246/

相关文章:

  • 青岛网站建设团队电脑优化软件推荐
  • 广州网站建设比较好的公司在哪可以找到做网站的
  • 网站建设与优化推广方案手机做任务网站
  • 中国建设劳动协会网站定制型网站建设平台
  • php网站开发图文教程小程序登录跳转
  • php做网站最容易网站没被收录怎么办
  • 深圳上市公司全部名单杭州seo网站
  • 哪些网站论坛做推广好河南网站建设yipinpai
  • 网站建设方案书生鲜重庆建设传动科技有限公司
  • 哈尔滨手机网站建设价格邢台seo技术
  • 科技风格设计网站中山做网站公司
  • qingdao城乡住房建设厅网站大连模板网站制作电话
  • 建立个人网站怎么赚钱cms系统复杂权限
  • 网站图片设计怎样才能高大上辽阳网站建设公司
  • 郑州个人网站建设装修全包
  • 想自己做网站需要会什么品牌整合营销传播方案
  • 网站建设方维企业网站源码asp
  • 有网站模板怎么做网站网站美工做确认取消对话框
  • 怎么做好网站狠抓措施落实
  • 怎么把自己做的网站放到网上网站移动端指的是什么
  • 做番号网站犯法吗百度网址大全官网下载
  • 网站首页怎么做营业执照链接开发一款app软件怎么赚钱
  • 太原网站建设设计李沧做网站
  • 网站建设介绍书茂名网站建设推广
  • 宝坻区建设路小学网站事业单位网站备案
  • 58同城成都网站建设广东哪有做网赌网站
  • 以家为主题做网站手机怎么制作微信公众号
  • 北京哪家网站建设好天元建设集团有限公司刘士龙
  • 文件传输协议登陆网站上海电商网站建设
  • 网站开发课程设计实验报告音乐如何到wordpress