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

北京飞雨网站建设公司wordpress dokan

北京飞雨网站建设公司,wordpress dokan,wow亚洲服有永久60级么,石家庄建站网页模板这个地方一直是我思考的地方#xff01;因为学的代码太多了#xff0c;构建的模型各有不同#xff0c;这里记录一下#xff01; 可以使用以下3种方式构建模型#xff1a; 1#xff0c;继承nn.Module基类构建自定义模型。 2#xff0c;使用nn.Sequential按层顺序构建模…这个地方一直是我思考的地方因为学的代码太多了构建的模型各有不同这里记录一下 可以使用以下3种方式构建模型 1继承nn.Module基类构建自定义模型。 2使用nn.Sequential按层顺序构建模型。 3继承nn.Module基类构建模型并辅助应用模型容器进行封装(nn.Sequential,nn.ModuleList,nn.ModuleDict)。 其中 第1种方式最为常见第2种方式最简单第3种方式最为灵活也较为复杂。 推荐使用第1种方式构建模型。 头文件 import torch from torch import nn一继承nn.Module基类构建自定义模型 以下是继承nn.Module基类构建自定义模型的一个范例。模型中的用到的层一般在__init__函数中定义然后在forward方法中定义模型的正向传播逻辑。 class Net(nn.Module):def __init__(self):super(Net, self).__init__()self.conv1 nn.Conv2d(in_channels3,out_channels32,kernel_size 3)self.pool1 nn.MaxPool2d(kernel_size 2,stride 2)self.conv2 nn.Conv2d(in_channels32,out_channels64,kernel_size 5)self.pool2 nn.MaxPool2d(kernel_size 2,stride 2)self.dropout nn.Dropout2d(p 0.1)self.adaptive_pool nn.AdaptiveMaxPool2d((1,1))self.flatten nn.Flatten()self.linear1 nn.Linear(64,32)self.relu nn.ReLU()self.linear2 nn.Linear(32,1)self.sigmoid nn.Sigmoid()def forward(self,x):x self.conv1(x)x self.pool1(x)x self.conv2(x)x self.pool2(x)x self.dropout(x)x self.adaptive_pool(x)x self.flatten(x)x self.linear1(x)x self.relu(x)x self.linear2(x)y self.sigmoid(x)return ynet Net() print(net)二使用nn.Sequential按层顺序构建模型 使用nn.Sequential按层顺序构建模型无需定义forward方法。仅仅适合于简单的模型。 以下是使用nn.Sequential搭建模型的一些等价方法。 1利用add_module方法 net nn.Sequential() net.add_module(conv1,nn.Conv2d(in_channels3,out_channels32,kernel_size 3)) net.add_module(pool1,nn.MaxPool2d(kernel_size 2,stride 2)) net.add_module(conv2,nn.Conv2d(in_channels32,out_channels64,kernel_size 5)) net.add_module(pool2,nn.MaxPool2d(kernel_size 2,stride 2)) net.add_module(dropout,nn.Dropout2d(p 0.1)) net.add_module(adaptive_pool,nn.AdaptiveMaxPool2d((1,1))) net.add_module(flatten,nn.Flatten()) net.add_module(linear1,nn.Linear(64,32)) net.add_module(relu,nn.ReLU()) net.add_module(linear2,nn.Linear(32,1)) net.add_module(sigmoid,nn.Sigmoid())print(net)2利用变长参数 这种方式构建时不能给每个层指定名称。 net nn.Sequential(nn.Conv2d(in_channels3,out_channels32,kernel_size 3),nn.MaxPool2d(kernel_size 2,stride 2),nn.Conv2d(in_channels32,out_channels64,kernel_size 5),nn.MaxPool2d(kernel_size 2,stride 2),nn.Dropout2d(p 0.1),nn.AdaptiveMaxPool2d((1,1)),nn.Flatten(),nn.Linear(64,32),nn.ReLU(),nn.Linear(32,1),nn.Sigmoid() )print(net)3利用OrderedDict from collections import OrderedDictnet nn.Sequential(OrderedDict([(conv1,nn.Conv2d(in_channels3,out_channels32,kernel_size 3)),(pool1,nn.MaxPool2d(kernel_size 2,stride 2)),(conv2,nn.Conv2d(in_channels32,out_channels64,kernel_size 5)),(pool2,nn.MaxPool2d(kernel_size 2,stride 2)),(dropout,nn.Dropout2d(p 0.1)),(adaptive_pool,nn.AdaptiveMaxPool2d((1,1))),(flatten,nn.Flatten()),(linear1,nn.Linear(64,32)),(relu,nn.ReLU()),(linear2,nn.Linear(32,1)),(sigmoid,nn.Sigmoid())])) print(net)三继承nn.Module基类构建模型并辅助应用模型容器进行封装 当模型的结构比较复杂时我们可以应用模型容器(nn.Sequential,nn.ModuleList,nn.ModuleDict)对模型的部分结构进行封装。 这样做会让模型整体更加有层次感有时候也能减少代码量。 注意在下面的范例中我们每次仅仅使用一种模型容器但实际上这些模型容器的使用是非常灵活的可以在一个模型中任意组合任意嵌套使用。 1nn.Sequential作为模型容器 class Net(nn.Module):def __init__(self):super(Net, self).__init__()self.conv nn.Sequential(nn.Conv2d(in_channels3,out_channels32,kernel_size 3),nn.MaxPool2d(kernel_size 2,stride 2),nn.Conv2d(in_channels32,out_channels64,kernel_size 5),nn.MaxPool2d(kernel_size 2,stride 2),nn.Dropout2d(p 0.1),nn.AdaptiveMaxPool2d((1,1)))self.dense nn.Sequential(nn.Flatten(),nn.Linear(64,32),nn.ReLU(),nn.Linear(32,1),nn.Sigmoid())def forward(self,x):x self.conv(x)y self.dense(x)return y net Net() print(net)2nn.ModuleList作为模型容器 class Net(nn.Module):def __init__(self):super(Net, self).__init__()self.layers nn.ModuleList([nn.Conv2d(in_channels3,out_channels32,kernel_size 3),nn.MaxPool2d(kernel_size 2,stride 2),nn.Conv2d(in_channels32,out_channels64,kernel_size 5),nn.MaxPool2d(kernel_size 2,stride 2),nn.Dropout2d(p 0.1),nn.AdaptiveMaxPool2d((1,1)),nn.Flatten(),nn.Linear(64,32),nn.ReLU(),nn.Linear(32,1),nn.Sigmoid()])def forward(self,x):for layer in self.layers:x layer(x)return x net Net() print(net)3nn.ModuleDict作为模型容器 注意下面中的ModuleDict不能用Python中的字典代替。 class Net(nn.Module):def __init__(self):super(Net, self).__init__()self.layers_dict nn.ModuleDict({conv1:nn.Conv2d(in_channels3,out_channels32,kernel_size 3),pool: nn.MaxPool2d(kernel_size 2,stride 2),conv2:nn.Conv2d(in_channels32,out_channels64,kernel_size 5),dropout: nn.Dropout2d(p 0.1),adaptive:nn.AdaptiveMaxPool2d((1,1)),flatten: nn.Flatten(),linear1: nn.Linear(64,32),relu:nn.ReLU(),linear2: nn.Linear(32,1),sigmoid: nn.Sigmoid()})def forward(self,x):layers [conv1,pool,conv2,pool,dropout,adaptive,flatten,linear1,relu,linear2,sigmoid]for layer in layers:x self.layers_dict[layer](x)return x net Net() print(net)
http://www.huolong8.cn/news/38148/

相关文章:

  • 网站后台上传文件wordpress最新中文版下载
  • 网站上线稳定后工作Wordpress全站404
  • 网站建设犭金手指六六壹柒做视频的模板下载网站
  • 建设广告网站需要资质吗图书网站建设策划书
  • 阿里云服务器可以做下载类网站吗网站 为何要 备案
  • 代刷网站推广链接0元价格专业人士怎样建网站
  • 手工艺品网站建设的选题背景哈尔滨 做网站公司哪家好
  • 电子商务网站建设过程范文东莞企业网络推广
  • 赣州门户网站建设做网站网页需要什么软件
  • 甘肃网站开发电商主页设计
  • 医药网站文案编辑是怎么做的seo教程正规化岚鸿
  • 就业服务网站建设方案网站模板上传打不开
  • 麻涌东莞网站建设网站首页页面代码
  • 承接网站开发文案家具在线设计平台
  • 课桌公司网站建设南昌企业网站开发公司
  • 网站设计的机构海西州商城网站建设
  • 宝应123网站建设网高端网站建设汉狮团队
  • 街舞舞团公司做网站网站如何做用户的实名认证
  • 源码交易平台网站源码网站微信建设运维培训班
  • 个人做游戏下载网站侵权吗邢台网站123
  • 网站建设建设公司资质要求flash工作室网站模板
  • 蓝色科技网站建设sjz住房建设局网站
  • 铁路建设工程网站欧美做视频网站有哪些
  • C 建设个人网站惠州市惠城区规划建设局网站
  • 业之峰装饰公司装修每平米价格淄博网站制作优化
  • 如何建立自己的网站去推广建网站公司哪个比较好
  • 站长网ppt模板下载开发网站找什么公司
  • 用AIDE怎么建设网站wordpress电商
  • 广东省建设厅网站可以查网站备案号格式说明书
  • h5 php网站开发语文建设网站