Rust для машинного обучения - библиотека

Материал из support.qbpro.ru

ВВЕДЕНИЕ

Эта статья содержит список библиотек машинного обучения, написанных на Rust.
Представляет собой сборник репозитариев GitHub, блогов, книг, уроков, форумов, статей.
Статья разбита на несколько основных категорий библиотек и алгоритмов. В статье нет библиотек,
которые больше не поддерживаются, а так же почти нет небольших библиотек, которые давно не обновлялись.

ЛИНЕЙНАЯ АЛГЕБРА

  • Большинство пакетов в списке используют ndarray или std::vec.

ИНСТРУМЕНТЫ ПОДДЕРЖКИ

  • Jupyter Notebook
  • evcxr может обрабатывать как Jupyter Kernel или REPL.

Эти библиотеки нужны для обучения алгоритмов и проверки гипотез машинного обучения.

РАБОТА С ВИЗУАЛИЗАЦИЕЙ

  • Список полезных ресурсов для визуализации данных.


  • ASCII line graph:


  • Примеры:


  • Дата-фреймы:

ОБРАБОТКА ИЗОБРАЖЕНИЙ

  • Для обработка изображений вам стоит попробовать библиотеку image-rs.

Здесь приведены такие алгоритмы, как линейные преобразования, подобное есть и в других библиотеках.

ОБРАБОТКА ЕСТЕСТВЕННОГО ЯЗЫКА ИЛИ ПРЕДВАРИТЕЛЬНАЯ ОБРАБОТКА

ГРАФЫ

AutoML

РАБОЧИЕ ПОТОКИ

ВЫЧИСЛЕНИЯ НА GPU С ПОМОЩЬЮ RUST

SKLEARN И ПОДОБНЫЕ БИБЛИОТЕКИ

  • Библиотеки поддерживают следующие алгоритмы:
Linear Regression
Logistic Regression
K-Means Clustering
Neural Networks
Gaussian Process Regression
Support Vector Machines
kGaussian Mixture Models
Naive Bayes Classifiers
DBSCAN
k-Nearest Neighbor Classifiers
Principal Component Analysis
Decision Tree
Support Vector Machines
Naive Bayes
Elastic Net

СТАТИСТИКА

ГРАДИЕНТНЫЙ БУСТИНГ(Gradient Boosting)

НЕЙРОННЫЕ СЕТИ

  • Tensorflow и PyTorch являются наиболее распространенными библиотеками для построения нейронных сетей.

ГРАФОВЫЕ МОДЕЛИ

НЕЙРОЛИНГВИСТИЧЕСКОЕ ПРОГРАММИРОВАНИЕ

РЕКОМЕНДАТЕЛЬНЫЕ СИСТЕМЫ

РАБОТА С ТЕКСТОМ

АЛГОРИТМЫ ПОИСКА БЛИЖАЙШИХ СОСЕДЕЙ

ОБУЧЕНИЕ С ПОДКРЕПЛЕНИЕМ

ОБУЧЕНИЕ С УЧИТЕЛЕМ

ОБУЧЕНИЕ БЕЗ УЧИТЕЛЯ

СТАТИСТИЧЕСКИЕ МОДЕЛИ

ЭВОЛЮЦИОННЫЕ АЛГОРИТМЫ

ДРУГИЕ ПРОЕКТЫ

БЛОГИ

ОБУЧЕНИЕ

ПРИКЛАДНЫЕ РЕСУРСЫ

Форумы

Natural Language Processing in Rust : rust, 2016/12/6 Future prospect of Machine Learning in Rust Programming Language : MachineLearning, 2017/11/11 Interest for NLP in Rust? - The Rust Programming Language Forum, 2018/1/19 Is Rust good for deep learning and artificial intelligence? - The Rust Programming Language Forum, 2018/11/18 ndarray vs nalgebra : rust, 2019/5/28 Taking ML to production with Rust | Hacker News, 2019/12/2 Who is using Rust for Machine learning in production/research? : rust, 2020/4/5 Deep Learning in Rust, 2020/8/26 SmartCore, fast and comprehensive machine learning library for Rust! : rust, 2020/9/29 Deep Learning in Rust with GPU on ONNX, 2021/7/31 Rust vs. C++ the main differences between these popular programming languages, 2021/8/25 I wanted to share my experience of Rust as a deep learning researcher, 2021/9/2 How far along is the ML ecosystem with Rust?, 2021/9/15

КНИГИ

-- 2019/12/10, Joydeep BhattacharjeeWrite machine learning algorithms in Rust
- Use Rust libraries for different tasks in machine learning
- Create concise Rust packages for your machine learning applications
- Implement NLP and computer vision in Rust
- Deploy your code in the cloud and on bare metal servers

--

-- 2021/9/3, Shahin RostamiPlotting with Plotters and Plotly
- Operations with ndarray
- Descriptive Statistics
- Interactive Diagram
- Visualisation of Co-occurring Types
- download source code and dataset

Видео уроки

The /r/playrust Classifier: Real World Rust Data Science, RustConf 2016, 2016/10/05, Suchin Gururangan & Colin O'Brien Building AI Units in Rust, FOSSASIA 2018, 2018/3/25, Vigneshwer Dhinakaran Python vs Rust for Simulation, EuroPython 2019, 2019/7/10, Alisa Dammer Machine Learning is changing - is Rust the right tool for the job?, RustLab 2019, 2019/10/31, Luca Palmieri Using TensorFlow in Embedded Rust, 2020/09/29, Ferrous Systems GmbH, Richard Meadows Writing the Fastest GBDT Library in Rust, 2021/09/16, RustConf 2021, Isabella Tromba

Подкасты

DATA SCIENCE AT HOMERust and machine learning #1 (Ep. 107) Rust and machine learning #2 with Luca Palmieri (Ep. 108) Rust and machine learning #3 with Alec Mocatta (Ep. 109) Rust and machine learning #4: practical tools (Ep. 110) Machine Learning in Rust: Amadeus with Alec Mocatta (Ep. 127) Rust and deep learning with Daniel McKenna (Ep. 135) Is Rust flexible enough for a flexible data model? (Ep. 137) Pandas vs Rust (Ep. 144) Apache Arrow, Ballista and Big Data in Rust with Andy Grove (Ep. 145) Polars: the fastest dataframe crate in Rust (Ep. 146) Apache Arrow, Ballista and Big Data in Rust with Andy Grove RB (Ep. 160)

ИСТОЧНИКИ