_ ___ ___ ___ _
/_\ |_ _/ _ \ _ __ ___ _ _ | __|_ _ __| |_
/ _ \ | | (_) | '_ \/ -_) ' \ | _/ _` (_-< _|
/_/ \_\___\___/| .__/\___|_||_| |_|\__,_/__/\__|
|_|
-
data:数据:数据集、数据区块链、数据采集方法(Hadoop、Spark等)。
-
algorithm:算法:包括监督/无监督学习、深度学习、训练框架、模型、迁移学习、联邦学习、强化学习等。
-
power:算力:GPU、TPU、OpenStack、K8S、docker等。
-
applications:AI应用:各行业应用,如自动驾驶、人脸识别、声纹提取和识别、语音处理、知识图谱、自然语言处理(NLP)等。
-
others:一些未分类的资源,学习资源(包括深度学习、区块链、node.js、go、python编程语言等)。
_ ___ ___ ___ _
/_\ |_ _/ _ \ _ __ ___ _ _ / _ \__ _____ _ ___ _(_)_____ __ __
/ _ \ | | (_) | '_ \/ -_) ' \ | (_) \ V / -_) '_\ V / / -_) V V /
/_/ \_\___\___/| .__/\___|_||_| \___/ \_/\___|_| \_/|_\___|\_/\_/
|_|
(↑返回目录)
AIOpen是一个按人工智能三要素(数据、算法、算力)进行AI开源项目分类的汇集项目,项目致力于跟踪目前人工智能(AI)的深度学习(DL)开源项目,并尽可能地罗列目前的开源项目,同时加入了一些曾经研究过的代码。通过这些开源项目,使初次接触AI的人们对人工智能(深度学习)有更清晰和更全面的了解。
AI(人工智能)包括目前比较热门的深度学习、机器学习和与机器智能相关的技术。总体来说,人工智能包含了机器学习,机器学习包含了(神经网络)深度学习。它们之间的关系如下图:
(↑返回目录)
人工智能的三要素:数据(data)、算法(algorithm)和算力(computing power);三者之间的关系如下图:
(↑返回目录)
(↑返回目录)
(↑返回目录)
下图是大数据平台常见开源工具:
-
BDCloud
BDCloud是使用Docker实现的Hadoop集群技术,目的是实现对终端设备的监控信息进行采集、处理、存储、分析。其流程是终端采集信息->django处理信息->Kafka->Flume->HDFS->Spark分析信息。 -
CDH
CDH是Cloudera最成型的发行版本,拥有最多的部署案例。提供强大的部署、管理和监控工具。Cloudera开发并贡献了可实时处理大数据的Impala项目。拥有强大的社区支持,当出现一个问题时,能够通过社区、论坛等网络资源快速获取解决方法。 -
HDP
HDP是Hortonworks公司的发行版,它使用了100%开源Apache Hadoop(不拥有任何私有、非开源代码)的唯一提供商。Hortonworks是第一家使用了Apache HCatalog的元数据服务特性的提供商。并且,它们的Stinger开创性地极大地优化了Hive项目。Hortonworks为入门提供了一个非常好的,易于使用的沙盒。Hortonworks开发了很多增强特性并提交至核心主干,这使得Apache Hadoop能够在包括Windows Server和Windows Azure在内的Microsft Windows平台上本地运行,相比于CDH只能运行在Linux系统中。
下图是CDH和HDP的特性比较:
-
EcoSystem
EcoSystem是Tensorflow的生态系统,通过ecosystem可以方便地使tensorflow与docker、hadoop、spark集成分布式计算。 -
Tensorflow on Yarn
TonY(Tensorflow on Yarn)是LinkedIn的开源项目,允许用户在单个节点或大型 Hadoop 集群上构建基于 YARN 的 TensorFlow 应用程序解决方案。 TonY 的工作方式就像在 Hadoop 中的 MapReduce,执行 Pig 和 Hive 脚本的方法类似,为 TensorFlow 任务提供第一级支持。 TonY 由三个主要组件组成,客户端,ApplicationMaster 和 TaskExecutor。 它提供了 GPU 调度,精确资源请求,TensorBoard 支持和容错的四个主要功能。 -
Spark on Yarn
一般的Spark部署模式是Spark的standalone运行模式。在Spark的生产环境中,主要部署在Hadoop集群中,是以Spark On YARN模式运行,依靠yarn来调度Spark,比默认的Spark运行模式性能要好的多。 Spark on Yarn分为client和cluster两种模式。
-
算力中心:
-
硬件:
- GPU服务器: 20台高性能的GPU服务器,包含60张GPU卡,1280G内存,95T空间
- 服务器机架:500台2U刀片服务器架
- 高性能服务器:40台高性能服务器,2304G内存,207T的空间
- 交换机:10个以上的万兆交换机
-
软件:
- 资源池虚拟化软件系统(OpenStack)
- 网络管理系统
- 监控软件系统
-
-
家用:
- 硬件:
- CPU:3.5 GHz Intel Core i7
- 内存:128 GB HDDR 4 3000 MHz
- 硬盘:3 TB Fusion Drive(1TB SSD + 2TB HDD)
- GPU:4块 GTX 1080Ti
- 软件:
- Ubuntu16.04
- anaconda2
- tensorflow(1.3.0)
- keras(2.1.4)
- 硬件:
- 知识图谱
下图是知识图谱技术总览(包括AI技术):
(↑返回目录)
AGI:Artificial General Intelligence,通用人工智能。
AI:Artificial Intelligence,人工智能。
Algorithm:人工智能算法,目前最主流的是深度学习。
Ambari:Apache Ambari是一个基于Web的工具,支持HDFS、MapReduce、Hive、Pig、Hbase、Zookeepr、Sqoop和Hcatalog等的集中管理。
ANN:Artificial Neural Networks,人工神经网络
APU:Accelerated Processing Unit,加速处理器,是把CPU和GPU做到一块硅芯上。
Awesome:在Github上寻找好资源的关键字。比如:awesome deep learning, awesome blockchain等。
Auto Encoder:自动编码器,一种无监督学习方法
BC:Block Chain,区块链,是一种在多方无需互信的环境下,通过密码学技术让系统所有参与方协作,共同记录和维护一个可靠的、不可撤销的分布式数据块链的技术。
BDCloud:大数据云平台。https://github.com/bdcloud
BPU:Brain Processing Unit, 大脑处理器。
BOTs:虚拟(聊天)机器人,是一种通过自然语言来模拟人类对话的程序。
Caffe:Convolutional Architecture for Fast Feature Embedding,是一种常用的深度学习框架,在视频、图像处理方面应用较多
Cassandra:是一套开源分布式NoSQL数据库系统。 它最初由Facebook开发,用于储存收件箱等简单格式数据。
CM:Cloudera Manager, 提供易用特性、易于升级和安装组件等最有价值的功能。CM也可以在几分钟之内建立集群主节点的高可用性(high availability)及其他功能,例如,Hive,Pig,Impala,Flume和Spark等。
CNN:Convolutional Neural Networks,卷积神经网络
CNTK:Computational Network Toolkit,微软开发的深度学习商业工具包。
CTC:Connectionist Temporal Classification。这个算法是用来解决时序类数据的分类问题。
DBN:Deep Belief Networks,深度置信网络
DL:Deep Learnging,深度学习
DNN:Deep Neural Networks,深度神经网络
Docker:容器
DPU:Deep learning Processing Unit, 深度学习处理器。
EcoSystem(tensorflow):Tensorflow的生态系统,通过ecosystem可以方便地使tensorflow与docker、hadoop、spark集成分布式计算。
ElasticSearch:是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。
EEG:Event Evolutionary Graph,事理图谱,是一个事理逻辑知识库,描述事件之间的演化规律和模式。
Federated Learning:联邦学习,通过该技术算法加密建造的模型,能够在较高程度保持数据完整性的同时,保障数据隐私。
Flume:一个分布式、可靠和高可用的海量日志聚合系统,支持在系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写入各种数据接受方(可定制)的能力。
FPGA:Field-Programmable Gate Array,现场可编程门阵列
GAN:Generative Adversarial Networks,生成式对抗网络,一种最具前景的无监督学习方法
GDPR:General Data Protection Regulation,通用数据保护条例。
GMM:混合高斯模型
GPU:Graphics Processing Unit,图形处理器
Hadoop:是一个山寨google的分布式文件系统
Hazelcast:是一个高度可扩展的数据分发和集群的开源平台,提供了高效的、可扩展的分布式数据存储、数据缓存。 在分布式技术方面,Hazelcast提供了十分友好的接口供开发者选择,如Map,Queue,ExecutorService, Lock和Jcache。
HBase:建立在Hadoop文件系统之上的分布式面向列的数据库
HDFS:Hadoop分布式文件系统(Hadoop Distributed File System),提供高吞吐量的数据访问,适合大规模数据集方面的应用。
HE:Homomorphic Encryption(同态加密),是一种加密形式,它允许对密文进行特定的代数运算得到仍然是加密的结果,将其解密所得到的结果与对明文进行同样的运算结果一样。
Hive:基于Hadoop的一个数据仓库工具
HMM:隐马尔可夫模型
Hue:提供了Fusion Insight HD应用的图形化用户Web界面。Hue支持展示多种组件,目前支持HDFS、YARN、Hive和Solr。
Impala:是基于HDFS的SQL工具,cloudera开发,现开源。
IPFS:InterPlanetary File System,星际文件系统,是永久的、去中心化保存和共享文件的方法,这是一种内容可寻址、版本化、点对点超媒体的分布式协议。
IPNS:InterPlanetary Named System,是一个分布式的命名系统,将难于记忆的数据哈希值映射为易于记忆的字符串。这可以类比于域名与IP地址的映射关系。
Kafka:A Distributed Streaming Platform,是一种高吞吐量的分布式发布-订阅消息系统
K8S:Kubernetes
Keras:是一款基于Tensorflow、Theano、CNTK为后端的深度学习高级框架
Kettle:是一个ETL工具集,它允许你管理来自不同数据库的数据,通过提供一个图形化的用户环境来描述你想做什么,而不是你想怎么做。作为Pentaho的一个重要组成部分,现在在国内项目应用上逐渐增多。其数据抽取高效稳定。
KG:Knowledge Graph,知识图谱,旨在描述客观世界的概念、实体、事件及其之间的关系。
Kubernetes:容器集群
LSTM:Long Short-Term Memory,长短期记忆网络
MapReduce:提供快速并行处理大量数据的能力,是一种分布式数据处理模式和执行环境。
Matplotlib:基于Python的数据可视化工具
MFCC:梅尔倒谱系数
ML:Machine Learning,机器学习
MLP:多层感知器
MongoDB:NoSQL数据库
MSE:均方误差
MXNet:是亚马逊(Amazon)的深度学习库。
NLP: Natural Language Processing,自然语言处理,是人工智能(AI)的一个子领域。
NPU:Neural network Processing Unit,神经网络处理器。
Numpy:基于Python的基础数据工具
OpenStack:一个开源的云计算管理平台项目
Oozie:提供了对开源Hadoop组件的任务编排、执行的功能。以Java Web应用程序的形式运行在Java servlet容器(如:Tomcat)中,并使用数据库来存储工作流定义、当前运行的工作流实例(含实例的状态和变量)。
PCA:Principal Component Analysis,主成分分析
Pandas:Python Data Analysis Library,一个基于Python的数据处理工具
PySpark:一种基于Python的Spark编程接口
Python:一种解释型、面向对象、动态数据类型的高级程序设计语言
PyTorch:一个基于Python的深度学习框架
RBM:Restricted Boltzmann Machines,受限玻尔兹曼机
RL: Reinforcement Learning,强化学习
RNN:Recurrent Neural Networks,循环神经网络
ROS:Robot Operating System,是一个机器人软件平台
RPA:Robotic Process Automation,机器人过程自动化
Scala:是一门多范式的编程语言,设计初衷是实现可伸缩的语言、并集成面向对象编程和函数式编程的各种特性。
Slim:Tensorflow的一个辅助工具
SNN:Spiking Neural Networks,尖峰神经网络/脉冲神经网络,是三代神经网络模型,属于计算神经科学,动物的神经网络大多是脉冲神经网络。
Spark:基于内存的分布式计算引擎
Solr:一个高性能,基于Lucene的全文检索服务器。Solr对Lucene进行了扩展,提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展,并对查询性能进行了优化,并且提供了一个完善的功能管理界面,是一款非常优秀的全文检索引擎。
Sqoop:是一个用于在Hadoop和关系数据库服务器之间传输数据的工具。它用于从关系数据库(如MySQL,Oracle)导入数据到Hadoop HDFS,并从Hadoop文件系统导出到关系数据库,学习使用Sqoop对关系型数据库数据和Hadoop之间的导入有很大的帮助。
Storm:基于流的分布式计算引擎
TFF:TensorFlow_Federated,tensorflow联邦学习。
TF-Slim:Tensorflow的一个辅助工具
Theano:用于深度学习的框架,基于Python
Tensorflow
:Google的一款用于深度学习的框架,基于Python
TPU:Tensor Processing Unit,向量处理器,是google的一款高性能处理器
Yarn:资源管理系统,它是一个通用的资源模块,可以为各类应用程序进行资源管理和调度。
zookeeper:提供分布式、高可用性的协调服务能力。 帮助系统避免单点故障,从而建立可靠的应用程序。
(↑返回目录)
优秀的全栈资源列表(有关 Deep Learning、Blockchain、BigData、Datasets、Python 等)
Building Deep Learning Applications for Big Data
使用 Pycharm + Docker,打造深度学习的炼丹炉
Guide to Open Source AI: Projects, Insights, and Trends
(↑返回目录)
-
Website:http://www.aiopens.net
-
E-mail:jamess@126.com