2017-01-03
机器学习-神经网络-深度学习的轮子
• 分类:
ml
• 标签:
ml
Python
上层
- Caffe -> Caffee2 贾扬清 Facebook
- Theano -> TensorFlow Google
- Torch -> PyTorch
- MXNet 李沐 AWS
- Cognitive Toolkit/CNTK Microsoft
- PaddlePaddle Baidu
中层
keras
- Keras: Deep Learning library for TensorFlow and Theano
- 更高级和更直观的api
- 基于Theano和TensorFlow的深度学习库
tflearn
In TensorFlow, packages like Keras, TensorFlow-Slim, and TFLearn provide higher-level abstractions over raw computational graphs that are useful for building neural networks.
gluon
PyTorch定义网络的时候必须要明确的网络输入和输出的维度,所以我们需要自己去算,或者让网络向前传播一次print出维度。而Gluon并不需要这样做,其能够根据网络定义自动去判断维度,避免了我们自己运算的麻烦。
PyTorch
不同于 theano,tensorflow 等低层程序库,或者 keras、sonnet 等高层 wrapper,pytorch 是一种自成体系的深度学习库。pytorch是一个动态的建图的工具。不像Tensorflow那样,先建图,然后通过feed和run重复执行建好的图。相对来说,pytorch具有更好的灵活性。
底层
computational graph 计算图
PyTorch autograd looks a lot like TensorFlow: in both frameworks we define a computational graph, and use automatic differentiation to compute gradients. The biggest difference between the two is that TensorFlow’s computational graphs are static and PyTorch uses dynamic computational graphs.
Java
- weka——基于JAVA环境下开源的机器学习(machine learning)以及数据挖掘(data mining)软件
- dl4j
- Spark + MLLib
参考
dzzxjl