>>>深度学习Tricks,第一时间送达<<<
目录
一、什么是深度学习框架?
深度学习框架也就像Caffe、tensorflow这些是深度学习的工具,简单来说就是库,编程时需要import caffe、import tensorflow。作一个简单的比喻,一套深度学习框架就是这个品牌的一套积木,各个组件就是某个模型或算法的一部分,你可以自己设计如何使用积木去堆砌符合你数据集的积木。好处是你不必重复造轮子,模型也就是积木,是给你的,你可以直接组装,但不同的组装方式,也就是不同的数据集则取决于你。
二、深度学习框架的优势
深度学习框架的出现降低了入门的门槛,你不需要从复杂的神经网络开始编代码,你可以依据需要,使用已有的模型,模型的参数你自己训练得到,你也可以在已有模型的基础上增加自己的layer,或者是在顶端选择自己需要的分类器和优化算法(比如常用的梯度下降法)。当然也正因如此,没有什么框架是完美的,就像一套积木里可能没有你需要的那一种积木,所以不同的框架适用的领域不完全一致。 总的来说深度学习框架提供了一些系列的深度学习的组件(对于通用的算法,里面会有实现),当需要使用新的算法的时候就需要用户自己去定义,然后调用深度学习框架的函数接口使用用户自定义的新算法。
二、介绍10种主流深度学习框架
1.TensorFlow
作者:Google
语言:C++/Python/Java/R 等
GitHub源码地址:https://github.com/tensorflow/tensorflow
2.Keras
作者:Google
语言:Python/R
源码地址:https://github.com/keras-team/keras
3.Caffe
作者:BVLC
语言:C++/Python/Matlab
源码地址:https://github.com/BVLC/caffe
4.PyTorch
作者:Facebook
语言:C/C++/Python
源码地址:https://github.com/pytorch/pytorch
5.Theano
作者:UdeM
语言:Python
源码地址:https://github.com/Theano/Theano
6.CNTK
作者:Microsoft
语言:C++/Python/C#/.NET/Java/R
源码地址:https://github.com/Microsoft/CNTK
7.MXNet
作者:DMLC
语言:C++/Python/R等
源码地址:https://github.com/apache/incubator-mxnet
8.PaddlePaddle
作者:Baidu
语言:C++/Python
源码地址:https://github.com/PaddlePaddle/Paddle/
9.Deeplearning4j
作者:Eclipse
语言:Java/Scala等
GitHub源码地址:https://github.com/eclipse/deeplearning4j
10.ONNX
作者:Microsoft/ Facebook
语言:Python/R
GitHub源码地址:https://github.com/onnx/onnx