本博文主要是针对mobileNet-v1采用pytorch进行实现,代码也是参考他人的代码,具体实现如下:
# -*- coding: utf-8 -*-
"""
Created on Tue May 21 20:41:58 2019
@author: Administrator
"""
import time
import torch
import torch.nn as nn
import torch.backends.cudnn as cudnn
import torchvision.models as models
from torch.autograd import Variable
class MobileNet(nn.Module):
def __init__(self):
super(MobileNet,self).__init__()
#标准卷积
def conv_bn(inp,oup,stride):
return nn.Sequential(
nn.Conv2d(inp,oup,3,stride,1,bias = False),
nn.BatchNorm2d(oup),
nn.ReLU(inplace = True))
#深度卷积
def conv_dw(inp,oup,stride):
return nn.Sequential(
nn.Conv2d(inp,inp,3,stride,1,groups = inp,bias = False),
nn.BatchNorm2d(inp),
nn.ReLU(i