智驾峰会
您正在使用IE低版浏览器,为了您的雷锋网账号安全和更好的产品体验,强烈建议使用更快更安全的浏览器
此为临时链接,仅用于文章预览,将在时失效
人工智能 正文
发私信给雷锋字幕组
发送

0

基于 Keras 对深度学习模型进行微调的全面指南 Part 2

本文作者:雷锋字幕组 2018-08-13 17:32
导语:本部分将详细地指导如何在 Keras 中实现对流行模型 VGG,Inception 和 ResNet 的微调。

雷锋网按:本文为AI研习社编译的技术博客,原标题A Comprehensive guide to Fine-tuning Deep Learning Models in Keras (Part II),作者为 Felix Yu 。

翻译 | 霍晓燕     校对 | 杨东旭      整理 | 余杭


本部分属该两部系列中的第二部分,该系列涵盖了基于 Keras 对深度学习模型的微调。第一部分阐述微调背后的动机和原理,并简要介绍常用的做法和技巧。本部分将详细地指导如何在 Keras 中实现对流行模型 VGG,Inception 和 ResNet 的微调。


为什么选择 Keras ?

Keras 是建立在 Theano 或 TensorFlow 之上的一个极简的神经网络库。该库允许开发人员快速地将想法原型化。除非你正在做一些涉及制定具有截然不同的激活机制的神经架构的前沿研究,否则 Keras 将提供构建相当复杂的神经网络所需的所有构建模块。

同时附带了大量的文档和在线资源。


硬件说明

我强烈建议在涉及繁重计算的Covnet训练时,使用GPU加速。速度差异相当大,我们谈论的 GPU 大约几小时而 CPU 需要几天。

我推荐使用 GTX 980 Ti 或者有点贵的 GTX 1080,它售价约 600 美元。


Keras 微调

我已经实现了基于 Keras 的微调启动脚本,这些脚本存放在这个 github 页面中。包括 VGG16,VGG19,GoogleLeNet,nception-V3 和 ResNet50 的实现。这样,你就可以为自己的微调任务定制脚本。 

下面是如何使用脚本微调 VGG16 Inception-V3 模型的详细演练。


VGG16 微调

VGG16 是牛津大学视觉几何组(VGG)在 2014 年 ILVRC(ImageNet)竞赛中使用的 16 层卷积神经网络。该模型在验证集上达到了 7.5% 的前 5 错误率,这使得他们在竞赛中获得了第二名。

 VGG16 模型示意图:

基于 Keras 对深度学习模型进行微调的全面指南 Part 2

可以在 vgg16.py 中找到用于微调 VGG16 的脚本。vgg_std16_model 函数的第一部分是 VGG 模型的结构。定义全连接层之后,我们通过下面一行将 ImageNet 预训练权重加载到模型中:

基于 Keras 对深度学习模型进行微调的全面指南 Part 2

为了进行微调,我们截断了原始的 softmax 层,并使用下面一段我们自己的代码替换:

基于 Keras 对深度学习模型进行微调的全面指南 Part 2

最后一行的 num_class 变量代表我们分类任务中的类别标签的数量。 


......

想要继续阅读,请移步至我们的AI研习社社区:https://club.leiphone.com/page/TextTranslation/720

更多精彩内容尽在 AI 研习社。

不同领域包括计算机视觉,语音语义,区块链,自动驾驶,数据挖掘,智能控制,编程语言等每日更新。

手机端可以扫描二维码访问

雷锋网雷锋网(公众号:雷锋网)

雷锋网原创文章,未经授权禁止转载。详情见转载须知

基于 Keras 对深度学习模型进行微调的全面指南 Part 2
分享:
相关文章

文章点评:

表情

知情人士

入组微信leiphonefansub
当月热门文章
最新文章
请填写申请人资料
姓名
电话
邮箱
微信号
作品链接
个人简介
为了您的账户安全,请验证邮箱
您的邮箱还未验证,完成可获20积分哟!
请验证您的邮箱
立即验证
完善账号信息
您的账号已经绑定,现在您可以设置密码以方便用邮箱登录
立即设置 以后再说