随着近几年AI的火热,机器学习平台(Machine learning platforms)也开始引领技术潮流。开发人员需要知道怎么样利用这些平台的能力。在ML环境中工作,如果使用正确的工具(如Filestack),可以使开发人员更容易创建一个利用其功能的高效算法。下面列出的机器学习平台和工具(顺序随机),现在可以无缝地将ML的功能集成到日常开发工作中。
H2O是由H2O.ai为Python、R和Java编程语言设计的。这个开源软件可以让我们使用Java、Python等熟悉的语言,很容易地将预测分析和机器学习应用于各种情况。H2O可在Mac、Windows和Linux操作系统上使用,它为开发人员提供了分析Apache Hadoop文件系统和云系统中的数据集所需的工具。
如果开发人员正在寻找一个开源堆栈,并且在其之上构建了一个用于机器学习的开源服务器,那么他们应该看看Apache PredictionIO。作为一种构建预测引擎的方法,Apache PredictionIO可以满足任何人工智能任务。除了事件服务器和平台本身之外,Apache PredictionIO还包含一个模板库。
Eclipse Deeplearning4j是为Java虚拟机构建的开源库。以深度学习为核心,该工具针对那些需要在业务环境中构建深度神经网络的开发人员,这些开发人员在分布式cpu和gpu上工作。Scala、Clojure和Java程序员使用Hadoop之类的文件系统,并且自己动手编写,他们会喜欢Eclipse Deeplearning4j。这个工具是旧金山Skymind公司的一个项目。
使用c#编程语言编写的图像和音频处理库,然后与Accord.NET Framework结合使用。通过使用这个框架,开发人员可以创建一系列用于商业用途应用程序,这些应用程序依赖于机器学习,有多种选项可供选择,如计算机视觉、信号处理、模式识别和机器听力(也称为计算机听觉)。开发者可以利用图像和信号处理、科学计算库,实时人脸检测、自然学习算法等,这些增加了这个框架的通用性。
在2017年9月的Ignite会议上,微软发布了三款Azure机器学习工具——学习工作台、学习模型管理服务和学习实验服务——允许开发人员构建自己的人工智能模型。微软还推出了三个人工智能工具,内容版主Content Moderator、自定义语音服务(Custom Speech Service)和必应语音api,以及增加了25个开发人员的工具库,这些工具旨在增加人工智能的可访问性。
开发人员可以通过使用ai-one创建适用于几乎所有软件应用程序的智能助手。该工具的资源列表包括开发者api、文档库以及 building agents(构建代理,可以用来将普通数据转换成支持ML和AI结构的规则集合)。
IBM的Watson平台是商业用户和开发人员都可以找到一系列人工智能工具的平台。该平台的用户可以使用入门工具包、示例代码和其他可以通过开放api访问的工具构建虚拟代理、认知搜索引擎和聊天机器人。
Torch以Lua编程语言为基础,包括脚本语言、科学计算框架和开放源码的ML库。Torch通过一系列算法支持深度机器学习,已经被DeepMind和Facebook人工智能研究小组使用。
开发者可以利用Protege的开源工具套件,为专家和初学者提供强大的应用工具。开发人员可以修改、创建、共享和上传应用程序,并提供了技术支持社区。
TensorFlow是专门为那些依赖于机器学习的项目而设计的,它还有一个额外的好处,那就是它是一个使用开源软件设计的平台。在大量的在线资源、文档和教程的帮助下,TensorFlow提供了一个包含数据流图的库,其形式是数值计算。这种方法的目的是使开发人员能够跨多种设备(包括移动设备、平板电脑和桌面电脑)启动深度学习框架。
DiffBlue是一个非常罕见的开发工具,它是一个非常有用却又简单的平台,致力于代码自动化。DiffBlue有几个核心目的——测试编写、错误定位、重构代码以及发现和替换weaknesses(“弱点”)的能力——这些都是通过自动化来完成的。
Neon是由Intel公司和nerve公司联合开发的,是一个基于Python的ML库,并且是开源的。使用该框架提供的工具的开发人员可以开发技术领先的应用程序和智能代理。在云环境中,Neon支持开发人员开发、构建和培训深度学习技术。
Apache Spark MLlib是一个包含内存数据处理的框架,它提供了一个算法数据库,重点关注集群、协作过滤、分类和回归。开发人员还可以找到Singa,这是一个开源框架,它包含一个编程工具,可以在许多机器和他们的深度学习网络上使用。
一个C++编程库,OpenNN针对那些想要实现神经网络的有经验的开发人员。OpenNN提供了设计工具(Neural Designer),该工具旨在通过创建表、图形和其他可视化内容来解释和简化数据条目。尽管OpenNN为用户提供了大量的教程和文档,但它主要针对的是那些已经拥有大量人工智能经验的开发人员。
开发人员可以利用Amazon Web Services (AWS)提供的许多人工智能工具包,包括Amazon Lex、Amazon Rekognition映像和Amazon Polly。每个应用程序都以不同的方式被开发人员用来创建ML工具。例如,Amazon Polly利用人工智能将语音转换为书面文本的过程自动化。亚马逊Lex是该品牌聊天机器人的基础,其个人助理Alexa也使用聊天机器人。
对于需要创建依赖于ML的应用程序的开发人员来说,你需要的是Mahout。除了教程等资源之外,Mahout还为初学者提供了使用预先设计的算法的能力,这些算法可以与Apache Flink、Apaches Spark和H2O等机器学习框架一起使用。
用c++编写并使用Python进行节点协调,Veles是三星公司对ML环境的贡献。这个框架适合那些需要可以立即用于数据分析的API(由经过训练的模型组成)的开发人员。
Caffe是由Berkeley Vision and Learning Center (BVLC)与开发人员社区协作开发的。它旨在为开发人员提供基于图像的自动检查工具。世界上一些大公司正在使用Caffe,例如:Pinterest和Facebook。
无论是刚开始参加工作的菜鸟程序员,以及那些技术专家,都能在上述框架列表中找到合适的的资源。虽然有些依赖于特定的编程语言,但也可以在包括云计算在内的各种实例中使用。