目录
1.2 在common.py后面加入如下刚刚定义的网络,就是上面的代码的一部分
2. 如此修改网络的yaml文件,yolov5n_res18.yaml
1.网络结构
残差18网络如下
可做出如下修改
1.1 三层如下定义
import torch
from torch import nn
from torchvision import models
from torchinfo import summary
class resnet18(nn.Module):
def __init__(self,n):
super().__init__()
model = models.resnet18(pretrained=True)
if n==1:
layer=[]
layer+=[model.conv1]
layer+=[model.bn1]
layer+=[model.relu]
layer+=[model.maxpool]
layer+=[model.layer1]
layer+=[model.layer2]
self.model=nn.Sequential(*layer)
if n==2:
self.model=model.layer3
if n==3:
self.model=model.layer4
def forward(self, x):
return self.model(x)
if __name__ == '__main__':
x=torch.randn(1,3,640,640)#torch.Size([1, 128, 80, 80])
x=torch.randn(1, 128, 80, 80)#torch.Size([1, 256, 40, 40]
x=torch.randn(1, 256, 40, 40)#torch.Size([1, 512, 20, 20])
net=resnet18(3)#
out=net(x)
print(out.shape)
# summary(net,(1,3,640,640))
1.2 在common.py后面加入如下刚刚定义的网络,就是上面的代码的一部分
2. 如此修改网络的yaml文件,yolov5n_res18.yaml
# YOLOv5
标签:__,resnet18,yolov5,18,torch,残差,layer,model,512
From: https://blog.csdn.net/m0_53291740/article/details/141026329