深度学习的框架有哪些?
支持稠密参数和稀疏参数场景的超大规模深度学习并行训练,拥有强大的多端部署能力,已实现 API 的稳定和向后兼容,具有完善的使用文档和活跃的开发者社区生态。它是一个基于统一计算图的深度学习框架,创新地采用了统一计算图,能动态将计算图拆分成可优化的子静态图,兼具动态图的灵活性和静态图的运算性能。具有很好的分布式支持,性能出色,占用显存低,开发语言接口丰富,包括 Python、C++、R、Matlab、
以下是一些常见的深度学习框架:
1. TensorFlow:由 Google 开发,使用 C++语言编写,支持多种语言接口。它采用数据流图进行计算,灵活的架构可部署在多种设备上,拥有庞大的用户社区和丰富的教程,是使用人数最多、社区最为庞大的框架之一。
2. PyTorch:前身是 Torch,由 Facebook 开发。底层和 Torch 框架类似,但使用 Python 重新编写,更加灵活,支持动态图,提供了 Python 接口。它既可以看作加入了 GPU 支持的 numpy,也可以看成拥有自动求导功能的强大深度神经网络,在学术界广受好评。
3. Caffe:由加州大学伯克利的博士贾扬清开发,全称是 Convolutional Architecture for Fast Feature Embedding。对卷积网络支持较好,用 C++编写,提供 C++、Matlab 和 Python 接口。之前很多 ImageNet 比赛中的网络模型使用 Caffe 编写,但其灵活性相对不足,内存占用高,不过升级版本 Caffe2 进行了改进。
4. MXNet:主要作者是李沐,如今是亚马逊的官方框架。具有很好的分布式支持,性能出色,占用显存低,开发语言接口丰富,包括 Python、C++、R、Matlab、Scala、JavaScript 等,但教程不够完善,使用人数和社区规模相对较小。
5. Theano:于 2008 年诞生于蒙特利尔理工学院,是深度学习库的首创之一。其核心是一个数学表达式的编译器,能将结构转化为高效代码在 CPU 或 GPU 上运行。它为深度学习中处理大型神经网络算法的计算而设计,不过开发 Theano 的研究人员大多去了 Google 参与 TensorFlow 的开发,目前已停止维护。
6. Keras:是一个基于 Theano 和 TensorFlow 等框架提供的底层运算而实现的高层框架。它提供了大量方便快速训练和测试的高层接口,对于常见应用,使用 Keras 开发效率高,但由于没有底层实现,运行效率不高,灵活性一般。
7. PaddlePaddle:百度研发的开源开放深度学习平台,是国内最早开源且功能完备的深度学习平台。有最全面的官方支持的工业级应用模型,涵盖多个领域,并开放多个领先的预训练中文模型和竞赛冠军算法模型。支持稠密参数和稀疏参数场景的超大规模深度学习并行训练,拥有强大的多端部署能力,已实现 API 的稳定和向后兼容,具有完善的使用文档和活跃的开发者社区生态。
8. 计图(Jittor):由清华大学计算机系图形学实验室发布。它是一个基于统一计算图的深度学习框架,创新地采用了统一计算图,能动态将计算图拆分成可优化的子静态图,兼具动态图的灵活性和静态图的运算性能。采用元算子表达神经网络计算单元并动态编译运行,在保持灵活性的同时,提升了应用开发的灵活性、可拓展性和可移植性。
更多推荐

所有评论(0)