哈喽,大家好,我是开源君,一个资深的互联网玩家,致力于为大家分享各领域优质开源项目。
今天给大家推荐的项目是 awesome 系列里面的awesome-machine-learning
,可能有些小伙伴对 awesome 类型的项目不是很熟悉,其实简单来说,它就是把某种语言或者编程领域的东西搜罗在一块,给开发者一个索引列表,极大的节省了我们的学习和开发的时候寻找资源的成本。比如有 awesome-vue,awesome-php 等很多系列项目,那么这个项目是怎么样的呢?让我们来剖析一下。
项目简介
从项目名称来看,它是关于机器学习的。对于做 AI 领域机器学习的小伙伴有很好的参考价值。该项目由 Joseph Misiti 主导维护,来自纽约州布鲁克林,是数学家 & 铅笔的联合创始人。项目的灵感来自 awesome-php,包含了机器学习相关的框架,库和软件列表。
框架和库
搜集了由不同语言编写的机器学习通用框架或者计算机视觉,自然语言处理的相关框架,分类详细,资源很丰富。
C 语言编写
通用机器学习框架
- Darknet 是一个用 C 语言和 CUDA 编写的开源神经网络框架。速度快,易于安装,支持 CPU 和 GPU 计算。
- Recommender 是一个 C 语言编写的库,用于使用协同过滤的产品推荐。
- neonrvm 是一个基于 RVM 技术的开源机器学习库,用 C 语言编写。
- libonnx 是一个轻量级的、可移植的纯 C99 推断引擎,用于支持硬件加速的嵌入式设备。
计算机视觉
- CCV 是一个基于 C/Cached/Core 的现代计算机视觉库。
- VLFeat 是一个开放的便携式计算机视觉算法库,它还有一个 Matlab 工具箱。
C++ 编写
计算机视觉
- DLib 是有 C++ 和 Python 接口,用于人脸检测和训练通用对象检测器。
- OpenCV 具有 C++, C, Python, Java 和 MATLAB 接口,支持 Windows, Linux, Android 和 Mac OS,是一个有强大功能的图形库,可以跨很多平台。
通用机器学习框架
- DyNet 是一个动态神经网络库,可以很好地与具有动态结构的网络一起工作,这些网络会随着每个训练实例的变化而变化,使用 C++ 编写。
- Fido 是一个高度模块化的 C++ 机器学习库,用于嵌入式电子和机器人。
自然语言处理
- BLLIP Parser 是 BLLIP 自然语言解析器(也称为 Charniak-Johnson 解析器)。
- colibri-core 是 C++ 库,命令行工具,用于以一种快速和内存效率高的方式提取和使用基本的语言结构,如 n 元图 和 跳跃图。
语音识别
- Kaldi 是一个用 C++ 编写的语音识别工具包,并在 Apache 许可证 v2.0 下获得许可。它是为语音识别研究人员设计的。
手势检测
- grt 是手势识别工具包,它是一个跨平台、开源、C++ 机器学习库,专为实时手势识别而设计。
当然除了这两种语言以外,还有用 Lisp,Clojure,Crystal(编译型编程语言),Elixir(函数式编程语言),Erlang(用于大规模并行处理环境的高可靠性编程语言),Go,Java,JavaScript 等很多语法编写的框架和库。
工具
神经网络
- layer 来自命令行的神经网络推断。
各种混合的工具
- MLReef 是一个端到端开发平台,使用 git 为机器学习开发过程提供结构和深度协作的可能性。
- Pinecone 是用于需要实时、可扩展向量嵌入和相似度搜索的应用程序的向量数据库。
- Kedro 是一个数据和开发工作流框架,为数据管道实现最佳实践,着眼于机器学习模型的产品化。
其他各种实用的功能需要大家来探索,相信发现其中存在的价值。