流行且好用的人工智能开源框架有哪些?人工智能是时下最热的技术名词,其技术成熟度已经达到了非常成熟的地步,学好,用好人工智能第三方框架是人工智能开发的基础也是核心
一、Google TensorFlow
TensorFlow是谷歌基于DistBelief进行研发的第二代人工智能学习系统,其命名来源于本身的运行原理。Tensor(张量)意味着N维数组,Flow(流)意味着基于数据流图的计算,TensorFlow为张量从流图的一端流动到另一端计算过程。TensorFlow是将复杂的数据结构传输至人工智能神经网中进行分析和处理过程的系统。 TensorFlow可被用于语音识别或图像识别等多项机器深度学习领域,对2011年开发的深度学习基础架构DistBelief进行了各方面的改进,它可在小到一部智能手机、大到数千台数据中心服务器的各种设备上运行。TensorFlow将完全开源,任何人都可以用。TensorFlow 表达了高层次的机器学习计算,大幅简化了第一代系统,并且具备更好的灵活性和可延展性。TensorFlow一大亮点是支持异构设备分布式计算,它能够在各个平台上自动运行模型,从手机、单个CPU / GPU到成百上千GPU卡组成的分布式系统。从目前的文档看,TensorFlow支持CNN、RNN和LSTM算法,这都是目前在Image,Speech和NLP最流行的深度神经网络模型。
二、facebooktorchTorch是一个广泛支持机器学习算法的科学计算框架。易于使用且高效,主要得益于一个简单的和快速的脚本语言LuaJIT,和底层的C / CUDA实现核心特征的总结:
一个强大的n维数组
很多实现索引,切片,移调transposing的例程
惊人的通过LuaJIT的C接口
线性代数例程
神经网络,并基于能量的模型
数值优化例程
快速高效的GPU支持
可嵌入,可移植到iOS,Android和FPGA的后台
Torch目标是让你通过极其简单过程、最大的灵活性和速度建立自己的科学算法。Torch有一个在机器学习领域大型生态社区驱动库包,包括计算机视觉软件包,信号处理,并行处理,图像,视频,音频和网络等,基于Lua社区建立。 Torch 的核心是流行的神经网络,它使用简单的优化库,同时具有最大的灵活性,实现复杂的神经网络的拓扑结构。你可以建立神经网络和并行任意图,通过CPU和GPU等有效方式。 Torch 广泛使用在许多学校的实验室以及在谷歌/ deepmind,推特,NVIDIA,AMD,英特尔和许多其他公司。 Facebook开源了他们基于Torch的深度学习库包,这个版本包括GPU优化的大卷积网(ConvNets)模块,以及稀疏网络,这些通常被用在自然语言处理中的应用中。我们的ConvNet模块包括FFT-based卷积层,使用的是建立在NVIDIA的CUFFT库上自定义优化的CUDA内核。
三、IBM SystemMLSystemML最初由IBM开发,现在它是Apache旗下的一个大数据项目。它提供了一种高度可扩展的平台,可以实施用R或类似Python的语法编写的高级运算和算法。企业已经在用它来跟踪汽车维修方面的客户服务,引导机场客流量,或者将社交媒体数据与银行客户联系起来。它可以在Spark或Hadoop上运行。
ML是Machine Learning的缩写,所以SystemML这个名称相当直白,就是一套机器学习系统,由IBM的Almaden实验室近10年前开发。它用Java语言编写,可支持描述性分析、分类、聚类、回归、矩阵分解及生存分析等算法, IBM的明星AI Waston就整合了不少SystemML的功能。 在部署方面, SystemML运行环境支持Windows、Linux及MacOS,可支持单机和分布式部署。单机部署显然有利于本地开发的工作,而分布式部署则可以真正发挥机器学习的威力,支持的框架包括Hadoop和Spark。 IBM决定通过Apache Foundation开源SystemML的原因是看中了这个社区广泛的开发者团体,希望能吸引到广大的开发者使用并加速其研发。其他公司开源被认为是未来核心竞争力的AI技术也是出于同样的目的(另外可能还希望找到自己青睐的紧缺的AI专家),开放才能做大做强。不过究竟谁才更具吸引力,说到底还是要看比拼技术架构、灵活性、适用性等核心能力。
文章来源:https://www.ixiera.com/web/kehu/zsk/207.html