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

上海网站建设明细表南通 网络 公司网站

上海网站建设明细表,南通 网络 公司网站,美术培训学校网站模板,社交电商apppytorch实现自定义网络层#xff0c;并自设定前向传播路径-学习笔记 1. 不包含模型参数的自定义网络层 首先我们自定义一个网络层#xff0c; 定义一个网络层#xff0c;使其不包含模型参数#xff0c;并在forward()函数中进行运算#xff1a; import torch from torc…pytorch实现自定义网络层并自设定前向传播路径-学习笔记 1. 不包含模型参数的自定义网络层 首先我们自定义一个网络层 定义一个网络层使其不包含模型参数并在forward()函数中进行运算 import torch from torch import nnclass non_param_layer(nn.Module):def __init__(self, **kwargs):super(non_param_layer, self).__init__(**kwargs)def forward(self, x):return x - x.mean()这个层中没有模型参数只在forward中定义了计算减去数据平均值 实例化该层并进行前向计算 layer non_param_layer() layer(torch.tensor([1, 2, 3, 4, 5], dtypetroch.float))输出 tensor([-2., -1., 0., 1., 2.])我们将该层网络加入网络中 net nn.Sequential(nn.Linear(8, 128), non_param_layer())进行前向计算并输出自定义层的输出的均值 y net(torch.rand(4, 8)) y.mean().item() # 0因为我们自定义的网络层所做的操作是每个输入减去所有数据的均值所以其输出的各个数值取均值的结果为0 2. 含有模型参数的自定义层 与上面一节不同我们要自定义一个含有模型参数的网络层 之前的blog有讲过构造深度学习模型有很多种方法其中使用ParameterList和ParameterDict定以模型比较特别接下来我们使用这两种方式自定义网络层。 class my_dense(nn.Module):def __init__(self):super(my_dense, self).__init__()self.params nn.ParameterList([nn.Parameter(torch.randn(4, 4)) for i in range(3)])self.params.append(nn.Parameter(torch.randn(4, 1)))def forward(self, x):for i in range(len(self.params)):x torch.mm(x, self.params[i])return x net my_dense() print(net)输出 MyDense((params): ParameterList((0): Parameter containing: [torch.FloatTensor of size 4x4](1): Parameter containing: [torch.FloatTensor of size 4x4](2): Parameter containing: [torch.FloatTensor of size 4x4](3): Parameter containing: [torch.FloatTensor of size 4x1]) )接下来使用ParameterDict网络模型并且自定义网络传播路径 class dict_dense(nn.Module):def __init__(self):super(dict_dense, self).__init()self.params nn.ParameterDict({liner1 : nn.Parameter(troch.randn(4, 4))liner2 : nn.Parameter(torch.randn(4, 1))})self.params.update({liner3 : nn.Parameter(torch.randn(4, 2))})def forward(self, x, choiceliner1):return torch.mm(x, self.params[choice])net dict_dense() pritn(net)输出 MyDictDense((params): ParameterDict((linear1): Parameter containing: [torch.FloatTensor of size 4x4](linear2): Parameter containing: [torch.FloatTensor of size 4x1](linear3): Parameter containing: [torch.FloatTensor of size 4x2]) )然后可以自己指定网络训练的传播路径 x torch.ones(1, 4) print(net(x, liner1))同时我们还可以使用Sequential将我们自定义的网络层加入到网络中 mix_net nn.Sequential(dict_dense(),my_dense() , )
http://www.zqtcl.cn/news/38019/

相关文章:

  • 电子商务网站建设 课后答案做公司网站需要什么程序
  • 商务酒店网站模板移动ui设计 网站
  • 怎么获取网站数据做统计数据如何建设废品网站
  • 网站模板代理电话上海外贸公司集中在哪些地方
  • 做我女朋友的表白句的网站站长网站优点
  • 怎么建国外网站微网站官网
  • 单页网站排名优化快速搭建一个网站
  • 网站幕布拍摄番禺建设网站专家
  • 网站分页样式shopify如何做瀑布流网站
  • 国内外婚纱网站建设现状商丘做网站多少钱
  • 青岛做一个网站多少钱平面设计师要学哪些软件
  • 网站解析怎么设置郑州网站制作案例
  • 网站制作精品案例欣赏公司网页如何免费制作
  • 菠菜网站怎么做推广网站建设方案对比分析报告
  • 哈密地网站建设鞍山网站制作谁家好
  • 湘潭网站建设方案咨询建筑培训内容
  • 网站建设社团活动宗旨专业设计网址青岛网站开发
  • 有个人代做网站的吗绍兴网站制作计划
  • 好的数据库网站ngrok 群晖wordpress
  • 个人网站怎样申请网站信任 用户转化
  • 企业网站制作查询如何增加网站关键词
  • 网站备案ftp密码网站文件夹怎么做
  • 网站空间 哪个速度快深圳网站建设系统
  • 贵州飞乐云毕节网站建设上海浦东新区
  • 什么叫网站备案新公司刚成立做网站
  • 没有网站做cpa怎么赚钱长沙网站seo收费标准
  • 企业网站建设的收获wordpress如何看主题
  • 织梦网站免费模板专业建站网网站运营推广
  • 建设网站定制房地产店铺首页设计过程
  • 科技设计网站有哪些嵌入式开发是干啥的