Skip to main content
 Web开发网 » 站长学院 » 浏览器插件

深度学习框架有哪些?各有什么特点?

2021年11月03日5320百度已收录

现在深度学习也是比较热门,下面我就简单介绍一些深度学习的框架以及各自的特点。

TensorFlow框架tensorflow是用c++语言开发的,同时支持C,java,python等多种语言多的调用,目前主流的方式通常会使用python语言进行驱动应用。利用c++语言可以保证其运行效率,python语言作为其上层应用语言,可以为研究人员节省大量的时间。

Tensorflow与CNTK,MXNET,theano同属于符号计算架构,允许用户在不需要使用低级语言实现的情况下,开发出新的复杂层类型。基于图运算是其最主要的特点,通过图上的节点变量可以控制训练中各个环节的变量,尤其在需要进行底层操作时,Tensorflow要比其他的框架更容易些。虽然Tensorflow在大型计算机集群中的并行处理,运算性能略低于CNTK,但是在个人机器使用场景下,可以根据机器的配置自动选择CPU或者GPU来进行计算。

TheanoTheano是一个十余年的python深度学习和机器学习框架,用来定义,优化和模拟数学表达式计算,用于高效的解决多为数组的计算问题,有较好的扩展性。

TorchTorch同样具有很好的扩展性,但是有些接口不够全面,比如WGAN-OP这样的网络需要手动计算来修改梯度没有对应的接口。其最大的缺点是,需要LuauJIT的支持,用于Lu语言,在python流行的今天,通用性能方面比较差。

Keraskeras可以理解为一个Theano框架和tensorflow前端的一和个组合。其构建模型的api调用方式渐渐成为了主流,包括Tensorflow,CNTK,MXNet等知名框架,都提供对keras调用语法的支持。使用keras编写的代码,会有更好的可移植性。

DeepLearning4jDeepLearning4j是基于java语言和Scala语言开发的,应用在Hadoop和spark系统之上的深度学习软件。

Caffe最初caffe是一个强大的图像分类框架,是最容易测试和评估性能的标准深度学习框架,并且提供了很多训练好的模型,尤其是该模型的复用价值在其他的框架中都会出现,大大提升了现有模型的训练时间。但是Caffe更新缓慢。

MXNetMXNet是一个可移植的,可伸缩的深度学习库,具有Torch,Theano和caffe的部分特性。在不同程度上面支持Python,R,Scala,Julia和C++语言,也是目前比热门的主流框架之一。

CNTKCNTK是一个微软开发的深度学习软件包,以速度块儿著称,运用独特的神经网络配置语言Brain Script,大大的降低了学习成本。有微软作为后盾,CNTK成为最具有潜力的深度学习框架之一。目前的成熟度和Tensorflow相比有较大的差距,但是其与Visual Studio的耦合,以及特定的MS编程风格,使得熟悉VS的小伙伴极容易上手。

介绍了这些,那说一下我现在主要学习的是CNTK。因为我是微软的粉丝。

评论列表暂无评论
发表评论
微信