你不可不知的人性-读书简记 与塞涅卡共进早餐:斯多葛哲学的人生艺术-读书简记 生活的艺术家-读书简记 看见孩子-读书简记 秒懂金融-读书简记 与巴菲特共进午餐时,我顿悟到的5个真理-读书简记 孩子的品格:写给父母的积极心理学-读书简记 家有琴童-读书简记 超越百岁:长寿的科学与艺术-读书简记 职场动物进化手册-读书简记 千脑智能-读书简记 禅与摩托车维修艺术-读书简记 笔记的方法-读书简记 每个人的商学院 管理进阶-读书简记 心经抉隐-读书简记 刷新:重新发现商业与未来-读书简记 认知觉醒-读书简记 每个人的商学院 管理基础-读书简记 真希望我父母读过这本书-读书简记 模仿欲望-读书简记 蛤蟆先生去看心理医生-读书简记 置身事内:中国政府与经济发展-读书简记 跑步圣经(第2版)-读书简记 宇宙-读书简记 十分钟冥想-读书简记 当我谈跑步时,我谈些什么-读书简记 乔布斯、禅与投资-读书简记 掌控习惯-读书简记 毛泽东选集(全四卷)-读书简记 价值投资实战-读书简记 AI未来进行式(李开复陈楸帆新书)-读书简记 金钱心理学-读书简记 被讨厌的勇气-读书简记 思考的框架-读书简记 身心合一的奇迹力量-读书简记 零极限-读书简记 投资最重要的事-读书简记 语言学的邀请-读书简记 巴芒演义-读书简记 更富有、更睿智、更快乐-读书简记 管理的常识-读书简记 卡片笔记写作法-读书简记 大脑通信员:认识你的神经递质-读书简记 规模-读书简记 纳瓦尔宝典-读书简记 格鲁夫给经理人的第一课(畅销版)-读书简记 卓有成效的管理者-读书简记 贪婪的多巴胺-读书简记 清醒的活-读书简记 像哲学家一样生活:斯多葛哲学的生活艺术-读书简记 你是你吃出来的-读书简记 你可以跑的更快-读书简记 丹尼尔斯经典跑步训练法-读书简记 非暴力沟通-读书简记 异类-读书简记 稀缺-读书简记 为什么要睡觉-读书简记 事实-读书简记 世界上最快乐的人-读书简记 病毒学概览-读书简记 免疫学概览-读书简记 内观-读书简记 沟通的艺术-读书简记 你的生命有什么可能-读书简记 演化的故事-读书简记 经济学原理:宏观经济学分册-读书简记 经济学原理:微观经济学分册-读书简记 社会心理学-读书简记 追寻记忆的痕迹-读书简记 情绪-读书简记 远见:如何规划职业生涯3阶段-读书简记 存在主义心理治疗-读书简记 P·E·T父母效能训练-读书简记 彼得·林奇的成功投资-读书简记 2015-2020美国居民膳食指南-读书简记 中国居民膳食指南(2016)-读书简记 批判性思维-读书简记 代码大全-读书简记 游戏力-读书简记 成功,动机与目标-读书简记 基因组:人种自传23章-读书简记 YOU身体使用手册-读书简记 登天之梯-读书简记 为什么学生不喜欢上学-读书简记 请停止无效努力-读书简记 麦肯基疗法-读书简记 跟简七学理财-课程简记 指数基金投资指南(2017中信版)-读书简记 指数基金投资指南(2015雪球版)-读书简记 让大脑自由:释放天赋的12条定律-读书简记 养育的选择-读书简记 GPU高性能编程CUDA实战-读书简记 百万富翁快车道-读书简记 原则-读书简记 穷查理宝典-读书简记 C++并发编程实战-读书简记 哲学家们都干了些什么-读书简记 Effective C++-读书简记 通往财富自由之路-读书简记 Linux命令行与Shell脚本编程大全-读书简记 刻意练习-读书简记 写给大家看的设计书-读书简记 习惯的力量-读书简记 好好学习-读书简记 硅谷最受欢迎的情商课-读书简记 富爸爸,穷爸爸-读书简记 如何说孩子才会听,怎么听孩子才会说-读书简记 阻力最小之路-读书简记 ProGit-读书简记 思考:快与慢-读书简记 C语言深度剖析-读书简记 编程珠玑-读书简记 Head First 设计模式-读书简记 反脆弱-读书简记 我的阅读书单 小强升职记-读书简记 观呼吸-读书简记 黑客与画家-读书简记 晨间日记的奇迹-读书简记 如何高效学习-读书简记 即兴的智慧-读书简记 精力管理-读书简记 C++编程思想-读书简记 拖延心理学-读书简记 自控力-读书简记 伟大是熬出来的-读书简记 生命不能承受之轻-读书简记 高效能人士的七个习惯-读书简记 没有任何借口-读书简记 一分钟的你自己-读书简记 人生不设限-读书简记 暗时间-读书简记
答案越来越便宜,判断越来越贵 盖茨、乔布斯、芒格、纳瓦尔都在读什么?我整理了他们推荐的 347 本书,每本附本人原话 买书先看出版社:财经、心理、科普、历史、文学……每个方向该认准哪几家?我算了豆瓣 1.6 万本书 科普书都开始用 AI 画「双头虾」了:我从豆瓣 505 万本书里,挑出 57 本靠得住的科普书(含 14 本给孩子的) 别再买错译本了:我比完豆瓣 3 万个版本,21 部外国名著挑好了 豆瓣 4 万本 9 分书,96% 评价不到一千人:我从里面挑了 48 本没什么人读过的好书 豆瓣评价过千的健康书有 150 本,养生书六成不到 8 分:值得读的是这 42 本 豆瓣上评价过千的哲学书有 383 本,我按难度把其中 46 本排成了一张读书路线图 年底了,给自己的阅读做个年度总结:一段星空视频,一张星空年轮海报 双 11 囤书前先看这份数据:2025 年以来出版的书,豆瓣评价过千的只有 194 本,值得买的是这 30 本 豆瓣评价过千的小说有 6528 本,最值得读的是这 40 本(另附 9 本冷门遗珠) 在一棵树上和一片星空里看见自己的成长足迹 豆瓣上评价过千的传记和回忆录有 494 本,最值得读的是这 30 本 2020 年以来出版的书里,评价过千的有 1,933 本,最值得读的是这 36 本 烧掉 138 亿 Token,五个大模型给 32 万本书重新打了一遍标签 豆瓣上评价过千的经济学书,AI 标签筛出 213 本,最值得读的是这 30 本 豆瓣上评价过千的认知与思维类书,AI 标签筛出 135 本,最值得读的是这 30 本 经典外国文学读哪个译本?用豆瓣 2 万个版本的评分比了 10 部名著 书海星空漫游指南:在 355 万本书里,找一片属于你的星空 豆瓣上评价过千的育儿和家庭教育书,AI 标签筛出 94 本,最值得读的是这 30 本 504 万本豆瓣图书里,上万人打出 9 分以上的只有 266 本:全部名单在这 豆瓣上评价过千的心理学书,AI 标签筛出 333 本,最值得读的是这 30 本 豆瓣上评价过千的投资书,AI 标签筛出 132 本,最值得读的是这 30 本 豆瓣上评价过千的历史书,AI 标签筛出 888 本,最值得读的是这 30 本 挖掘好书神器-万书挑一 写在三十一岁-跳船简记 最重要的投资 挖掘好书神器-书海星空 豆瓣图书TOP 999 豆瓣图书最受欢迎的TOP 999 挖掘好书神器-好书一下 机器学习经典图书-排名榜 编程经典图书-排名榜 知乎上赞同数最高的999个回答 活着,为了什么
你不可不知的人性-读书简记 与塞涅卡共进早餐:斯多葛哲学的人生艺术-读书简记 生活的艺术家-读书简记 看见孩子-读书简记 秒懂金融-读书简记 与巴菲特共进午餐时,我顿悟到的5个真理-读书简记 孩子的品格:写给父母的积极心理学-读书简记 家有琴童-读书简记 超越百岁:长寿的科学与艺术-读书简记 职场动物进化手册-读书简记 千脑智能-读书简记 禅与摩托车维修艺术-读书简记 笔记的方法-读书简记 每个人的商学院 管理进阶-读书简记 心经抉隐-读书简记 刷新:重新发现商业与未来-读书简记 认知觉醒-读书简记 每个人的商学院 管理基础-读书简记 真希望我父母读过这本书-读书简记 模仿欲望-读书简记 蛤蟆先生去看心理医生-读书简记 置身事内:中国政府与经济发展-读书简记 跑步圣经(第2版)-读书简记 宇宙-读书简记 十分钟冥想-读书简记 当我谈跑步时,我谈些什么-读书简记 乔布斯、禅与投资-读书简记 掌控习惯-读书简记 毛泽东选集(全四卷)-读书简记 价值投资实战-读书简记 AI未来进行式(李开复陈楸帆新书)-读书简记 金钱心理学-读书简记 被讨厌的勇气-读书简记 思考的框架-读书简记 身心合一的奇迹力量-读书简记 零极限-读书简记 投资最重要的事-读书简记 语言学的邀请-读书简记 巴芒演义-读书简记 更富有、更睿智、更快乐-读书简记 管理的常识-读书简记 卡片笔记写作法-读书简记 大脑通信员:认识你的神经递质-读书简记 规模-读书简记 纳瓦尔宝典-读书简记 格鲁夫给经理人的第一课(畅销版)-读书简记 卓有成效的管理者-读书简记 贪婪的多巴胺-读书简记 清醒的活-读书简记 像哲学家一样生活:斯多葛哲学的生活艺术-读书简记 你是你吃出来的-读书简记 你可以跑的更快-读书简记 丹尼尔斯经典跑步训练法-读书简记 非暴力沟通-读书简记 异类-读书简记 稀缺-读书简记 为什么要睡觉-读书简记 事实-读书简记 世界上最快乐的人-读书简记 病毒学概览-读书简记 免疫学概览-读书简记 内观-读书简记 沟通的艺术-读书简记 你的生命有什么可能-读书简记 演化的故事-读书简记 经济学原理:宏观经济学分册-读书简记 经济学原理:微观经济学分册-读书简记 社会心理学-读书简记 追寻记忆的痕迹-读书简记 情绪-读书简记 远见:如何规划职业生涯3阶段-读书简记 存在主义心理治疗-读书简记 P·E·T父母效能训练-读书简记 彼得·林奇的成功投资-读书简记 2015-2020美国居民膳食指南-读书简记 中国居民膳食指南(2016)-读书简记 批判性思维-读书简记 代码大全-读书简记 游戏力-读书简记 成功,动机与目标-读书简记 基因组:人种自传23章-读书简记 YOU身体使用手册-读书简记 登天之梯-读书简记 为什么学生不喜欢上学-读书简记 请停止无效努力-读书简记 麦肯基疗法-读书简记 跟简七学理财-课程简记 指数基金投资指南(2017中信版)-读书简记 指数基金投资指南(2015雪球版)-读书简记 让大脑自由:释放天赋的12条定律-读书简记 养育的选择-读书简记 GPU高性能编程CUDA实战-读书简记 百万富翁快车道-读书简记 原则-读书简记 穷查理宝典-读书简记 C++并发编程实战-读书简记 哲学家们都干了些什么-读书简记 Effective C++-读书简记 通往财富自由之路-读书简记 Linux命令行与Shell脚本编程大全-读书简记 刻意练习-读书简记 写给大家看的设计书-读书简记 习惯的力量-读书简记 好好学习-读书简记 硅谷最受欢迎的情商课-读书简记 富爸爸,穷爸爸-读书简记 如何说孩子才会听,怎么听孩子才会说-读书简记 阻力最小之路-读书简记 ProGit-读书简记 思考:快与慢-读书简记 C语言深度剖析-读书简记 编程珠玑-读书简记 Head First 设计模式-读书简记 反脆弱-读书简记 小强升职记-读书简记 观呼吸-读书简记 黑客与画家-读书简记 晨间日记的奇迹-读书简记 如何高效学习-读书简记 即兴的智慧-读书简记 精力管理-读书简记 C++编程思想-读书简记 拖延心理学-读书简记 自控力-读书简记 伟大是熬出来的-读书简记 生命不能承受之轻-读书简记 高效能人士的七个习惯-读书简记 没有任何借口-读书简记 一分钟的你自己-读书简记 人生不设限-读书简记 暗时间-读书简记

书单 29

盖茨、乔布斯、芒格、纳瓦尔都在读什么?我整理了他们推荐的 347 本书,每本附本人原话 买书先看出版社:财经、心理、科普、历史、文学……每个方向该认准哪几家?我算了豆瓣 1.6 万本书 科普书都开始用 AI 画「双头虾」了:我从豆瓣 505 万本书里,挑出 57 本靠得住的科普书(含 14 本给孩子的) 别再买错译本了:我比完豆瓣 3 万个版本,21 部外国名著挑好了 豆瓣 4 万本 9 分书,96% 评价不到一千人:我从里面挑了 48 本没什么人读过的好书 豆瓣评价过千的健康书有 150 本,养生书六成不到 8 分:值得读的是这 42 本 豆瓣上评价过千的哲学书有 383 本,我按难度把其中 46 本排成了一张读书路线图 年底了,给自己的阅读做个年度总结:一段星空视频,一张星空年轮海报 双 11 囤书前先看这份数据:2025 年以来出版的书,豆瓣评价过千的只有 194 本,值得买的是这 30 本 豆瓣评价过千的小说有 6528 本,最值得读的是这 40 本(另附 9 本冷门遗珠) 豆瓣上评价过千的传记和回忆录有 494 本,最值得读的是这 30 本 2020 年以来出版的书里,评价过千的有 1,933 本,最值得读的是这 36 本 豆瓣上评价过千的经济学书,AI 标签筛出 213 本,最值得读的是这 30 本 豆瓣上评价过千的认知与思维类书,AI 标签筛出 135 本,最值得读的是这 30 本 经典外国文学读哪个译本?用豆瓣 2 万个版本的评分比了 10 部名著 书海星空漫游指南:在 355 万本书里,找一片属于你的星空 豆瓣上评价过千的育儿和家庭教育书,AI 标签筛出 94 本,最值得读的是这 30 本 504 万本豆瓣图书里,上万人打出 9 分以上的只有 266 本:全部名单在这 豆瓣上评价过千的心理学书,AI 标签筛出 333 本,最值得读的是这 30 本 豆瓣上评价过千的投资书,AI 标签筛出 132 本,最值得读的是这 30 本 豆瓣上评价过千的历史书,AI 标签筛出 888 本,最值得读的是这 30 本 挖掘好书神器-万书挑一 最重要的投资 挖掘好书神器-书海星空 豆瓣图书TOP 999 豆瓣图书最受欢迎的TOP 999 挖掘好书神器-好书一下 机器学习经典图书-排名榜 编程经典图书-排名榜

豆瓣 23

盖茨、乔布斯、芒格、纳瓦尔都在读什么?我整理了他们推荐的 347 本书,每本附本人原话 买书先看出版社:财经、心理、科普、历史、文学……每个方向该认准哪几家?我算了豆瓣 1.6 万本书 科普书都开始用 AI 画「双头虾」了:我从豆瓣 505 万本书里,挑出 57 本靠得住的科普书(含 14 本给孩子的) 别再买错译本了:我比完豆瓣 3 万个版本,21 部外国名著挑好了 豆瓣 4 万本 9 分书,96% 评价不到一千人:我从里面挑了 48 本没什么人读过的好书 豆瓣评价过千的健康书有 150 本,养生书六成不到 8 分:值得读的是这 42 本 豆瓣上评价过千的哲学书有 383 本,我按难度把其中 46 本排成了一张读书路线图 年底了,给自己的阅读做个年度总结:一段星空视频,一张星空年轮海报 双 11 囤书前先看这份数据:2025 年以来出版的书,豆瓣评价过千的只有 194 本,值得买的是这 30 本 豆瓣评价过千的小说有 6528 本,最值得读的是这 40 本(另附 9 本冷门遗珠) 在一棵树上和一片星空里看见自己的成长足迹 豆瓣上评价过千的传记和回忆录有 494 本,最值得读的是这 30 本 2020 年以来出版的书里,评价过千的有 1,933 本,最值得读的是这 36 本 烧掉 138 亿 Token,五个大模型给 32 万本书重新打了一遍标签 豆瓣上评价过千的经济学书,AI 标签筛出 213 本,最值得读的是这 30 本 豆瓣上评价过千的认知与思维类书,AI 标签筛出 135 本,最值得读的是这 30 本 经典外国文学读哪个译本?用豆瓣 2 万个版本的评分比了 10 部名著 书海星空漫游指南:在 355 万本书里,找一片属于你的星空 豆瓣上评价过千的育儿和家庭教育书,AI 标签筛出 94 本,最值得读的是这 30 本 504 万本豆瓣图书里,上万人打出 9 分以上的只有 266 本:全部名单在这 豆瓣上评价过千的心理学书,AI 标签筛出 333 本,最值得读的是这 30 本 豆瓣上评价过千的投资书,AI 标签筛出 132 本,最值得读的是这 30 本 豆瓣上评价过千的历史书,AI 标签筛出 888 本,最值得读的是这 30 本
盖茨、乔布斯、芒格、纳瓦尔都在读什么?我整理了他们推荐的 347 本书,每本附本人原话 买书先看出版社:财经、心理、科普、历史、文学……每个方向该认准哪几家?我算了豆瓣 1.6 万本书 科普书都开始用 AI 画「双头虾」了:我从豆瓣 505 万本书里,挑出 57 本靠得住的科普书(含 14 本给孩子的) 别再买错译本了:我比完豆瓣 3 万个版本,21 部外国名著挑好了 豆瓣 4 万本 9 分书,96% 评价不到一千人:我从里面挑了 48 本没什么人读过的好书 豆瓣评价过千的健康书有 150 本,养生书六成不到 8 分:值得读的是这 42 本 豆瓣上评价过千的哲学书有 383 本,我按难度把其中 46 本排成了一张读书路线图 年底了,给自己的阅读做个年度总结:一段星空视频,一张星空年轮海报 双 11 囤书前先看这份数据:2025 年以来出版的书,豆瓣评价过千的只有 194 本,值得买的是这 30 本 豆瓣评价过千的小说有 6528 本,最值得读的是这 40 本(另附 9 本冷门遗珠) 在一棵树上和一片星空里看见自己的成长足迹 豆瓣上评价过千的传记和回忆录有 494 本,最值得读的是这 30 本 2020 年以来出版的书里,评价过千的有 1,933 本,最值得读的是这 36 本 烧掉 138 亿 Token,五个大模型给 32 万本书重新打了一遍标签 豆瓣上评价过千的经济学书,AI 标签筛出 213 本,最值得读的是这 30 本 豆瓣上评价过千的认知与思维类书,AI 标签筛出 135 本,最值得读的是这 30 本 经典外国文学读哪个译本?用豆瓣 2 万个版本的评分比了 10 部名著 书海星空漫游指南:在 355 万本书里,找一片属于你的星空 豆瓣上评价过千的育儿和家庭教育书,AI 标签筛出 94 本,最值得读的是这 30 本 504 万本豆瓣图书里,上万人打出 9 分以上的只有 266 本:全部名单在这 豆瓣上评价过千的心理学书,AI 标签筛出 333 本,最值得读的是这 30 本 豆瓣上评价过千的投资书,AI 标签筛出 132 本,最值得读的是这 30 本 豆瓣上评价过千的历史书,AI 标签筛出 888 本,最值得读的是这 30 本

VGGNet的理解及其Keras实现

2017年07月19日

写在前面


上一篇文章介绍了如何使用Keras实现经典的AlexNet(12年ImageNet冠军),VGGNet也是最经典的网络结构之一,获得了14年的ImageNet亚军。VGGNet的结构非常简洁,整个网络都使用了同样大小的3*3卷积核尺寸和2*2最大池化尺寸。

技术要点


一、使用了更小的3*3卷积核,和更深的网络。两个3*3卷积核的堆叠相对于5*5卷积核的视野,三个3*3卷积核的堆叠相当于7*7卷积核的视野。这样一方面可以有更少的参数(3个堆叠的3*3结构只有7*7结构参数数量的(3*3*3)/(7*7)=55%);另一方面拥有更多的非线性变换,增加了CNN对特征的学习能力。

二、在VGGNet的C结构中,引入1*1的卷积核,在不影响输入输出维度的情况下,引入非线性变换,增加网络的表达能力。

三、训练时,先训练级别简单的VGGNet的A级网络,然后使用A网络的权重来初始化后面的复杂模型,加快训练的收敛速度。

四、采用了Multi-Scale的方法来训练和预测。可以增加训练的数据量,防止模型过拟合,提升预测准确率。

网络结构


代码


#-*- coding: UTF-8 -*-
"""
Author: lanbing510
Environment: Keras2.0.5,Python2.7
Model: VGGNet-19
"""

from keras.layers import Conv2D, MaxPooling2D, ZeroPadding2D
from keras.layers import Flatten, Dense, Dropout
from keras.layers import Input
from keras.models import Model
from keras import regularizers
from keras.utils import plot_model
from KerasLayers.Custom_layers import LRN2D


# Global Constants
NB_CLASS=1000
LEARNING_RATE=0.01
MOMENTUM=0.9
ALPHA=0.0001
BETA=0.75
GAMMA=0.1
DROPOUT=0.5
WEIGHT_DECAY=0.0005
LRN2D_NORM=True
DATA_FORMAT='channels_last' # Theano:'channels_first' Tensorflow:'channels_last'


def conv2D_lrn2d(x,filters,kernel_size,strides=(1,1),padding='same',data_format=DATA_FORMAT,dilation_rate=(1,1),activation='relu',use_bias=True,kernel_initializer='glorot_uniform',bias_initializer='zeros',kernel_regularizer=None,bias_regularizer=None,activity_regularizer=None,kernel_constraint=None,bias_constraint=None,lrn2d_norm=LRN2D_NORM,weight_decay=WEIGHT_DECAY):
    if weight_decay:
        kernel_regularizer=regularizers.l2(weight_decay)
        bias_regularizer=regularizers.l2(weight_decay)
    else:
        kernel_regularizer=None
        bias_regularizer=None

    x=Conv2D(filters=filters,kernel_size=kernel_size,strides=strides,padding=padding,data_format=data_format,dilation_rate=dilation_rate,activation=activation,use_bias=use_bias,kernel_initializer=kernel_initializer,bias_initializer=bias_initializer,kernel_regularizer=kernel_regularizer,bias_regularizer=bias_regularizer,activity_regularizer=activity_regularizer,kernel_constraint=kernel_constraint,bias_constraint=bias_constraint)(x)

    if lrn2d_norm:
        x=LRN2D(alpha=ALPHA,beta=BETA)(x)

    return x


def create_model():
    if DATA_FORMAT=='channels_first':
        INP_SHAPE=(3,224,224)
        img_input=Input(shape=INP_SHAPE)
        CONCAT_AXIS=1
    elif DATA_FORMAT=='channels_last':
        INP_SHAPE=(224,224,3)
        img_input=Input(shape=INP_SHAPE)
        CONCAT_AXIS=3
    else:
        raise Exception('Invalid Dim Ordering: '+str(DIM_ORDERING))

    # Convolution Net Layer 1~2
    x=conv2D_lrn2d(img_input,64,(3,3),1,padding='same',lrn2d_norm=False)
    x=conv2D_lrn2d(x,64,(3,3),1,padding='same',lrn2d_norm=False)
    x=MaxPooling2D(pool_size=(2,2),strides=2,padding='valid',data_format=DATA_FORMAT)(x)

    # Convolution Net Layer 3~4
    x=conv2D_lrn2d(x,128,(3,3),1,padding='same',lrn2d_norm=False)
    x=conv2D_lrn2d(x,128,(3,3),1,padding='same',lrn2d_norm=False)
    x=MaxPooling2D(pool_size=(2,2),strides=2,padding='valid',data_format=DATA_FORMAT)(x)

    # Convolution Net Layer 5~8
    x=conv2D_lrn2d(x,256,(3,3),1,padding='same',lrn2d_norm=False)
    x=conv2D_lrn2d(x,256,(3,3),1,padding='same',lrn2d_norm=False)    
    x=conv2D_lrn2d(x,256,(3,3),1,padding='same',lrn2d_norm=False)
    x=conv2D_lrn2d(x,256,(3,3),1,padding='same',lrn2d_norm=False)
    x=MaxPooling2D(pool_size=(2,2),strides=2,padding='valid',data_format=DATA_FORMAT)(x)

    # Convolution Net Layer 9~12
    x=conv2D_lrn2d(x,512,(3,3),1,padding='same',lrn2d_norm=False)
    x=conv2D_lrn2d(x,512,(3,3),1,padding='same',lrn2d_norm=False)    
    x=conv2D_lrn2d(x,512,(3,3),1,padding='same',lrn2d_norm=False)
    x=conv2D_lrn2d(x,512,(3,3),1,padding='same',lrn2d_norm=False)
    x=MaxPooling2D(pool_size=(2,2),strides=2,padding='valid',data_format=DATA_FORMAT)(x)

    # Convolution Net Layer 13~16
    x=conv2D_lrn2d(x,512,(3,3),1,padding='same',lrn2d_norm=False)
    x=conv2D_lrn2d(x,512,(3,3),1,padding='same',lrn2d_norm=False)    
    x=conv2D_lrn2d(x,512,(3,3),1,padding='same',lrn2d_norm=False)
    x=conv2D_lrn2d(x,512,(3,3),1,padding='same',lrn2d_norm=False)
    x=MaxPooling2D(pool_size=(2,2),strides=2,padding='valid',data_format=DATA_FORMAT)(x)


    # Convolution Net Layer 17
    x=Flatten()(x)
    x=Dense(4096,activation='relu')(x)
    x=Dropout(DROPOUT)(x)

    # Convolution Net Layer 18
    x=Dense(4096,activation='relu')(x)
    x=Dropout(DROPOUT)(x)

    # Convolution Net Layer 19
    x=Dense(output_dim=NB_CLASS,activation='softmax')(x)

    return x,img_input,CONCAT_AXIS,INP_SHAPE,DATA_FORMAT


def check_print():
    # Create the Model
    x,img_input,CONCAT_AXIS,INP_SHAPE,DATA_FORMAT=create_model()

    # Create a Keras Model
    model=Model(input=img_input,output=[x])
    model.summary()

    # Save a PNG of the Model Build
    plot_model(model,to_file='VGGNet.png')

    model.compile(optimizer='rmsprop',loss='categorical_crossentropy')
    print 'Model Compiled'


if __name__=='__main__':
    check_print() 

参考文献


[1] Simonyan, Karen, and Andrew Zisserman. "Very deep convolutional networks for large-scale image recognition." arXiv preprint arXiv:1409.1556 (2014).

[2] VGGNet Progect

[3] 深度学习经典卷积神经网络之VGGNet


版权声明:本文为博主原创文章,转载请注明出处。 本文总阅读量    次