当前位置:网站首页>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深度学习实战(伊莱史蒂文斯)
边栏推荐
- quick-3.5 ActionTimeline的setLastFrameCallFunc调用会崩溃问题
- 小米手机短信定位服务激活失败
- 360 加固 file path not exists.
- cocos2d-x-3.2 不能混合颜色修改
- [Cloud Native] What should I do if SQL (and stored procedures) run too slowly?
- Build DVWA with phpstudy
- js中的对象与函数的理解
- 禅道安装及使用教程
- sqlite 查看表结构 android.database.sqlite.SQLiteException: table splitTable has no column named
- The feign call fails, JSON parse error Illegal character ((CTRL-CHAR, code 31)) only regular white space (r
猜你喜欢

NFTs: The Heart of Digital Ownership

Xiaomi mobile phone SMS location service activation failed

安装Multisim出现 No software will be installed or removed解决方法

unicloud cloud development record

This in js points to the prototype object

The feign call fails, JSON parse error Illegal character ((CTRL-CHAR, code 31)) only regular white space (r

flutter 混合开发 module 依赖

The latest MySql installation teaching, very detailed

OpenCV中的图像数据格式CV_8U定义

Build DVWA with phpstudy
随机推荐
一个简单的bash转powershell案例
The feign call fails, JSON parse error Illegal character ((CTRL-CHAR, code 31)) only regular white space (r
Gradle sync failed: Uninitialized object exists on backward branch 142
qt:cannot open C:\Users\XX\AppData\Local\Temp\main.obj.15576.16.jom for write
kotlin 插件更新到1.3.21
QT VS中双击ui文件无法打开的问题
What is the difference between NFT and digital collection?
qt:cannot open C:\Users\某某某\AppData\Local\Temp\main.obj.15576.16.jom for write
为数学而歌之伯努利家族
使用ps | egrep时过滤排除掉egrep自身
MYSQL transaction and lock problem handling
Global scope and function scope in js
数据库 | SQL查询进阶语法
cocos2d-x-3.2图片灰化效果
2021年京东数据分析工程师秋招笔试编程题
通信原理——纠错编码 | 汉明码(海明码)手算详解
禅道安装及使用教程
Using IIS10 to build an asp website in win11
npm WARN config global `--global`, `--local` are deprecated. Use `--location solution
微信小程序源码获取与反编译方式