1.

各种各样的网络结构,看别人博客额
没时间看原文,搞的我头大

管他的,我只想拿一个resblock过来用用…

shortcut设置为true,就代表要改变尺寸大小

下面的代码,忘了从哪复制的…

Res_Block 原始结构 好像是 CONV-BN-RE -> CONV-BN-RE-> CONV-BN-RE

但是下面的程序可能是变种,Conv-relu-BN了…

from keras.models import Model
from keras.layers import Dense,add,Input,Flatten,Conv2D,MaxPooling2D,Dropout,BatchNormalization
from keras.layers.merge import concatenatedef Conv2d_BN(x, nb_filter, kernel_size, strides=(1, 1), padding='same', name=None):if name is not None:bn_name = name + '_bn'conv_name = name + '_conv'else:bn_name = Noneconv_name = Nonex = Conv2D(nb_filter, kernel_size, padding=padding, strides=strides, activation='relu', name=conv_name)(x)x = BatchNormalization(axis=3, name=bn_name)(x)return xdef identity_Block(inpt, nb_filter, kernel_size, strides=(1, 1), with_conv_shortcut=False):# 也就是说,这里的第一个Conv_BN,允许改变尺寸大小,如果这里改变了,那个shortcut部分也会相应改变,x = Conv2d_BN(inpt, nb_filter=nb_filter, kernel_size=kernel_size, strides=strides, padding='same')# 第二个,始终保持大小不变,padding='same',stride=1x = Conv2d_BN(x, nb_filter=nb_filter, kernel_size=kernel_size, padding='same')# 这里默认步长为1if with_conv_shortcut:  shortcut = Conv2d_BN(inpt, nb_filter=nb_filter, strides=strides, kernel_size=kernel_size)# padding在Conv2d_BN默认为samex = add([x, shortcut])else:x = add([x, inpt])return x# conv1
x = Conv2d_BN(x, nb_filter=64, kernel_size=(7, 7), strides=(2, 2), padding='same')
# 上面都stride=2了,不就相当于做了个降采样...这里要池化做啥子
# x = MaxPooling2D(pool_size=(3, 3), strides=(2, 2), padding='same')(x)
# conv2
x = identity_Block(x, nb_filter=64, kernel_size=(3, 3))
x = identity_Block(x, nb_filter=64, kernel_size=(3, 3))
# conv3
# 这里加了shortcu,说明尺寸大小发生了改变,因为stride=2了
# 下面的肯定是不变了,为1
x = identity_Block(x, nb_filter=128, kernel_size=(3, 3), strides=(2, 2), with_conv_shortcut=True)
x = identity_Block(x, nb_filter=128, kernel_size=(3, 3))
# x = identity_Block(x, nb_filter=128, kernel_size=(3, 3))

2.改一下顺序就好

在头文件的 Layer 处导入一个Activation就行

这个轴的话,额,其实写 axis = -1 也行吧

from keras.layers import Input, Dense, Activation
def Conv2d_BN(x, nb_filter, kernel_size, strides=(1, 1), padding='same', name=None):if name is not None:bn_name = name + '_bn'conv_name = name + '_conv'else:bn_name = Noneconv_name = Nonex = Conv2D(nb_filter, kernel_size, padding=padding, strides=strides, name=conv_name)(x)x = BatchNormalization(axis=3, name=bn_name)(x)x = Activation('relu')(x)return x

都不知道是不是resnet原始结构,keras实现....相关推荐

  1. Aruba7010 默认密码_工信部提醒:手机要及时设置SIM卡密码!很多人都不知道!...

    原标题:工信部提醒:手机要及时设置SIM卡密码!很多人都不知道! 要说现在最必不可少的东西 依小编之见 估计就是手上那部手机啦 看时事新闻.娱乐资讯用它 联系家人.同事和朋友用它 吃喝玩乐也少不了它 ...

  2. 都 2021 年了还不会连 ES6/ES2015 更新了什么都不知道吧

    都 2021 年了还不会连 ES6/ES2015 更新了什么都不知道吧 es6 / es2015 let & const 块级作用域 解构 数组解构 对象解构 模板字符串 Math + Num ...

  3. 我敢打赌你们都不知道,在微软中国研究院,我们拥有许多位世界一流的多媒体研究方面的专家。——比尔·盖茨

    我敢打赌你们都不知道,在微软中国研究院,我们拥有许多位世界一流的多媒体研究方面的专家.--比尔·盖茨 李开复博士 张亚勤博士 张宏江博士 沈向洋博士 许峰雄博士 张益肇博士 郭百宁博士 王坚博士 林斌 ...

  4. 【PyTorch】 99%程序员都不知道, 深度学习还能这样玩 (建议收藏)

    [PyTorch] 99%程序员都不知道, 深度学习还能这样玩 概述 迁移学习 入住 GitHub 项目详解 get_data.py (获取数据) get_model (获取模型) 参数详解 使用说明 ...

  5. 还自认为很牛逼...简直就是什么都不知道!6年的软件测试 怕不是白瞎了???

    最近看了很多简历,很多候选人年限不小,但是做的都是一些非常传统的项目,想着也不能通过简历就直接否定一个人,何况现在大环境越来 越难,大家找工作也不容易,于是就打算见一见. 在沟通中发现,由于年限不小, ...

  6. 7个使用PyTorch的技巧,含在线代码示例!网友:我连第一个都不知道?!

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 丰色 发自 凹非寺 量子位 报道 | 公众号 QbitAI 大家在使 ...

  7. 最近面试了一位4年的Java,什么都不知道!还自认为很牛逼...

    最近看了很多简历,很多候选人年限不小,但是做的都是一些非常传统的项目,想着也不能通过简历就直接否定一个人,何况现在大环境越来 越难,大家找工作也不容易,于是就打算见一见. 在沟通中发现,由于年限不小, ...

  8. 用net连某台电脑c盘怎么连_关于电脑的4个冷知识,恐怕90%的人连第一个都不知道!...

    很多人对于身边常见的事物都有一种自以为是的"误解",总觉得自己对它已经是非常了解的了.其实不然,就像很多高考生在考试前以为自己已到达政史地.数理化的巅峰,结果后来才发现自己仍然是个 ...

  9. 两边双虚线是什么意思_单黄线和双黄线有什么不同?很多人都记不对,被扣分都不知道...

    现在的社会发展越来越好,经济也有了很大的提升,人们也开始提升自己的生活质量.买车就成了很多人的首选,因为买车可以很大的方便人们的生活.不过即使买车,也并不是说就可以随随便便的开车上路的.现在路上的车辆 ...

最新文章

  1. 我想成为一名计算机管理员英语作文,我想成为一名老师英语作文4篇
  2. Linux挂载Windows共享目录
  3. Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
  4. JVM-白话聊一聊JVM类加载和双亲委派机制源码解析
  5. 更新系统时跳过某个软件包
  6. shell检查硬盘分区空间
  7. 《Python编程从入门到实践》记录之Python函数定义、使用
  8. IBM Bluemix 自然语言处理初识
  9. Hive怎样加入第三方JAR
  10. 在线客服html前端代码QQ微信联系
  11. 设备巡检的痛点和巡检方案
  12. 真假蜘蛛识别php,真假百度蜘蛛IP识别终极技巧:一学就会!
  13. base64字符串转换为图片
  14. 手机拍证件照有什么诀窍
  15. 关于卫星伪距残差的理解
  16. 基于SpringBoot + Vue的个人博客系统16——文章的修改和删除
  17. 硬件知识(一)无源RC一阶滤波电路
  18. OOAD教学管理系统 设计类图
  19. WLAN适配器的驱动程序可能出现了问题(连不了wifi)解决办法
  20. 大型Excel插件SqlCel全新上市

热门文章

  1. 全球No.1集装箱人工智能企业中国上海人工智能领军企业CIMC中集飞瞳,已完成百万AI集装箱箱况残损检验识别,上亿集装箱信息识别
  2. Fatal Python error: init_stdio_encoding: failed to get the Python codec name of the stdio encoding
  3. 笔记本损耗60 计算机提示,笔记本买了一年 电池损耗已经60%了 怎么处理啊
  4. 软件测试学习(二)需求分析阶段
  5. 腾讯云GAME-TECH游戏开发者技术沙龙(深圳)开启报名
  6. 汇报工作,被CTO怼了!让我读下麦肯锡的:结构化思考、电梯间汇报法、MECE法则!...
  7. html手指动图,推荐10款gif动态图片特效(收藏)
  8. 洛谷ZHC邀请赛---2018年元旦马拉松欢乐赛之《我的一位程序员朋友》
  9. 首席信息官将被首席数据官取代?
  10. Java制造业MES生产管理ERP系统源码 MES系统源码