pytorch实现分组卷积深度可分离卷积

更新时间:2023-07-14 08:04:47 阅读: 评论:0

pytorch实现分组卷积深度可分离卷积常规卷积:
since用法
常规卷积需要的参数量:Cin×K×K×Cout
分组卷积:
分组卷积需要的计算量 : Cin×K×K×Cout/ g
深度可分离卷积(Depthwi Separable Convolution):
需要的计算量:Cin×K×K+Cout×1×1
实现:
import torch
牛肺能吃吗
from torchsummary import  summary
as nn
'''
实现分组卷积demo
如何注销手机卡'''
我的寒假生活英语作文class CRNN(nn.Module):
def __init__(lf,in_channel,out_channel,group):
super(CRNN,lf).__init__()
out_channels=out_channel,
kernel_size=3,
乒乓球比赛规则
stride=1,
padding=1,
groups=group,
bias=Fal)
def forward(lf,input):
out = lf.conv(input)
return out
'''
深度可分离卷积demo
'''
class DEPTHWISECONV(nn.Module):
def __init__(lf,in_ch,out_ch):
super(DEPTHWISECONV, lf).__init__()
lf.depth_conv = nn.Conv2d(in_channels=in_ch,
out_channels=in_ch,
kernel_size=3,
stride=1,
小猴子图片padding=1,
groups=in_ch)
lf.point_conv = nn.Conv2d(in_channels=in_ch,
out_channels=out_ch,
kernel_size=1,
stride=1,
padding=0,
groups=1)
def forward(lf,input):
out = lf.depth_conv(input)
out = lf.point_conv(out)茯苓的性味归经
他人评价return out
if __name__=='__main__':
device = torch.device('cuda' if torch.cuda.is_available() el 'cpu')    conv = CRNN(3,6,1).to(device)
print(summary(conv,input_size=(3,32,32)))
dp = DEPTHWISECONV(3,6).to(device)
print(summary(dp,input_size=(3,32,32)))

本文发布于:2023-07-14 08:04:47,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/82/1095788.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:卷积   分组   深度   分离   生活   注销
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图