目前研究人员正在使用的深度学习框架不尽相同,有Tensorflow、Caffe、Theano、Keras等,在笔者眼里PyTorch是当前难得的简洁优雅且高效快速的框架。
(1)Theano目前已停止开发,不建议作为研究工具继续学习,Theano是一个python库,可用于定义、优化和计算数学表达式,特别是多维数组;
(2)Tensorflow的系统设计复杂、接口变动频繁以及文档混乱脱节。虽不完美但却是最流行的深度学习框架,社区强大,适合生产环境。
(3)Keras:入门最简单,过度封装导致丧失灵活性,层层封装导致用户在新操作时或是获取底部数据信息时过于困难,使用受限。
(4)caffe(caffe2):全称是Convolutional Architecture for Fast Embedding.文档不够完善,但性能优异,几乎全平台支持(caffe2),适合生产环境。
(5)MXNet:文档略混乱,但分布式性能强大,语言支持最多,适合AWS云平台使用。
(6)CNTK:社区不够活跃,但是性能突出,擅长语言方面的相关研究。
还有其他框架比如百度开源的PaddlePaddle,CMU开发的DyNet等,不一一介绍。
2016年tensorflow(静态图)如日中天,几乎所有人以为深度学习框架之争接近尾声,但2017年却迎来了基于动态图(PyTorch)的深度学习框架的爆发。几乎所有框架都是基于计算图的,计算图可分为静态计算图和动态计算图。静态计算图先定义再运行,一次定义多次运行。动态计算图是在运行过程中被定义的,在运行的时候被构建,可以多次构建多次运行。
深度学习框架
最新推荐文章于 2024-03-07 15:51:39 发布