前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >人工智能开源框架介绍(整理)

人工智能开源框架介绍(整理)

作者头像
李小白是一只喵
发布2020-04-24 09:29:59
1.5K0
发布2020-04-24 09:29:59
举报

TensorFlow

TensorFlow™是一个开源软件库,最初由Google Brain Team的研究人员和工程师开发。(中文社区)

TensorFlow使用数据流图进行数值计算。图中的节点表示数学运算,边表示它们之间通信的多维数据数组(张量)。

其架构灵活,你可以使用单个API将计算部署到桌面、服务器或移动设备中的一个或多个CPU或GPU。

TensorFlow提供了多种API。最低级别的API——TensorFlow Core——提供了完整的编程控制。

高级API则建立在TensorFlow Core的顶部。

这些更高级别的API通常比TensorFlow Core更容易学习和使用。

此外,更高级别的API使得重复性的任务在不同的用户之间变得更容易、更一致。

一个高级API就像tf.estimator,可以帮助您管理数据集、评估器、训练和推理。

TensorFlow中的数据中心单位是张量。

一个张量由一组形成任意数量维数组的原始值组成。张量的阶就是它的维数。

使用TensorFlow开发的例子

工程名

介绍

RankBrain

在www.google.com上大规模部署用于搜索排名的深度神经网络。

Inception图像分类模型

基准模型和对高度精确的计算机视觉模型的后续研究,它是在获得2014年Imagenet图像分类挑战赛的模型基础之上进行构建的。

SmartReply

可自动生成电子邮件响应的Deep LSTM模型。

Massively Multitask Networks for Drug Discovery

Google与斯坦福大学合作的识别有效候选药的的深度神经网络模型。

用于OCR的设备级计算机视觉

基于设备级的计算机视觉模型实现光学字符识别,进行实时翻译。

Apache SystemML

利用大数据进行机器学习的最佳开源工具。官网

SystemML是由IBM创建的机器学习技术,是Apache中的顶级项目之一,它是一个灵活、可扩展的机器学习系统。

SystemML的重要特点如下: 1.使用类R和类Python语言定制算法。 2.有多种执行模式,包括Spark MLContext、Spark Batch、Hadoop Batch、Standalone和JMLC(Java机器学习连接器)。 3.基于数据和聚类特性的自动优化,保证了算法的高效率和可扩展性。 4.将SystemML视为机器学习的结构化查询语言SQL。SystemML的最新版本(1.0.0)支持:Java 8+、Scala 2.11+、Python 2.7/3.5+、Hadoop 2.6+以及Spark 2.1+。 5.可在Apache Spark上运行,在Apache Spark上,SystemML通过逐行查看代码,确保代码是否能够在Apache Spark聚类上运行。

未来对SystemML的开发将包括:使用GPU进行额外的深度学习,例如导入和运行神经网络架构以及用于训练的预训练模型。

Caffe

Caffe是一种清晰而高效的深度学习框架。官网

Caffe最初由杨庆佳在加州大学伯克利分校读博期间发起,后来由伯克利AI研究公司(BAIR)和社区贡献者联合开发。

它主要专注于用于计算机视觉应用的卷积神经网络。

对于计算机视觉相关的任务来说,Caffe是一个不错且较为流行的选择,您可以在Caffe Model Zoo上注册,下载很多已经成功建模的模型,直接用于开发。

Caffe的重要特点如下: 1.Expressive架构鼓励实用和创新。用配置定义的模型和优化,而不需要硬编码。通过设置单个标志在GPU机器上进行训练,然后部署聚类或移动设备,实现CPU和GPU之间的切换。 2.可扩展代码更有助于开发。在Caffe开发好的的第一年,就有1,000多个开发者分享了出去,对其做了重大贡献。 3.Caffe的高速使理论实验和实际应用得到了完美的结合。Caffe使用单个NVIDIA K40 GPU每天可处理超过6000万张图像。 4.社区:Caffe已经为视觉、语音和多媒体领域的学术研究项目,启动原型,甚至大规模工业应用提供支持。

Apache Mahout

Apache Mahout是一个分布式线性代数框架,提供了一些经典的机器学习算法。官网

Mahout旨在帮助开发人员方便快捷的实现自己的算法。

Apache Spark是一种即拿即用的分布式后台,或者也可以将其扩展到其他分布式后台。

其特点如下: 1.数学表达Scala DSL。 2.支持多种分布式后端(包括Apache Spark)。 3.包含用于CPU / GPU / CUDA加速的模块化本地求解器。 4.Apache Mahout应用的领域包括:协作过滤(CF),聚类和分类。

OpenNN

OpenNN是一个用c++编写的开源类库,它实现了神经网络建模。官网

Opennn (开放神经网络图书馆)以前被称为Flood,它是以R. Lopez在2008年泰罗尼亚技术大学的博士论文《在工程变分问题的神经网络》为基础开发的。

Opennn使用一组函数实现了数据挖掘,并且,可以使用一个API将这些函数嵌入到其他软件工具中,使软件工具和预测分析任务之间进行交互。

Opennn的主要优点就是它的高性能。

由于采用c++开发,因此它有更好的内存管理和更高的处理速度,并利用 OpenMP 和 GPU 加速度(CUDA)实现 CPU 并行化。

Opennn包中含有单元测试、许多示例和大量文档。为神经网络算法和应用的研究开发提供了一个有效的框架。

神经网络设计是一个基于OpenNN的专业预测分析工具,这就意味着神经网络设计的神经引擎是基于 OpenNN 建立的。

OpenNN旨在从数据集和数学模型中进行学习。

Torch

Torch是一个开源机器学习库、科学计算框架和基于Lua编程语言的脚本语言。官网

Torch供 Facebook 人工智能研究小组、 IBM、 Yandex 和 Idiap 研究所使用。

现在,它已经扩展到 Android 和 iOS系统上,研究人员也使用Torch来构建硬件实现数据流。

Pytorch是一个Python的开源机器学习库,用于自然语言处理等应用,主要由 Facebook 的人工智能研究小组开发,Uber 的概率编程软件"Pyro"就是在Pytorch上创建的。

Neuroph

Neuroph是一种用 Java 编写的面向对象的神经网络框架。官网

Neuroph可用于在Java程序中创建和训练神经网络,它提供了Java类库以及用于创建和训练神经网络的GUI工具easyNeurons。

Neuroph是一个轻量级的Java神经网络框架,可用于开发常见的神经网络架构。它包含一个设计良好的开源Java库,其中包含少量与基本神经网络概念对应的基础类。

它还有一个很好的GUI神经网络编辑器来快速创建Java神经网络组件。目前,已经在Apache 2.0许可下作为开源发布出来。

Neuroph的核心类与人工神经元、神经元层、神经元连接、权重、传递函数、输入函数和学习规则等基本神经网络概念对应。

Neuroph支持常见的神经网络体系结构,例如具有反向传播,Kohonen和Hopfield网络的多层感知器。

所有的这些类都可以进行扩展和定制,以自定义创建神经网络和学习规则。Neuroph同时也支持图像识别。

Deeplearning4j

Deeplearning4j是第一个为Java和Scala编写的商业级开源分布式深度学习库。官网

Deeplearning4j旨在成为顶尖的即拿即用设备,而不是只是做一些配置,这使得非专业人员也能够快速的构建模型。

DL4J可以通过Keras(包括TensorFlow,Caffe和Theano)从大多数主要框架中导入神经网络模型,它为数据科学家、数据工程师和DevOps提供了跨团队工具包,弥合了Python生态系统和JVM之间的障碍。

现在,Keras是Deeplearning4j的Python API。

Mycroft

Mycroft声称是世界上第一个开源助手,适用于从科学项目到企业软件应用程序的任何事情。官网

Mycroft可以在任何地方运行——台式计算机上、在汽车内或在树莓派上运行。这是可以自由混合、自由扩展和改进的开源软件。

OpenCog

OpenCog是一个旨在构建开源人工智能框架的项目。官网

OpenCog是认知算法的多元化组合,每种组合都体现了它们的创新之处。但是,认真遵守认知协同原则才是OpenCog整体架构强大的原因。

OpenCog最初是基于2008年“Novamente Cognition Engine”(NCE)发布的源代码。

参考

10大热门人工智能开源工具(框架]

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • TensorFlow
  • Apache SystemML
  • Caffe
  • Apache Mahout
  • OpenNN
  • Torch
  • Neuroph
  • Deeplearning4j
  • Mycroft
  • OpenCog
  • 参考
相关产品与服务
CODING DevOps
CODING DevOps 一站式研发管理平台,包括代码托管、项目管理、测试管理、持续集成、制品库等多款产品和服务,涵盖软件开发从构想到交付的一切所需,使研发团队在云端高效协同,实践敏捷开发与 DevOps,提升软件交付质量与速度。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档