resnet keras 结构_TensorFlow2的ResNet实现,满满干货!

v2-2085661ed3729a3708d320aa3aeef132_1440w.jpg?source=172ae18b

TensorFlow2的ResNet实现,满满干货!

TensorFlow2

TensorFlow2是2019去年10月由Google发布的TensorFlow升级版。这可以算是TensorFlow的历史性改革,相比1.X版本增加了许多新内容。由于更新了TF的版本,许多小伙伴在原有基于1.X版本的程序就会出现许多警告和报错。由于去年年底课业繁忙,考试也一堆一堆,很遗憾没有在第一时间了解TF2的新内容。

放假在家好好研究了一下TF2,拿几个经典的卷积神经网络——LeNet5、AlexNet、VGG16、GoogLeNet(Inception v1)和ResNet练了练手。


ResNet

先介绍一下ResNet,深度学习和目标检测领域的小伙伴们应该对此都比较熟悉了,即便不知道具体结构和原理,对这个名字也应该听过无数回了。ResNet是一个应用十分广泛的卷积神经网络的特征提取网络,在2016年由大名鼎鼎的何恺明(He-Kaiming)及其团队提出,他曾以第一作者身份拿过2次CVPR最佳论文奖(2009年和2016年),其中2016年CVPR最佳论文就是这个深度残差网络。

论文:《Deep Residual Learning for Image Recognition》​arxiv.org

残差网络是致力于使用多个有参网络层来学习输入、输出之间的残差函数即

为浅层输出,
为深层输出,
为夹在它们之间的一个函数变换。当浅层
中的特征已经成熟时,如果任何对于特征
的改变都会让
变大的话,
就会自动趋于
就可以从恒等映射(identity mapping)路径继续向下传递。这样可以在不增加计算成本的基础上实现一下目的:在前向传递的过程中,当浅层的
输出已经足够成熟(optimal),让深层网络后面的层(subsequent layers)能够实现恒等映射的作用。

以下是实现残差学习的一个版块(block)示意图(摘自论文):

v2-19e352e98284f2dc6b656a8aa058720a_b.jpg

程序实现的思路也是通过先构建一个block然后根据ResNet的结构实现整个网络的构建。关于ResNet的有关概念这里不做过多的介绍。


环境

CPU: Intel i5 9400F
GPU: GTX 1660
RAM: 16G
CUDA: 10.1
TF Version:2.1

使用的是

编辑,因为安装了
其自带的一些编辑器都非常方便,可以直接使用。

数据集

使用了fashion数据集。fashion数据集出自论文:

DeepFashion: Powering Robust Clothes Recognition and Retrieval with Rich Annotation​www.ee.cuhk.edu.hk

这是2016年CVPR上的一篇论文。该数据集中包含:

  • 289,222 张服装图片 clothes images;
  • 50 个服装类别 clothing categories
  • 1,000 个服装属性 clothing attributes。

代码实现与结果

结果展示

loss和acc曲线:

v2-0b14fb35e59a7daa90193ff5897ccf8b_b.jpg

参数量:

v2-6f70118502ea5058067d88d4ccf10abd_b.jpg

代码

# -*- coding: utf-8 -*-

联系我

  • 如果有什么想法与建议可以在评论区评论,或者与我私信。
  • 更多内容请关注我的CSDN账号:@我什么也不会TwT。或者扫描下方二维码:

v2-b0aa7d7008cfa50c61eabb2e1f4f15ff_b.jpg

感谢阅读,如果你喜欢或者觉得对你有所帮助的话,欢迎“喜欢”和“收藏”,也可以分享给你的小伙伴们~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值