1. PyTorch简介
1. 常见的深度学习框架简介
名称 |
诞生 |
优点 |
缺点 |
评价 |
项目地址 |
PyTorch |
2017年1月,Facebook 前身2002年诞生纽约大学的Torch |
简洁:tensor->variable->nn.Moudle 速度: 易用: 活跃的社区 |
|||
Theano |
2008年蒙特利尔大学LISA python库 |
奠定了基本设计方向:以计算图为框架核心,采用GPU加速计算 |
难调试,构建图慢 |
停止开发,不建议研究 |
|
TensorFlow |
2015年,Google Python C++ |
基于计算图实现自动微分系统 在ARM架构上编译和优化 |
系统设计复杂 频繁变动接口 接口设计难懂 文档混乱 |
不完美但最流行,社区强大,适合生产环境 |
https://github.com/tensorflow/tensorflow |
Keras |
高层神经网络API Python |
支持快速实验 屏蔽后端的差异性,提供一致的用户接口 |
过度封装 程序缓慢 |
入门简单,不够灵活,使用受限 |
https://keras.io/ |
Caffe/Caffe2 |
C++ |
简洁快速,易用 全平台支持 |
缺少灵活性 |
文档不够完善,性能 优异,全平台支持,适合生产环境 |
https://caffe.berkeleyvision.org/ https://caffe2.ai/ |
MXNet |
2014 Amazon李沐 |
分布式支持,内存、显存优化 AWS云平台 |
接口文档不够完善 |
文档混乱,分布式性能强大,语言支持最多,适合AWS云平台使用 |
https://mxnet.incubator.apache.org/ |
CNTK |
2015年 微软公司 |
社区不够活跃,性能突出,擅长语音方面的相关研究 |
|||
PaddlePaddle |
百度 |
||||
CyNet |
CMU开发 |
||||
Tiny-dnn |
C++11标准 |
||||
Deeplearning4J |
Java |
文档优秀 |
|||
Nervana |
Inter |
||||
DSSTNE |
Amazon |
||||
CoreML |
|||||
MDL |
2. ONNX标准
Facebook和微软,推出Open Neural Network Exchange(ONNX,开放神经网络交换)格式,一个用于表示深度学习模型的标准,可使模型在不同框架之间进行转移。
https://github.com/ritchieng/the-incredible-pytorch
https://discuss.pytorch.org/