关于pytorch写网络基础

首先所有网络都要继承nn.Module,不论是残差块还是网络主体。
然后写网络的时候涉及到几个简单的函数,没啥说的,简单提几句。
第一个函数时卷积函数,这里只说2d的卷积

nn.Conv2d(in_channel,out_channel, kernel,stride,padding)
#其中in_channel和out_channel分别代表输入、输出的网络通道数

另一个函数是bn层

nn.BatchNorm2d(num_channel)
#这个函数是利用高斯分布归一化数据,细节就是利用同一个数据通道求取均值和方差
#这个num_channel参数实际上就是总体通道数参数

下一个函数是激活函数relu

nn.Relu(inplace=True)
#这个函数的参数是一个布尔值,当他为True时会把结果直接覆盖给输入,
#这样就避免了重复的内存读写和占用。
#一般设置为True。

这个函数是用在残差块相加的函数

residual = x
x = self.bn(self.conv1(x))
x = torch.add(x, residual)

最后一个函数是:

nn.PixelShuffle(upscale_factor)
#这个函数看过那篇论文的就懂了,就是espcn

剩下的就是总结一下:

  1. 网络的继承都是nn.Module
  2. 一般网络的class要有in_channel,out_channel,upscal_factor,kernel,stride,padding这些参数
  3. 在__init__里面要写各种层的操作(通道数,卷积核,步长等等),以及层的命名
  4. 要重写forward函数

关于写完的网络的测试,可以用

torch,randn(batchnumber,channelnumber,h,w)
#这个函数可以随机一个类型的tensor

方便测试网络输入输出!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值