您现在的位置是:首页 >学无止境 >深度学习-经典神经网络网站首页学无止境
深度学习-经典神经网络
简介深度学习-经典神经网络
ALexNet
结构图
代码
import torch
import torch.nn as nn
import numpy as np
class myModule(nn.Module):
def __init__(self,num_class):
super().__init__()
self.cn1 = nn.Conv2d(3,64,11,4,2)
self.p1 = nn.MaxPool2d(3,2)
self.cn2 = nn.Conv2d(64,192,5,1,2)
self.p2 = nn.MaxPool2d(3,2)
self.cn3 = nn.Conv2d(192,384,3,1,1)
self.cn4 = nn.Conv2d(384,256,3,1,1)
self.cn5 = nn.Conv2d(256,256,3,1,1)
self.p3 = nn.MaxPool2d(3,2)
self.p4 = nn.AdaptiveAvgPool2d(6)
self.fla = nn.Flatten()
self.l1 = nn.Linear(9216,4096)
self.l2 = nn.Linear(4096,4096)
self.l3 = nn.Linear(4096,num_class)
def forward(self , x):
x = self.cn1(x)
x = self.p1(x)
x= self.cn2(x)
x = self.p2(x)
x = self.cn3(x)
x = self.cn4(x)
x = self.cn5(x)
x = self.p3(x)
x = self.p4(x)
x = self.fla(x)
x = self.l1(x)
x = self.l2(x)
x = self.l3(x)
return x
temp = torch.zeros((4,3,244,244))
model = myModule(1000)
out = model(temp)
print(out.size())
print(out)
VGG13
结构图
代码
import torch
import torch.nn as nn
class vggLayer(nn.Module):
def __init__(self,inChannel,midChannel,outChannel):
super().__init__()
self.cn1 = nn.Conv2d(in_channels=inChannel,out_channels=midChannel,kernel_size=3,stride=1,padding=1)
self.cn2 = nn.Conv2d(midChannel,outChannel,3,1,1)
self.p1 = nn.MaxPool2d(3,2)
def forward(self,x):
x = self.cn1(x)
x = self.cn2(x)
x = self.p1(x)
return x
class myModule(nn.Module):
def __init__(self):
super().__init__()
self.layer1 = vggLayer(3,64,64)
self.layer2 = vggLayer(64,128,128)
self.layer3 = vggLayer(128,256,256)
self.layer4 = vggLayer(256,512,512)
self.layer5 = vggLayer(512,512,512)
self.adapool = nn.AdaptiveAvgPool2d(7)
self.fla = nn.Flatten()
self.l1 = nn.Linear(25088,4096)
self.l2 = nn.Linear(4096,4096)
self.l3 = nn.Linear(4096,1000)
def forward(self , x ):
x = self.layer1(x)
x = self.layer2(x)
x = self.layer3(x)
x = self.layer4(x )
x = self.layer5(x)
x = self.adapool(x)
x = self.fla(x)
x =self.l1(x)
x = self.l2(x)
x =self.l3(x)
return x
temp = torch.zeros((4,3,244,244))
model =myModule()
out = model(temp)
print(out.size())
print(out)
风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。