6.1. 常用¶
一代框架:
Caffe |
Torch |
Theano |
|
---|---|---|---|
Language |
C++,Python |
Lua |
Python |
Pretrained |
Yes ++ |
Yes ++ |
Yes (Lasagne) |
Multi-GPU: Data |
Yes |
Yes |
Yes |
Multi-GPU: Model |
No |
Yes |
Experimental |
Readable source code |
Yes (C++) |
Yes (Lua) |
No |
Good at RNN |
No |
Mediocre |
Yes |
Comany |
Berkeley |
NYU |
Montreal |
二代框架:
TensorFlow |
CNTK |
pyTorch |
MXNet |
Paddle |
|
---|---|---|---|---|---|
Language |
Python |
Python |
|||
Pretrained |
Inception |
||||
Multi-GPU: Data |
Yes |
||||
Multi-GPU: Model |
Yes (best) |
||||
Readable source code |
No |
||||
Good at RNN |
Yes (best) |
||||
Comany |
Microsoft |
Amazon |
Baidu |
第三代,即命令式深度学习框架,是由用类似NumPy的语法来定义模型的 Chainer 所开创的。这样的思想后来被 PyTorch和MXNet的Gluon API 采用,后者也正是本书用来教学深度学习的工具。
库名称 |
开发语言 |
支持接口 |
安装难度(ubuntu) |
文档风格 |
示例 |
支持模型 |
上手难易 |
---|---|---|---|---|---|---|---|
Caffe |
c++/cuda |
c++/python/matlab |
### |
# |
### |
CNN |
## |
MXNet |
c++/cuda |
python/R/Julia |
## |
### |
## |
CNN/RNN |
# |
TensorFlow |
c++/cuda/python |
c++/python |
# |
## |
# |
CNN/RNN/… |
### |
安装难度: (简单) –> ##(复杂)
文档风格: (一般) –> ##(好看、全面)
示例: (给的少) –> ##(给的多、全)
上手难易: (易) –> ##(难)