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

专业信息门户网站建设如果评价网站做的好不好

专业信息门户网站建设,如果评价网站做的好不好,网站关键词排名手机优化软件,推广普通话的意义30字我们常用torch.nn来封装网络#xff0c;torch.nn为我们封装好了很多神经网络中不同的层#xff0c;如卷积层、池化层、归一化层等。我们会把这些层像是串成一个牛肉串一样串起来#xff0c;形成网络。 先从最简单的#xff0c;都有哪些层开始学起。 Convolution Layers -…我们常用torch.nn来封装网络torch.nn为我们封装好了很多神经网络中不同的层如卷积层、池化层、归一化层等。我们会把这些层像是串成一个牛肉串一样串起来形成网络。 先从最简单的都有哪些层开始学起。 Convolution Layers - 卷积层 torch.nn.Conv1d() 1维卷积层。 torch.nn.Conv1d(in_channels, out_channels, kernel_size, stride1, padding0, dilation1, groups1, biasTrue, padding_modezeros, deviceNone, dtypeNone)in_channels输入tensor的通道数 out_channels输出tensor的通道数 kernel_size卷积核的大小 stride步长 padding输入tensor的边界填充尺寸 dilation卷积核之间的间距下面这个图为dilation2默认为1 groups从输入通道到输出通道的阻塞连接数。in_channel和out_channel需要能被groups整除。更具体地 groups1时所有输入均与所有输出进行卷积groups2时该操作相当于并排设置两个卷积层每卷积层看到一半的输入通道产生一半的输出通道然后将两个卷积层连接起来。groupsin_channel时输入的每个通道都和相应的卷积核进行卷积 bias是否添加可学习的偏差值True为添加False为不添加。 padding_mode填充模式有以下取值zeros这个是默认值、reflect、replicate、circular。 import torch import torch.nn as nnm nn.Conv1d(in_channels16,out_channels33,kernel_size3,stride2) # input: 批大小为20每个数据通道为16size50 input torch.randn(20, 16, 50) output m(input) print(output.size())输出 # output: 批大小为20每个数据通道为33size24 torch.Size([20, 33, 24])torch.nn.Conv2d() 2维卷积层。 torch.nn.Conv2d(in_channels, out_channels, kernel_size, stride1, padding0, dilation1, groups1, biasTrue, padding_modezeros, deviceNone, dtypeNone)参数与Conv1d()基本一样不再赘述。 import torch import torch.nn as nnm nn.Conv2d(in_channels2,out_channels3,kernel_size3,stride2) input torch.randn(20, 2, 5, 6) output m(input) print(output.size())输出 torch.Size([20, 3, 2, 2])torch.nn.Conv3d() 3维卷积层。 torch.nn.Conv3d(in_channels, out_channels, kernel_size, stride1, padding0, dilation1, groups1, biasTrue, padding_modezeros, deviceNone, dtypeNone)参数与Conv1d()基本一样不再赘述。 import torch import torch.nn as nnm nn.Conv3d(in_channels2,out_channels3,kernel_size3,stride2) input torch.randn(20, 2, 4, 5, 6) output m(input) print(output.size())输出 torch.Size([20, 3, 1, 2, 2])torch.nn.ConvTranspose1d() 1维转置卷积层。 torch.nn.ConvTranspose1d(in_channels, out_channels, kernel_size, stride1, padding0, output_padding0, groups1, biasTrue, dilation1, padding_modezeros, deviceNone, dtypeNone)参数与Conv1d()基本一样不再赘述。 唯一不同的是output_padding与padding不同的是output_padding是输出tensor的每一个边外面填充的层数。 padding是输入tensor的每个边填充的层数 import torch import torch.nn as nnm nn.ConvTranspose1d(in_channels2,out_channels3,kernel_size3,stride1) input torch.randn(20, 2, 2) output m(input) print(output.size())输出 torch.Size([20, 3, 4])torch.nn.ConvTranspose2d() 2维转置卷积层。 torch.nn.ConvTranspose2d(in_channels, out_channels, kernel_size, stride1, padding0, output_padding0, groups1, biasTrue, dilation1, padding_modezeros, deviceNone, dtypeNone)参数与Conv1d()基本一样不再赘述。 import torch import torch.nn as nnm nn.ConvTranspose2d(in_channels2,out_channels3,kernel_size3,stride1) input torch.randn(20, 2, 2, 2) output m(input) print(output.size())输出 torch.Size([20, 3, 4, 4])torch.nn.ConvTranspose3d() 3维转置卷积层。 torch.nn.ConvTranspose3d(in_channels, out_channels, kernel_size, stride1, padding0, output_padding0, groups1, biasTrue, dilation1, padding_modezeros, deviceNone, dtypeNone)参数与Conv1d()基本一样不再赘述。 import torch import torch.nn as nnm nn.ConvTranspose3d(in_channels2,out_channels3,kernel_size3,stride1) input torch.randn(20, 2, 2, 2, 2) output m(input) print(output.size())输出 torch.Size([20, 3, 4, 4, 4])torch.nn.LazyConv1d() 1维延迟初始化卷积层当in_channel不确定时可使用这个层。 关于延迟初始化大家可以参考这篇文章我认为讲的很好 俱往矣… - 延迟初始化——【torch学习笔记】 torch.nn.LazyConv1d(out_channels, kernel_size, stride1, padding0, dilation1, groups1, biasTrue, padding_modezeros, deviceNone, dtypeNone)LazyConv1d没有in_channel参数。 这不代表这个层没有输入的通道而是在调用时自动适配并进行初始化。 引用文章中的一段代码改成LazyConv1d讲述使用方法。 import torch import torch.nn as nnnet nn.Sequential(nn.LazyConv1d(256, 2),nn.ReLU(),nn.Linear(9, 10) ) print(net) [net[i].state_dict() for i in range(len(net))]low torch.finfo(torch.float32).min / 10 high torch.finfo(torch.float32).max / 10 X torch.zeros([2, 20, 10], dtypetorch.float32).uniform_(low, high) net(X) print(net)输出 Sequential((0): LazyConv1d(0, 256, kernel_size(2,), stride(1,))(1): ReLU()(2): Linear(in_features9, out_features10, biasTrue) ) Sequential((0): Conv1d(20, 256, kernel_size(2,), stride(1,))(1): ReLU()(2): Linear(in_features9, out_features10, biasTrue) )可以看出未进行初始化时in_features0。只有传入参数使用网络后才会根据输入进行初始化。 torch.nn.LazyConv2d() 2维延迟初始化卷积层。 torch.nn.LazyConv2d(out_channels, kernel_size, stride1, padding0, dilation1, groups1, biasTrue, padding_modezeros, deviceNone, dtypeNone)torch.nn.LazyConv3d() 3维延迟初始化卷积层。 torch.nn.LazyConv3d(out_channels, kernel_size, stride1, padding0, dilation1, groups1, biasTrue, padding_modezeros, deviceNone, dtypeNone)torch.nn.LazyConvTranspose1d() 1维延迟初始化转置卷积层。 torch.nn.LazyConvTranspose1d(out_channels, kernel_size, stride1, padding0, output_padding0, groups1, biasTrue, dilation1, padding_modezeros, deviceNone, dtypeNone)torch.nn.LazyConvTranspose2d() 2维延迟初始化转置卷积层。 torch.nn.LazyConvTranspose2d(out_channels, kernel_size, stride1, padding0, output_padding0, groups1, biasTrue, dilation1, padding_modezeros, deviceNone, dtypeNone)torch.nn.LazyConvTranspose3d() 3维延迟初始化转置卷积层。 torch.nn.LazyConvTranspose3d(out_channels, kernel_size, stride1, padding0, output_padding0, groups1, biasTrue, dilation1, padding_modezeros, deviceNone, dtypeNone)torch.nn.Unfold() 从一个批次的输入张量中提取出滑动的局部区域块。 torch.nn.Unfold(kernel_size, dilation1, padding0, stride1)kernel_size滑动块的大小 dilation卷积核之间的间距(torch.nn.Conv1d中有图示) padding输入tensor的边界填充尺寸 stride滑块滑动的步长。 这里的输入必须是4维的tensor否则会报这样的错误 NotImplementedError: Input Error: Only 4D input Tensors are supported (got 2D)示例 import torch from torch import nnt torch.tensor([[[[1., 2., 3., 4.],[5., 6., 7., 8.],[9., 10., 11., 12.],[13., 14., 15., 16.],]]])unfold nn.Unfold(kernel_size(2, 2), dilation1, padding0, stride1) output unfold(t) print(output)输出 tensor([[[ 1., 2., 3., 5., 6., 7., 9., 10., 11.],[ 2., 3., 4., 6., 7., 8., 10., 11., 12.],[ 5., 6., 7., 9., 10., 11., 13., 14., 15.],[ 6., 7., 8., 10., 11., 12., 14., 15., 16.]]])torch.nn.Fold() Unfold()的逆操作。当Unfold()时出现滑块有重复覆盖时会导致结果和原来不一样。因为Fold()的过程中对于同一个位置的元素进行加法处理。 torch.nn.Fold(output_size, kernel_size, dilation1, padding0, stride1)下面是Unfold()和Fold()结合的代码Unfold()部分和上面代码相同。 import torch from torch import nnt torch.tensor([[[[1., 2., 3., 4.],[5., 6., 7., 8.],[9., 10., 11., 12.],[13., 14., 15., 16.]]]])unfold nn.Unfold(kernel_size(2, 2), dilation1, padding0, stride1) output unfold(t) print(output) fold nn.Fold(output_size(4, 4), kernel_size(2, 2)) out fold(output) print(out)输出 tensor([[[ 1., 2., 3., 5., 6., 7., 9., 10., 11.],[ 2., 3., 4., 6., 7., 8., 10., 11., 12.],[ 5., 6., 7., 9., 10., 11., 13., 14., 15.],[ 6., 7., 8., 10., 11., 12., 14., 15., 16.]]]) tensor([[[[ 1., 4., 6., 4.],[10., 24., 28., 16.],[18., 40., 44., 24.],[13., 28., 30., 16.]]]])
http://www.hkea.cn/news/14271904/

相关文章:

  • 百度浏览器下载安装广西seo快速排名
  • 网站建设文案怎么写东莞网吧
  • 个人单页网站模板网站建设工作室有几个部门
  • 网站建设对信息公开的作用湖南厦门网站优化
  • 网站建设需要干什么wps可以做网站吗
  • 莆田网站建设方案优化郑州公司建网站
  • 网站开发公司建网站免费的室内装修设计软件
  • 北京做网站要多少钱苏州正规网站设计公司
  • seo企业网站源码东莞大岭山镇网站建设
  • 微商手机网站制作公司wordpress菜单显示在哪里设置
  • 福州网站制作公司凡科建站后属于自己的网站吗
  • 大连网站建设渠道公司网站制作要多少钱
  • 苏州网络营销及网站推广山西品牌网站建设
  • 上杭建设局网站服装设计公司简介范文
  • 做网站是通过怎么挣钱莱芜网红小莱芜
  • 什么样的网站可以做外链客户网站建设洽谈方案
  • 新乡做网站公司电话wordpress的开发框架
  • 高端网站设计制作方法设计制作小车教学反思
  • 温州中豪网站建设推广ppt万能模板免费下载
  • 黔南网站建设多少钱深圳发布稳增长措施
  • 垡头网站建设设计平面广告
  • 四川建设网站塔吊天津做网站费用
  • 中牟做网站wordpress手机怎么分享链接地址
  • 晨光文具店网站建设老域名全部失效请拿笔记好
  • 网站开发需要的技能像那种代刷网站怎么做
  • 吉林市网站制作哪家好清远企业网站建设公司
  • 荆州网站建设 众火网淄博瓷砖网站建设中企动力
  • 营销型网站设计难不难成都网站设计建设
  • 简繁网站怎么做网站开发用php还是python
  • 双语网站建设公司建设部网站公示