Авторизоваться
Дмитрий Цирульников 6 дней назад Опубликована

8 лучших библиотек для машинного обучения на языке Go 

Go - популярный язык программирования с открытым исходным кодом, созданный исследователями Google. Язык включает множество интуитивно понятных функций, в том числе сборщик мусора, кроссплатформенность, эффективный параллелизм и другие.

Согласно опросу разработчиков Stack Overflow 2020, язык Go является не только пятым по популярности языком программирования, но и приносит программистам третье место по зарплате среди других языков. 

Ниже мы перечисляем самые популярные библиотеки машинного обучения на языке Go.

(Библиотеки перечислены в соответствии с количеством звезд на GitHub).

1 | GoLearn

Звезд: ~7.8k

GoLearn - одна из самых популярных библиотек на языке Go. Она также известна как библиотека машинного обучения «с батарейками». Она направлена на то, чтобы способствовать простоте в сочетании с возможностью настройки. Некоторые из его функций:

  • Библиотека включает вспомогательные функции для данных, такие как перекрестная проверка, train splitting, а также разделение тестов. 
  • Она похожа на популярную библиотеку Scikit-learn в Python, поскольку реализует интерфейс Scikit-learn Fit / Predict. 
  • В этой библиотеке есть практические примеры.

Узнайте больше здесь.

2 | Gorgonia

Звезды: ~4k

Gorgonia помогает полностью упростить машинное обучение на Go. Основная цель этой библиотеки - быть высокопроизводительным машинным обучением, а также библиотекой на основе вычислений графов, которая может масштабироваться на нескольких машинах. Она также является платформой для изучения нестандартного глубокого обучения, а также исследований, связанных с нейронными сетями. Она может выполнять такие процессы, как нео-хеббийское обучение, алгоритмы сокращения углов и другие. Некоторые из его функций:

  • Gorgonia может выполнять автоматическую дифференциацию, символическую дифференциацию, оптимизацию градиентного спуска и численную стабилизацию. 
  • Библиотека предоставляет множество удобных функций, помогающих создавать нейронные сети.
  • Она поддерживает вычисления CUDA и GPGPU.

Узнайте больше здесь.

3 | goml

Звезд: ~1.2k

О программе: goml - это библиотека машинного обучения, полностью написанная на языке Go, которая позволяет разработчикам включать машинное обучение в свои приложения. Библиотека состоит из различных моделей, которые помогают в обучении как в интерактивном, так и в реактивном режиме, передавая данные в потоки, хранящиеся на каналах. Некоторые из функций этой библиотеки включают в себя:

  • Комплексные тесты
  • Обширная документация
  • Модульный исходный код
  • Чистоту и выразительность.

Узнайте больше здесь.

4 | eaopt

Звезд: ~732

eaopt - это библиотека эволюционной оптимизации, написанная на языке Go. Это позволяет записывать большинство алгоритмов эволюционной оптимизации как частные случаи генетического алгоритма. Некоторые из его функций включают в себя:

  • В этой библиотеке доступны различные эволюционные алгоритмы с согласованным API.
  • С помощью структуры GA можно делать практически все.
  • Доступны процедуры видообразования и миграции.
  • Общие генетические операторы, включая мутацию, кроссовер, миграцию и другие, уже реализованы.
  • Это позволяет проводить параллельную оценку более дорогостоящих функций. 

Узнайте больше здесь.

5 | Evo

Звезд: ~107

Evo - это общий фреймворк для реализации эволюционных алгоритмов в Go. Фреймворк предоставляет чистый и гибкий API, ориентированный на два интерфейса - геном и популяция. Геномы представляют как оптимизируемую функцию, так и представление решений, в то время как популяции представляют архитектуру, в соответствии с которой развиваются геномы. Некоторые из его функций:

  • Чистый и гибкий API-ориентированный.
  • Библиотека может использоваться для написания модульных веб-приложений на Golang, предназначенных как для серверной части, так и для внешнего интерфейса.
  • Он модульный и расширяемый.
  • Это обеспечивает высокую производительность.

Узнайте больше здесь.

6 | goga

Звезд: ~106

Это решение на основе генетического алгоритма, написанное на Golang. Он используется и настраивается путем введения различных поведений в основной объект генетического алгоритма. Он состоит из трех компонентов - симулятора, селектора и матера.

Симулятор предоставляет функцию, которая принимает один геном и присваивает ему оценку пригодности. Объект селектора берет совокупность геномов и общую пригодность и возвращает геном из выбранной популяции. Напротив, материя принимает два генома от селектора и объединяет их, чтобы произвести два других. 

Узнайте больше здесь.

7 | gogl

Звезд: 72

gogl - это библиотека графов, написанная на языке Go. Эта библиотека направлена ​​на создание простых унифицирующих интерфейсов, включая реализации алгоритмов графов и структур данных, которые могут масштабироваться от небольших графов до огромных графов. Особенности этой библиотеки включают в себя:

  • Простота: в gogl есть полностью и правильно моделирующие концепции теории графов 
  • Производительность: Gogl имеет более быстрые конструктивные ограничения и позволяет использовать самые известные алгоритмы.
  • Функциональность: библиотека ориентирована на преобразования, функторы и потоки; добиться других стилей с помощью наслоения
  • Среди других функций - расширяемость, правильность и т.д.

Узнайте больше здесь.

8 | GoMind

Звезд: ~11

GoMind - это библиотека нейронной сети (NN), полностью написанная на Go. В настоящее время библиотека поддерживает только один скрытый слой и скоро будет поддерживать многоуровневый. В GoMind сеть учится на обучающем наборе с использованием алгоритма обратного распространения. Некоторые из его функций включают в себя:

  • GoMind поддерживает такие функции активации, как Sigmoid, ReLU, Leaky ReLU и другие.
  • Библиотека оценивает идеальное количество нейронов скрытого слоя для заданных размеров входа и выхода, если счет не задан во время конфигурации модели.
  • GoMind использует функцию среднего квадрата ошибки для вычисления ошибки при обратном распространении. 

Узнайте больше здесь.

Коментарии
Авторизоваться что-бы оставить комментарий
Присоединяйся в тусовку
Наш сайт использует файлы cookie для вашего максимального удобства. Пользуясь сайтом, вы даете свое согласие с условиями пользования cookie