面向人工智能和机器学习模型的五大开源框架
1.谷歌的TensorFlow
TensorFlow是一个开源编程库,最初由谷歌大脑团队的的研究人员开发。TensorFlow用于数据流图形和图表方面的数值计算。图表中的节点与数值任务对话,而图表边缘与在它们之间传递的多维信息数组(张量)对话。这种自适应设计让你使用单个API,就可以将计算部署到工作区、服务器或手机中的至少一个CPU或GPU。
TensorFlow提供多种多样的API。最基本的API:TensorFlow Core为你提供了全面的编程控制。较庞大的API基于TensorFlow Core,学习和使用起来要求通常不如TensorFlow Core那么高。此外,更高级别的API使得冗余任务在诸客户端之间要求较低、更加可靠。
链接:https://www.tensorflow.org/
2.Caffe:一种注重表达、速度和模块化的深度学习框架。
Caffe是面向计算机视觉相关任务的一种强大的、众所周知的决策,可以从Caffe Model Zoo下载Caffe客户制作的众多高效模型,直接可以拿来使用。它最初由贾扬清在加州大学伯克利分校攻读博士学位期间开发而成,后来逐渐被伯克利AI研究中心(BAIR)和网络赞助商大力推广。它基本上以用于计算机视觉的卷积系统为中心。
链接:http://caffe.berkeleyvision.org/
3.Torch:一个开源机器学习库、一种逻辑处理框架以及一种基于Lua编程语言的脚本语言。
Torch为深度机器学习提供了广泛的算法。它使用脚本语言LuaJIT和基本的C/CUDA用法。它提供了一个可适应的N维数组即张量,支持针对索引、切片、转置、类型抛出、调整大小、共享库存和克隆的基本例程。该工具甚至支持各大平台,比如iOS、Windows、Mac OS X、Linux和Android。
Torch被Facebook AI研究组织之类的庞大协会使用。它已经在Android和iOS上使用。它已被用于构建用于数据流的硬件实现,比如神经系统中的数据流。Facebook已经发布了一套扩展模块作为开源编程。
PyTorch是一个开源机器学习库,广泛用于用Python编写的应用程序,比如自然语言处理。它主要由FaceBook的AI研究组织创建,优步用于概率编程的Pyro编程技术基于它。
4.Neuroph:一种用Java语言编写的面向对象的神经网络框架。
Neuroph可用于训练和创建用Java程序编写的神经系统。它提供了一个Java类库,还提供了名为easyNeurons的GUI工具,用于制作和准备神经系统。Neuroph是一个轻量级Java神经系统,也是用于创建基本神经系统模型的框架。它包含一个全面规划的开源Java库,与基本的NN概念有关的基本类没有几个。它还有令人愉快的GUI神经网络编辑工具,可快速制作Java神经系统段。它采用Apache 2.0许可证作为开源发布。
Neuroph的中心类相当于基本的神经系统概念,比如人工神经元、神经元层、神经元关联、权重、交换工作、输入工作和学习指南等。Neuroph支持基本的神经系统结构,比如,具有反向传播、Kohonen和Hopfield系统的多层感知器。这每一类都可以扩展和重做,以构建自定义神经系统和制定学习规则。Neuroph致力于帮助图像识别。
链接:http://neuroph.sourceforge.net/
5.Deeplearning4j(DL4J):据说是为Java和Scala构建的一种主要的商业级、开源、分布式深度学习库。
Deeplearning4j(DL4J)与Hadoop和Spark合并。DL4J旨在运行在分布式GPU和CPU上的商业环境。Deeplearning4j的优点如下:
- Deeplearning4j旨在注重配置传统而非设计,以此站在前沿,这考虑到了面向非研究人员的快速原型设计。
- 可以大规模定制。
- DL4J可以通过Keras从大多数实际系统导入神经网络模型,包括TensorFlow、Caffe和Theano,克服了Python生态系统与JVM、数据科学家和DevOps之间的差距。Keras被用作Deeplearning4j的Python API。