媲美Python!Golang五大AI开源库悄然而至

banq

机器学习世界几乎一直是 Python 的游乐场。它拥有大量的库——TensorFlow、PyTorch、Scikit-learn 和其他库——可以说,它已经成为数据科学家和机器学习人员的默认选择。但是……如果有一种语言潜伏在暗处,可以做类似的事情,但性能要好得多,那会怎样?

这种语言可能就是 Go。

Go 的 ML 库概况:比较观察️
我们不必关注单个任务,而是看看一些关键的 Go 库以及它们是如何堆叠的:

  1. Gorgonia: ✨ 可以将 Gorgonia 视为 Go 版 TensorFlow 或 PyTorch,但重点是符号计算和微分。它非常适合从头开始构建复杂的神经网络。它提供较低级别的原语,让您拥有更多控制权,但与 Python 中的 Keras 相比,也需要更多的手动工作。它在您需要对模型架构和训练过程进行细粒度控制的情况下表现出色。
  2. GoLearn:  如果 Scikit-learn 是您在 Python 中的首选,那么 GoLearn 可能是您在 Go 中的入门选择。它是一个更通用的机器学习库,提供用于分类、回归、聚类和数据预处理的工具。它的设计易于使用和入门,类似于 Scikit-learn 的理念。对于不一定需要深度学习的任务来说,这是一个不错的选择。
  3. GoMind:  GoMind 专注于神经网络,其目标是简单易用。如果您想要一种直接的方式来创建和训练神经网络,而又不必深入研究 Gorgonia 等库的复杂性,那么这是一个不错的选择。您可以将其视为一种更用户友好但可能不太灵活的替代方案。
  4. GoCV: ️ 是的,我们提到了它,但要结合上下文!GoCV 为 OpenCV 提供绑定。虽然它专注于计算机视觉,但重要的是要记住,计算机视觉通常与机器学习相交叉(想想物体检测、图像分类)。因此,虽然它不是一个通用的 ML 库,但如果您的工作涉及图像或视频,它就是拼图中的关键一块。
  5. gonum/mat(来自 Gonum): ➕严格来说,这不是一个“ML”库,但 Gonum 的mat软件包必不可少。它提供矩阵运算,这是几乎所有机器学习算法的基础。它是 Go 版的 NumPy。如果没有高效的矩阵运算,你就无法在 ML 中做很多事情。