当前位置:网站首页>Pytorch实现ResNet
Pytorch实现ResNet
2022-07-31 05:16:00 【王大队长】
目标:用pytorch实现下图所示的网络

代码:
import torch
from torch import nn
import torch.nn.functional as F
class ResBlock(nn.Module): #残差块的实现也是继承nn.module后实现一个类,同样的要实现__init__()方法和forward方法
def __init__(self, n_chans):
super().__init__()
self.conv = nn.Conv2d(n_chans, n_chans, kernel_size=3, padding=1, bias=False)
self.batch_norm = nn.BatchNorm2d(n_chans)
torch.nn.init.kaiming_normal_(self.conv.weight, nonlinearity='relu') #参数初始化
torch.nn.init.constant_(self.batch_norm.weight, 0.5)
torch.nn.init.zeros_(self.batch_norm.bias)
def forward(self,x):
out = self.conv(x)
out = self.batch_norm(out)
out = F.relu(out)
return out + x
class NetResDepp(nn.Module):
def __init__(self, n_chans1=32, num_blocks=100):
super().__init__()
self.n_chans1 = n_chans1
self.num_blocks = num_blocks
self.conv = nn.Conv2d(3, n_chans1, kernel_size=3, padding=1)
self.resblocks = nn.Sequential(*(num_blocks * [*ResBlock(n_chans=n_chans1)])) # 注意这里的100个Resblock是通过先对ResBlock解包放到列表里,再用100乘这个列表就实现了将列表复制100倍,再解包就实现了100个ResBlock
self.fc1 = nn.Linear(8 * 8 * n_chans1, 32)
self.fc2 = nn.Linear(32,2)
def forward(self, x):
out = F.relu(self.conv(x))
out = F.max_pool2d(out, 2)
out = self.resblocks(out)
out = F.max_pool2d(out, 2)
out = out.view(-1, 8 * 8 * self.n_chans1)
out = self.fc1(out)
out = self.fc2(out)
return out
参考资料:
pytorch深度学习实战(伊莱史蒂文斯)
边栏推荐
猜你喜欢

Powershell中UTF-8环境中文乱码解决办法

npm WARN config global `--global`, `--local` are deprecated. Use `--location solution

MySQL高级语句(一)

自定dialog 布局没有居中解决方案

qt:cannot open C:\Users\XX\AppData\Local\Temp\main.obj.15576.16.jom for write

Xiaomi mobile phone SMS location service activation failed

jenkins +miniprogram-ci upload WeChat applet with one click

通信原理——纠错编码 | 汉明码(海明码)手算详解
![[Cloud native] Ribbon is no longer used at the bottom layer of OpenFeign starting from the 2020.0.X version](/img/7e/1d27e3f1856ab8c6cbfc5221c717bb.png)
[Cloud native] Ribbon is no longer used at the bottom layer of OpenFeign starting from the 2020.0.X version

使用 OpenCV 提取图像的 HOG、SURF 及 LBP 特征 (含代码)
随机推荐
Gradle sync failed: Uninitialized object exists on backward branch 142
多元线性回归方程原理及其推导
对js的数组的理解
纯shell实现文本替换
kotlin 插件更新到1.3.21
网页截图与反向代理
Artifact SSMwar exploded Error deploying artifact.See server log for details
为什么bash中的read要配合while才能读取/dev/stdin的内容
Understanding of js arrays
MySQL错误-this is incompatible with sql_mode=only_full_group_by完美解决方案
unicloud 发布后小程序提示连接本地调试服务失败,请检查客户端是否和主机在同一局域网下
DeFi Token in the project management
Hyper-V新建虚拟机注意事项
MySql to create data tables
理解js运算符
小米手机短信定位服务激活失败
Podspec verification dependency error problem pod lib lint , need to specify the source
quick-3.5 无法使用模拟器修改
MySQL高级语句(一)
Build vulhub vulnerability shooting range on kali