《深度学习之图像识别核心技术与案例实战》—2.1.5 Keras简介
【摘要】 本书摘自《深度学习之图像识别核心技术与案例实战》一书中的第2章,第2.1.5节,作者是言有三 。
2.1.5 Keras简介
Keras是一个高度模块化的神经网络库,使用Python实现,并可以同时运行在Tensor Flow和Theano上。Keras无须额外的文件来定义模型,仅通过编程的方式改变模型结构和调整超参数,旨在让用户进行最快速的原型实验,比较适合在探索阶段快速地尝试各种网络结构。其组件都是可插拔的模块,只需要将一个个组件(比如卷积层、激活函数等)连接起来,但是设计新模块或者新的Layer时则不太方便。在Keras中可通过几行代码就实现MLP,AlexNet的实现也仅需十几行代码。
Theano和TensorFlow的计算图支持更通用的计算,而Keras则专精于深度学习。它同时支持卷积网络和循环网络,支持级联的模型或任意的图结构的模型,从CPU上计算切换到GPU加速无须任何代码的改动。
因为底层使用Theano或TensorFlow,用Keras训练模型相比于前两者基本没有性能损耗(还可以享受前两者持续开发带来的性能提升),只是简化了编程的复杂度,节约了尝试新网络结构的时间。可以说模型越复杂,使用Keras的收益就越大,尤其是在高度依赖权值共享、多模型组合、多任务学习等模型上,Keras表现得非常突出。
Keras也包括绝大部分state-of-the-art的Trick,包括Adam、RMSProp、Batch?Normalization、PReLU、ELU和LeakyReLU等。但目前Keras最大的问题就是不支持多GPU,没有分布式框架。
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)