keras卷积层_keras实现全卷积神经网络

keras卷积层_keras实现全卷积神经网络分组卷积在pytorch中比较容易实现,只需要在卷积的时候设置group参数即可比如设置分组数为2conv_group=nn.Conv2d(C_in,C_out,kernel_size=3,stride=3,padding=1,groups=2)但是,tensorflow中目前还没有分组卷积,只能自己手动编写分组卷积函数。在编写程序之前大家要先理解分组卷积的形式,也就是对特征图在通道上进行划分,例如设置group=3,对输入特征图通道划分成三组,输出特征图也要划分成3组,再对三组输入输出特

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

分组卷积在pytorch中比较容易实现,只需要在卷积的时候设置group参数即可
比如设置分组数为2

conv_group = nn.Conv2d(C_in,C_out,kernel_size=3,stride=3,padding=1,groups = 2)

Jetbrains全家桶1年46,售后保障稳定

但是,tensorflow中目前还没有分组卷积,只能自己手动编写分组卷积函数。
在编写程序之前大家要先理解分组卷积的形式,也就是对特征图在通道上进行划分,例如设置group=3,对输入特征图通道划分成三组,输出特征图也要划分成3组,再对三组输入输出特征图分别进行卷积。
实现过程如下:
1.获取输入特征图和输出特征图通道数,再结合分组数进行划分
2.对输入特征图的每一组进行单独卷积
3.将每组卷积后的结果进行通道上的拼接
代码如下:

def group_conv(x, filters, kernel, stride, groups):
   
    channel_axis = 1 if K.image_data_format() == 'channels_first' else -1
    in_channels = K.int_shape(x)[channel_axis]#计算输入特征图的通道数
    nb_ig = in_channels // groups#对输入特征图通道进行分组
    nb_og = filters // groups#对输出特征图通道进行分组
    
    gc_list = []
    for i in range(groups):
        if channel_axis == -1:
            x_group = Lambda(lambda z: z[:, :, :, i * nb_ig: (i + 1) * nb_ig])(x)
        else:
            x_group = Lambda(lambda z: z[:, i * nb_ig: (i + 1) * nb_ig, :, :])(x)
        gc_list.append(Conv2D(filters=nb_og, kernel_size=kernel, strides=stride, 
                              padding='same', use_bias=False)(x_group))#对每组特征图进行单独卷积
        
    return Concatenate(axis=channel_axis)(gc_list)#在通道上进行特征图的拼接
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/226858.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • ROC曲线理解

    ROC曲线理解ROC(receiveroperatorcharacteristiccurve,ROC)曲线:即受试者工作特征曲线,是反映敏感度和特异度连续变量的综合指标,用作图法展示两度之间的关系。作图方法:在相关临床研究报告中,若有一个ROC曲线图,将会给人深刻印象,具体做法是:实验结果为计量资料即连续变量,至少计算5个临界点的指标,以敏感度(真阳性率)为Y轴,1-特异度(假阳性率)为X轴,将各点连成…

    2022年5月16日
    86
  • 快速排序Java实现_快速排序实现java

    快速排序Java实现_快速排序实现java高快省的排序算法有没有既不浪费空间又可以快一点的排序算法呢?那就是“快速排序”啦!光听这个名字是不是就觉得很高端呢。假设我们现在对“61279345108”这个10个数进行排序。首先在这个序列中随便找一个数作为基准数(不要被这个名词吓到了,就是一个用来参照的数,待会你就知道它用来做啥的了)。为了方便,就让第一个数6作为基准数吧。接下来,需要将这个序列中所有比基准数大的数放…

    2022年4月20日
    43
  • DotNetty使用之心跳机制

    DotNetty使用之心跳机制因为 DotNetty 是从 java 的 Netty 框架仿写过来的 介绍的文档特别少 加之官方也没有提供 api 文档 所以之前一直不理解心跳的用法 最近忙里偷闲 稍稍研究了一番 终于有点明白了 现在将代码复制上来 留作日后查看 ps 精髓都在代码里 Uptime Client publicclassP conststringH 12

    2025年10月22日
    2
  • 1、LwIP简介「建议收藏」

    1、LwIP简介「建议收藏」1、LwIP简介LwIP全名为LightweightIP,意思是轻量化的TCP/IP协议,是瑞典计算机科学院(SICS)的AdamDunkels开发的一个小型开源的TCP/IP

    2022年7月1日
    22
  • java中分页查询的实现_java中分页实现步骤图解

    java中分页查询的实现_java中分页实现步骤图解java分页查询的实现分页要传入当前所在页数和每页显示记录数,再分页查询数据库,部分代码如下所示。传入参数实体类:publicclassMessageReq{privateStringmemberId;//会员idprivateintcurrentPage;//当前页privateintpageSize;//一页多少条记录privateint

    2022年10月1日
    5
  • 华为 eNSP 模拟器安装教程(内含下载地址)[通俗易懂]

    华为 eNSP 模拟器安装教程(内含下载地址)[通俗易懂]本文指导大家在Windows操作系统上完成华为eNSP模拟器的安装

    2022年10月9日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号