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

商城网站数据库梧州百度

商城网站数据库,梧州百度,电商网站开发要哪些技术,卖水果网站建设的策划书改编自李沐老师《动手深度学习》5.2. 参数管理 — 动手学深度学习 2.0.0 documentation (d2l.ai) 在深度学习中#xff0c;一旦我们选择了模型架构并设置了超参数#xff0c;我们就会进入训练阶段。训练的目标是找到能够最小化损失函数的模型参数。这些参数在训练后用于预测一旦我们选择了模型架构并设置了超参数我们就会进入训练阶段。训练的目标是找到能够最小化损失函数的模型参数。这些参数在训练后用于预测有时我们也需要将它们提取出来以便在其他环境中使用或者保存模型以便在其他软件中执行甚至是为了科学理解而进行检查。 参数访问 访问模型参数 在PyTorch中我们可以通过模型的层来访问参数。每一层都有自己的参数比如权重和偏置。我们可以通过索引来访问这些参数。 import torch from torch import nn# 定义一个简单的模型 net nn.Sequential(nn.Linear(4, 8), nn.ReLU(), nn.Linear(8, 1)) X torch.rand(size(2, 4)) output net(X) 我们可以通过索引来检查模型中特定层的参数。 # 打印第二层全连接层的参数 print(net[2].state_dict()) 这会显示第二层的权重和偏置它们是模型学习的关键部分。 访问特定参数的值 我们可以进一步提取特定参数的值。这通常在我们需要对参数进行特定操作时非常有用。 # 打印第二层的偏置参数 print(net[2].bias) print(net[2].bias.data) 参数是复合对象包含值、梯度和其他信息。在没有进行反向传播的情况下参数的梯度处于初始状态。 一次性访问所有参数 当需要对所有参数执行操作时可以一次性访问所有参数。这在处理大型模型时尤其有用。 # 打印所有层的参数名称和形状 print(*[(name, param.shape) for name, param in net.named_parameters()]) 从嵌套块收集参数 当模型由多个子模块组成时我们可以通过类似列表索引的方式来访问这些子模块的参数。 # 定义一个子模块 def block1():return nn.Sequential(nn.Linear(4, 8), nn.ReLU(),nn.Linear(8, 4), nn.ReLU())# 定义一个包含多个子模块的模型 def block2():net nn.Sequential()for i in range(4):net.add_module(fblock {i}, block1())return net# 创建一个包含嵌套子模块的模型 rgnet nn.Sequential(block2(), nn.Linear(4, 1)) output rgnet(X)# 打印模型结构 print(rgnet)# 访问嵌套子模块的参数 print(rgnet[0][1][0].bias.data) 参数初始化 内置初始化 PyTorch提供了多种预置的初始化方法我们可以根据需要选择。 # 初始化所有权重为高斯随机变量偏置为0 def init_normal(m):if type(m) nn.Linear:nn.init.normal_(m.weight, mean0, std0.01)nn.init.zeros_(m.bias) net.apply(init_normal) 自定义初始化 有时我们需要自定义初始化方法来满足特定的需求。 # 自定义初始化方法 def my_init(m):if type(m) nn.Linear:print(Init, *[(name, param.shape)for name, param in m.named_parameters()][0])nn.init.uniform_(m.weight, -10, 10)m.weight.data * m.weight.data.abs() 5net.apply(my_init) 参数绑定 有时我们希望在多个层间共享参数。在PyTorch中我们可以通过引用同一个层的参数来实现这一点。 # 定义一个共享层 shared nn.Linear(8, 8)# 使用共享层构建模型 net nn.Sequential(nn.Linear(4, 8), nn.ReLU(),shared, nn.ReLU(),shared, nn.ReLU(),nn.Linear(8, 1)) output net(X)# 检查参数是否相同 print(net[2].weight.data[0] net[4].weight.data[0])# 改变一个参数另一个也会改变 net[2].weight.data[0, 0] 100 print(net[2].weight.data[0] net[4].weight.data[0]) 这个例子展示了如何在模型的不同层之间共享参数以及如何通过改变一个参数来影响另一个参数。这种技术在构建复杂的神经网络时非常有用。
http://www.hkea.cn/news/14542479/

相关文章:

  • 网站建设流程是这样的网站建设找嘉艺网络
  • 网站建设新闻咨询中国建筑第八工程局招聘信息
  • 山西省建设信息网站企业网站和域名的好处
  • 珠海网站制作推广怎么提高网站的知名度
  • 铜川商城网站建设网站开发好了 怎么发布
  • 武昌做网站哪家专业类似于美团的网站怎么做的
  • 城乡建设部网站第35号令注册一家公司的流程
  • 娄底网站设计宣传展示型网站设计
  • 网站域名怎么转社区网站搭建
  • wordpress网站第一次打开慢扬中网站建设怎么样
  • 域名邮箱和域名网站购物网站是用什么软件做的
  • 网站开发合同模板免费物流网站制作目的
  • 哪个网站可以做英语语法题wordpress 徽标
  • wow313做宏的网站广州专业网站改版设计公司
  • 网站开发中心百度网站上传
  • 网站建设详方案美食网站主页怎么做
  • 网站流量查询网站商城系统快速开发平台
  • 可信网站认证 代理商台州做网站seo的
  • 网站规划与开发专业织梦网站做自动生成地图
  • 网站建设 书籍浙江信息港查询三类证书
  • 查icp备案是什么网站外包和劳务派遣哪个更好
  • 哈尔滨网站设计公司地址做电商网站需要多少钱
  • 大学电子商务网站建设高平市网站建设公司
  • 官方网站免费建设紫砂壶网站开发与设计报告论文
  • 有哪些网站做的比较好看的手机ui设计是什么
  • 中国建设网站奉贤建设机械网站
  • 淄博英文网站建设网页视频下载慢怎么办
  • 深圳机场最新消息今天seo发帖网站
  • 高端服装产品网站建设网站建设沟通
  • 国外哪些网站是python做的网站开发技术工作室