《深度学习之TensorFlow入门、原理与进阶实战》—1.4 其他深度学习框架特点及介绍
1.4 其他深度学习框架特点及介绍
下面再来了解一下深度学习领域中的其他常见框架。
* Theano:是一个十余年的Python深度学习和机器学习框架,用来定义、优化和模拟数学表达式计算,用于高效地解决多维数组的计算问题,有较好的扩展性。
* Torch:同样具有很好的扩展性,但某些接口不够全面,如WGAN-GP这样的网络需要手动来修改梯度就没有对应的接口。其最大的缺点是,需要LuaJIT的支持,用于Lua语言,在Python为王的今天,通用性方面显得较差。
* Keras:可以理解为一个Theano框架与TensorFlow前端的一个组合。其构建模型的API调用方式逐渐成为主流,包括TensorFlow、CNTK、MXNet等知名框架,都提供对Keras调用语法的支持。可以说,使用Keras编写的代码,会有更好的可移值性。
* DeepLearning4j:是基于Java和Scala语言开发的,应用在Hadoop和Spark系统之上的深度学习软件。
* Caffe:当年深度学习的老大。最初是一个强大的图像分类框架,是最容易测试评估性能的标准深度学习框架,并且提供很多预训练模型,尤其该模型的复用价值在其他框架的学习中都会出现,大大提升了现有模型的训练时间。但是现在的Caffe似乎停滞不前,没有更新。尽管Caffe又重新掘起,从架构上看更像是TensorFlow,而且与原来的Caffe也不在一个工程里,可以独立成一个框架来看待,与原Caffe关系不大。但仍不建议使用。
* MXNet:是一个可移植的、可伸缩的深度学习库,具有Torch、Theano、Chainer和Caffe的部分特性。不同程度的支持Python、R、Scala、Julia和C ++语言,也是目前比较热门的主流框架之一。
* CNTK:是一个微软开发的深度学习软件包,以速度快著称,有其独有的神经网络配置语言Brain Script,大大降低了学习门槛。有微软作为后盾,CNTK成为了最具有潜力与Tensor Flow争夺天下的框架。但目前其成熟度要比Tensor Flow差太多,即便是发行的版本也会有大大小小的bug。与其他框架一样,CNTK具有文档资料不足的特点。但其与Visual Studio的天生耦合,以及其特定的MS编程风格,使得熟悉Visual Studio工具的小伙伴们从代码角度极易上手。另外,CNTK目前还不支持Mac操作系统。
- 点赞
- 收藏
- 关注作者
评论(0)