十一城

跬步千里,小流江海。

Home Linux ML Python Java Thoughts KmKg BookCan Links About

2017-01-03
机器学习-神经网络-深度学习的轮子

• 分类: 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

参考

  1. 深度学习框架

dzzxjl

Home Linux ML Python Java Thoughts KmKg BookCan Links About