10大热门人工智能开源工具(框架)
10大热门人工智能开源工具(框架)
摘要: 本文讲了10个热门的人工智能开源工具/框架。
下面是我们今天要讲的10个热门的人工智能开源工具/框架。
1.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的Google应用有:
1.RankBrain:在www.google.com上大规模部署用于搜索排名的深度神经网络。
2.Inception图像分类模型:基准模型和对高度精确的计算机视觉模型的后续研究,它是在获得2014年Imagenet图像分类挑战赛的模型基础之上进行构建的。
3.SmartReply:可自动生成电子邮件响应的Deep LSTM模型。
4.Massively Multitask Networks for Drug Discovery:Google与斯坦福大学合作的识别有效候选药的的深度神经网络模型。
5.用于OCR的设备级计算机视觉:基于设备级的计算机视觉模型实现光学字符识别,进行实时翻译。
2.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进行额外的深度学习,例如导入和运行神经网络架构以及用于训练的预训练模型。
SystemML的Java机器学习连接器(JMLC)
Java机器学习连接器(JMLC)API是一种编程接口,它在嵌入式时与SystemML进行交互。JMLC的主要目的是作为一个评分API,其中,评分函数是用SystemML的DML语言表示的。除了评分外,嵌入式SystemML还可在一台机器上运行的更大的应用程序的上下文中,执行聚类等无监督学习任务。
3.Caffe
Caffe是一种清晰而高效的深度学习框架。
Caffe最初由杨庆佳在加州大学伯克利分校读博期间发起,后来由伯克利AI研究公司(BAIR)和社区贡献者联合开发。它主要专注于用于计算机视觉应用的卷积神经网络。对于计算机视觉相关的任务来说,Caffe是一个不错且较为流行的选择,您可以在Caffe Model Zoo上注册,下载很多已经成功建模的模型,直接用于开发。
优点
1.Expressive架构鼓励实用和创新。用配置定义的模型和优化,而不需要硬编码。通过设置单个标志在GPU机器上进行训练,然后部署聚类或移动设备,实现CPU和GPU之间的切换。
2.可扩展代码更有助于开发。在Caffe开发好的的第一年,就有1,000多个开发者分享了出去,对其做了重大贡献。
3.Caffe的高速使理论实验和实际应用得到了完美的结合。Caffe使用单个NVIDIA K40 GPU每天可处理超过6000万张图像。
4.社区:Caffe已经为视觉、语音和多媒体领域的学术研究项目,启动原型,甚至大规模工业应用提供支持。
4.Apache Mahout
Apache Mahout是一个分布式线性代数框架,提供了一些经典的机器学习算法。
Mahout旨在帮助开发人员方便快捷的实现自己的算法。Apache Spark是一种即拿即用的分布式后台,或者也可以将其扩展到其他分布式后台。其特点如下:
1.数学表达Scala DSL。
2.支持多种分布式后端(包括Apache Spark)。
3.包含用于CPU / GPU / CUDA加速的模块化本地求解器。
4.Apache Mahout应用的领域包括:协作过滤(CF),聚类和分类。
功能
1.Taste CF.Taste 是 Sean Owen 在 SourceForge 上发起的一个针对协同过滤(CF)的开源项目,并在 2008 年被赠予 Mahout。
2.支持 Map-Reduce 的集群实现包括 :k-Means、模糊 k-Means、Canopy、Dirichlet 和 Mean-Shift算法等。
3.分布式朴素贝叶斯和互补朴素贝叶斯的分类实现。
4.用于进化编程的分布式适应度函数。
5.矩阵和矢量库。
5.OpenNN
OpenNN是一个用c++编写的开源类库,它实现了神经网络建模。
Opennn (开放神经网络图书馆)以前被称为Flood,它是以R. Lopez在2008年泰罗尼亚技术大学的博士论文《在工程变分问题的神经网络》为基础开发的。
Opennn使用一组函数实现了数据挖掘,并且,可以使用一个API将这些函数嵌入到其他软件工具中,使软件工具和预测分析任务之间进行交互。Opennn的主要优点就是它的高性能。由于采用c++开发,因此它有更好的内存管理和更高的处理速度,并利用 OpenMP 和 GPU 加速度(CUDA)实现 CPU 并行化。
Opennn包中含有单元测试、许多示例和大量文档。为神经网络算法和应用的研究开发提供了一个有效的框架。神经网络设计是一个基于OpenNN的专业预测分析工具,这就意味着神经网络设计的神经引擎是基于 OpenNN 建立的。
OpenNN旨在从数据集和数学模型中进行学习。
数据集
特征回归
模式识别
时间序列预测
数学模型
最佳控制
最佳形状设计
数据集和数学模型
反向问题
6.Torch
Torch是一个开源机器学习库、科学计算框架和基于Lua编程语言的脚本语言。
功能
1.一个强大的 n 维数组
2.有很多索引、切片、转换的程序。
3.可使用 LuaJIT编写简单的C扩展。
4.线性代数程序
5.神经网络和基于能量的模型
6.数字优化程序
7.GPU支持,更加快速和高效
8.可嵌入,带有 iOS 和 Android 的后台端口
Torch供 Facebook 人工智能研究小组、 IBM、 Yandex 和 Idiap 研究所使用。现在,它已经扩展到 Android 和 iOS系统上,研究人员也使用Torch来构建硬件实现数据流。
Pytorch是一个Python的开源机器学习库,用于自然语言处理等应用,主要由 Facebook 的人工智能研究小组开发,Uber 的概率编程软件"Pyro"就是在Pytorch上创建的。
7.Neuroph
Neuroph是一种用 Java 编写的面向对象的神经网络框架。
Neuroph可用于在Java程序中创建和训练神经网络,它提供了Java类库以及用于创建和训练神经网络的GUI工具easyNeurons。Neuroph是一个轻量级的Java神经网络框架,可用于开发常见的神经网络架构。它包含一个设计良好的开源Java库,其中包含少量与基本神经网络概念对应的基础类。它还有一个很好的GUI神经网络编辑器来快速创建Java神经网络组件。目前,已经在Apache 2.0许可下作为开源发布出来。
Neuroph的核心类与人工神经元、神经元层、神经元连接、权重、传递函数、输入函数和学习规则等基本神经网络概念对应。Neuroph支持常见的神经网络体系结构,例如具有反向传播,Kohonen和Hopfield网络的多层感知器。所有的这些类都可以进行扩展和定制,以自定义创建神经网络和学习规则。Neuroph同时也支持图像识别。
8.Deeplearning4j
Deeplearning4j是第一个为Java和Scala编写的商业级开源分布式深度学习库。
Deeplearning4j旨在成为顶尖的即拿即用设备,而不是只是做一些配置,这使得非专业人员也能够快速的构建模型。
DL4J可以通过Keras(包括TensorFlow,Caffe和Theano)从大多数主要框架中导入神经网络模型,它为数据科学家、数据工程师和DevOps提供了跨团队工具包,弥合了Python生态系统和JVM之间的障碍。现在,Keras是Deeplearning4j的Python API。
功能
1.分布式 cpu 和 gpu
2.Java, Scala and Python APIs
3.适用于微服务体系结构
4.通过降低迭代次数进行并行训练
5.在Hadoop 上可伸缩
6.在AWS扩展上提供Gpu 支持
库
1.Deeplearning4J: 神经网络平台
2.ND4J: Numpy for the JVM
3.DataVec:机器学习ETL操作的工具
4.JavaCPP:Java和C ++之间的桥梁
5.Arbiter:机器学习算法的评估工具
6.RL4J:JVM的深度增强学习
9.Mycroft
Mycroft声称是世界上第一个开源助手,适用于从科学项目到企业软件应用程序的任何事情。
Mycroft可以在任何地方运行——台式计算机上、在汽车内或在树莓派上运行。这是可以自由混合、自由扩展和改进的开源软件。
10.OpenCog
OpenCog是一个旨在构建开源人工智能框架的项目。
OpenCog是认知算法的多元化组合,每种组合都体现了它们的创新之处。但是,认真遵守认知协同原则才是OpenCog整体架构强大的原因。OpenCog最初是基于2008年“Novamente Cognition Engine”(NCE)发布的源代码。
1.一个图表数据库,它包含术语、原子公式、句子和关系作为超图。
2.一个模理论解算器,作为通用图形查询引擎的一部分,用于执行图和超图模式匹配。
3.一种称为元优化语义进化搜索的概率遗传程序(MOSES),最初由在Google工作的Moshe Looks开发。
4.有一个基于 OpenPsi 和 Unity 的虚拟世界中的交互学习应用体系。
5.有一个由Link Grammar和RelEx组成的自然语言输入系统,它们都采用类AtomSpace来表示语义和句法的关系。
6.有一个称为SegSim的自然语言生成系统,它实现NLGen和NLGen2。
7.Psi 理论的实现,用于处理情绪状态、驱动和冲动,称为 OpenPsi。
本文为云栖社区原创内容.
10大热门人工智能开源工具(框架)相关推荐
- python免费开源工具推荐_年薪200万的程序员,推荐这10大Python免费开源工具!
原标题:年薪200万的程序员,推荐这10大Python免费开源工具! 毫无疑问,Python是最流行的语言之一,其成功的原因之一是它为科学计算提供了广泛的报道. 在这里,我们仔细研究用于机器学习和数据 ...
- 2013 年开源中国 10 大热门 Java 开源项目
2013 年结束了,我们根据过去一年的用户访问.交流分享和项目本身的更新频度等诸多角度对收录于开源中国的近三万款开源软件进行统计,从而得出前 XX 名最受欢迎的开源软件,仅供参考. 本排行榜主要是针对 ...
- 爆肝1个多月,严选10大热门静态博客框架,官方文档、教学视频、经典案例、热门插件一应俱全,强烈建议收藏
[文章编号 t001] 凌晨 12 点,我有一位朋友,在电话里,气愤地说他的博客文章又被平台删掉了. 我很好奇为什么,原来是他在某平台发布了一篇技术类原创文章,读者都比较喜欢.后来,他把这篇文章转发到 ...
- 盘点10大热门区块链开源软件,你知道几个?
越来越多的企业将开源软件作为其构建基础信息系统的重要选择,"低成本.安全性高.灵活自由.高可用性.协同性好--"一连串的技术优势,让越来越多的企业无法拒绝. 在区块链领域,又有哪些 ...
- 10大Go语言开源项目推荐
关注公众号 风色年代(itfantasycc) 300G微服务资料等你拿! Go语言诞生5周年!10大Go语言开源项目推荐 - Go语言中文网 - Golang中文社区 引用 2014年11月,Gol ...
- 荐六十款针对Hadoop和大数据顶级开源工具
为什么80%的码农都做不了架构师?>>> 荐六十款针对Hadoop和大数据顶级开源工具 2015-08-10 10:37 布加迪编译 51CTO 字号: T | T 说到处理 ...
- 10大热门的物联网初创公司
前段时间有点儿小忙,再加上一点小懒,这篇文章拖到现在,前几天世界互联网大会上,各巨头领导的发言提到最多的一词就是物联网了,才发觉到不能再拖了-- 原文链接:http://www.cio.com/art ...
- 2015年十大热门Android开源新项目
2015即将结束,又到了大家喜闻乐见的年终盘点时刻啦,今天给大家盘点一下2015年Android开发领域新出现的10大热门开源项目.数据来自于GitHub搜索,创建时间自2015年1月1日开始的新项目 ...
- 合工大建筑和计算机专业哪个好,合肥工业大学最好的专业是什么(10大热门专业排名)...
高考填报志愿时,合肥工业大学最好的专业是什么.哪些专业比较好是广大考生和家长朋友们十分关心的问题,以下是如意了为大家精心整理的合肥工业大学最好的10大热门专业名单,供大家参考. 1.合肥工业大学最好的 ...
最新文章
- 060_Unicode字符编码
- 1.8 欠拟合和过拟合-机器学习笔记-斯坦福吴恩达教授
- 当美团遇上双11,给千亿医美市场带来更大想象空间
- 网络请求的基本知识《极客学院 --AFNetworking 2.x 网络解析详解--1》学习笔记...
- 判断链表是否为回文结构
- C++中参数传递的两种方式:传值与传址及它们的区别
- 10-礼帽与黑帽操作
- 我的测试生活感悟2 - Art Of Unit Testing
- hadoop -- mapreduce执行过程
- 用微软的压力测试工具进行拒绝服务攻击
- 显卡是什么?显卡和Graphics的区别在哪里?
- CityEngine 免费试用申请、下载与配置(2018)
- 数组常用操作。以逗号隔开、以逗号+单引号隔开、转List等
- 莫比乌斯进阶:bzoj 3994 约数个数和(Mobius)
- JRE JDK是什么?
- linux安装redisDocker安装redis集群
- 微信小程序iOS使用input输入时placeholder及输入内容消失或隐藏
- p2p技术之tcp内网穿透 java实现版
- 3.2.4循环赛日程表(递归与分治)
- 高效偏振无关透射光栅的分析与设计
热门文章
- X_Forwarded_for 获得真实IP
- 【STM32】HAL库 STM32CubeMX教程十一---DMA (串口DMA发送接收)
- [设计模式] - 工厂模式
- sql语句的执行过程和优化
- python类与对象 动画_python之类与对象(2)
- amd860k能装黑苹果吗_可以黑苹果,性能比同价位的GTX1650强,RX580 2048SP不香吗?...
- 【LeetCode】剑指 Offer 44. 数字序列中某一位的数字
- 【高校宿舍管理系统】第七章 机构管理和功能菜单权限分配
- 浅谈java对象的equals方法
- 【C++】C++未定义行为