具体代码见:https://github.com/iboing/CliqueNet

class build_cliquenet(nn.Module):def __init__(self, input_channels, list_channels, list_layer_num, if_att):super(build_cliquenet, self).__init__()self.fir_trans = nn.Conv2d(3, input_channels, kernel_size=7, stride=2, padding=3, bias=False)self.fir_bn = nn.BatchNorm2d(input_channels)self.fir_pool = nn.MaxPool2d(kernel_size=3, stride=2, padding=1)self.block_num = len(list_channels)self.if_att = if_attself.list_block = nn.ModuleList()self.list_trans = nn.ModuleList()self.list_gb = nn.ModuleList()self.list_gb_channel = []self.list_compress = nn.ModuleList()input_size_init = 56for i in xrange(self.block_num):if i == 0:self.list_block.append(clique_block(input_channels=input_channels, channels_per_layer=list_channels[0], layer_num=list_layer_num[0], loop_num=1, keep_prob=0.8))self.list_gb_channel.append(input_channels + list_channels[0] * list_layer_num[0])else :self.list_block.append(clique_block(input_channels=list_channels[i-1] * list_layer_num[i-1], channels_per_layer=list_channels[i], layer_num=list_layer_num[i], loop_num=1, keep_prob=0.8))self.list_gb_channel.append(list_channels[i-1] * list_layer_num[i-1] + list_channels[i] * list_layer_num[i])if i < self.block_num - 1:self.list_trans.append(transition(self.if_att, current_size=input_size_init, input_channels=list_channels[i] * list_layer_num[i], keep_prob=0.8))self.list_gb.append(global_pool(input_size=input_size_init, input_channels=self.list_gb_channel[i] // 2))self.list_compress.append(compress(input_channels=self.list_gb_channel[i], keep_prob=0.8))input_size_init = input_size_init // 2self.fc = nn.Linear(in_features=sum(self.list_gb_channel) // 2, out_features=1000)for m in self.modules():if isinstance(m, nn.Conv2d):n = m.kernel_size[0] * m.kernel_size[1] * m.out_channelsm.weight.data.normal_(0, math.sqrt(2. / n))elif isinstance(m, nn.BatchNorm2d):m.weight.data.fill_(1)m.bias.data.zero_()elif isinstance(m, nn.Linear):m.bias.data.zero_()
class clique_block(nn.Module):def __init__(self, input_channels, channels_per_layer, layer_num, loop_num, keep_prob):super(clique_block, self).__init__()self.input_channels = input_channelsself.channels_per_layer = channels_per_layerself.layer_num = layer_numself.loop_num = loop_numself.keep_prob = keep_prob# conv 1 x 1self.conv_param = nn.ModuleList([nn.Conv2d(self.channels_per_layer, self.channels_per_layer, kernel_size = 1, padding = 0, bias = False)for i in range((self.layer_num + 1) ** 2)])for i in range(1, self.layer_num + 1):self.conv_param[i] = nn.Conv2d(self.input_channels, self.channels_per_layer, kernel_size = 1, padding = 0, bias = False)for i in range(1, self.layer_num + 1):self.conv_param[i * (self.layer_num + 2)] = Nonefor i in range(0, self.layer_num + 1):self.conv_param[i * (self.layer_num + 1)] = Noneself.forward_bn = nn.ModuleList([nn.BatchNorm2d(self.input_channels + i * self.channels_per_layer) for i in range(self.layer_num)])self.forward_bn_b = nn.ModuleList([nn.BatchNorm2d(self.channels_per_layer) for i in range(self.layer_num)])self.loop_bn = nn.ModuleList([nn.BatchNorm2d(self.channels_per_layer * (self.layer_num - 1)) for i in range(self.layer_num)])self.loop_bn_b = nn.ModuleList([nn.BatchNorm2d(self.channels_per_layer) for i in range(self.layer_num)])# conv 3 x 3self.conv_param_bottle = nn.ModuleList([nn.Conv2d(self.channels_per_layer, self.channels_per_layer, kernel_size = 3, padding = 1, bias = False)for i in range(self.layer_num)])

Convolutional Neural Networks with Alternately Updated Clique相关推荐

  1. 深度模型压缩论文(01)- Meta Filter Pruning to Accelerate Deep Convolutional Neural Networks

    文章目录 1.摘要和介绍 1.1摘要部分 2.背景和方法 2.1 背景 2.2 贡献 2.3 方法 3.实验和结果 3.1 实验 3.2 结果 4.总结和展望 4.1 总结 4.2 展望 本系列是在阅 ...

  2. DEEPCON: protein contact prediction using dilated convolutional neural networks with dropout

    今天真的要开始正式进入科研状态了,之前一直都进入失败,咳!那就先来看一篇相关领域的论文吧 ---------------------------------------------- 题目:DEEPC ...

  3. keras构建卷积神经网络(CNN(Convolutional Neural Networks))进行图像分类模型构建和学习

    keras构建卷积神经网络(CNN(Convolutional Neural Networks))进行图像分类模型构建和学习 全连接神经网络(Fully connected neural networ ...

  4. Graph Convolutional Neural Networks for Predicting Drug-Target Interactions

    1. 摘要 2. 数据集 DUDE数据集改进 DUDE-chemBl负样本数据集 最大无偏数据集(MUV) 3. 图构建 pocket graph molecuar graph 4. 口袋pretra ...

  5. 【文本分类】Deep Pyramid Convolutional Neural Networks for Text Categorization

    ·阅读摘要:   本文提出了DPCNN(深度金字塔CNN)模型.在transformer.bert还没兴起的年代,模型越深效果越好,但是模型的复杂度会随着深度提升.粗略地说,DPCNN就是为了解决CN ...

  6. 【文本分类】Recurrent Convolutional Neural Networks for Text Classification

    ·摘要:   从模型的角度,本文作者将RNN(Bi-LSTM)和max_pooling结合使用,提出RCNN模型,应用到了NLP的文本分类任务中,提高了分类精度. ·参考文献:   [1] Recur ...

  7. 【文本分类】Convolutional Neural Networks for Sentence Classification

    ·摘要:   本文作者将CNN引用到了NLP的文本分类任务中. ·参考文献:   [1] Convolutional Neural Networks for Sentence Classificati ...

  8. 量化网络训练--Towards Effective Low-bitwidth Convolutional Neural Networks

    Towards Effective Low-bitwidth Convolutional Neural Networks CVPR2018 https://github.com/nowgood/Qua ...

  9. 二值网络--XNOR-Net: ImageNet Classification Using Binary Convolutional Neural Networks

    XNOR-Net: ImageNet Classification Using Binary Convolutional Neural Networks ECCV2016 http://allenai ...

最新文章

  1. 理解卷积神经网络中的自注意力机制
  2. 微信小程序-自定义picker选择器
  3. Pycharm常用的使用方法
  4. BZOJ5467 PKUWC2018Slay the Spire(动态规划)
  5. Origin2017软件安装教程
  6. 网络TCP/IP基础(IP地址网络汇总与规划)
  7. 微信公众号发布图文消息次数达到上限
  8. 强化学习7——梯度及梯度下降法
  9. 仿照源码,手写一个自定义 Spring MVC 框架
  10. 微信公众号数据2019_数据丨2019年微信公众号文章数据报告!
  11. Excel读写合集:Excel读写小白从不知所措到轻松上手
  12. 水星pppoe连接服务器无响应,利用水星路由器系统日志解决PPPOE拨号故障
  13. SOA面向服务的架构设计
  14. Scrum 项目 3.0
  15. 常见的Nginx 502 Bad Gateway解决办法
  16. 命令ipconfig和ifconfig介绍
  17. flash_acr_latency
  18. destoon7.0火车头免登陆发布接口 destoon模拟人工发布接口 destoon火车头免费采集接口
  19. 为了防止这个宅男最爱网站消失,我连夜用Python离线了上万张图片
  20. android 利用数据库实现历史搜索记录功能

热门文章

  1. Python+OpenCV:摄像机标定(Camera Calibration)
  2. 步进电机可以连续运转吗?
  3. C++标准转换运算符:dynamic_cast
  4. Halcon:基本例程
  5. Ubuntu更改镜像源
  6. [转]查看linux服务器硬盘IO读写负载
  7. Xcode 4.6.3 Bug - .m 文件不能正常打开,uitableveiwController
  8. 2012年云计算领域将发生6件大事
  9. 系统安装教程:Windows7硬盘安装方法详细图文教程及使用工具下载
  10. 服务器虚拟化十大因素