1训练框架
Pytorch
PyTorch是由Facebook人工智能研究小组开发的一种基于Lua编写的Torch库的Python实现的深度学习库,也是目前使用范围和体验感最好的一款深度学习框架。它的底层基于Torch,但实现与运用全部是由python来完成。该框架主要用于人工智能领域的科学研究与应用开发。PyTroch最主要的功能有两个,其一是拥有GPU张量,该张量可以通过GPU加速,达到在短时间内处理大数据的要求;其二是支持动态神经网络,可逐层对神经网络进行修改,并且神经网络具备自动求导的功能。
一些学习资料与文档:
- Awesome-pytorch-list:包含了NLP,CV,常见库,论文实现以及Pytorch的其他项目,地址:https://github.com/bharathgs/Awesome-pytorch-list;
- PyTorch官方文档:官方发布文档,地址:https://pytorch.org/docs/stable/index.html;
- Pytorch-handbook:pytorch hand book,地址:https://github.com/zergtant/pytorch-handbook;
- PyTorch官方社区:pytorch开发者社区,地址:https://discuss.pytorch.org/
MXNet
MXNet 是亚马逊维护的深度学习库,它拥有类似于 Theano 和 TensorFlow 的数据流图,为多 GPU 提供了良好的配置。MXNet结合了高性能、clean的代码,高级API访问和低级控制,是深度学习框架中的佼佼者。
优点:
- 速度上有较大优势;
- 灵活编程,支持命令式和符号式编程模型;
- 多平台支持:可运行于多CPU、多GPU、集群、服务器、工作站甚至移动mobile phone;
- 多语言支持:支持包括C++、Python、R、Scala、Julia、Matlab和JavaScript语言;
- 性能优化:使用一个优化的C++后端引擎并行I/O和计算,无论使用哪种语言都能达到最佳性能;
- 云端友好;
缺点:
- 社区较小;
- 入门稍微困难些;
Tensorflow