常用 #### 一代框架: +----------------------+------------+-----------+---------------+ | | 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 | Google | Microsoft | Facebook | 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/… | ### | +------------+-----------------+-------------------+------------------+----------+------+-----------+----------+ * 安装难度: (简单) –> ##(复杂) * 文档风格: (一般) –> ##(好看、全面) * 示例: (给的少) –> ##(给的多、全) * 上手难易: (易) –> ##(难)