50.8 K star,工作学习效率利器!_机器学习

哈喽,大家好,我是开源君,一个资深的互联网玩家,致力于为大家分享各领域优质开源项目。

今天给大家推荐的项目是 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 是一个数据和开发工作流框架,为数据管道实现最佳实践,着眼于机器学习模型的产品化。

其他各种实用的功能需要大家来探索,相信发现其中存在的价值。