Rust для машинного обучения - библиотека: различия между версиями

Материал из support.qbpro.ru
Строка 363: Строка 363:
* [http://cmoran.xyz/writing/adventures_in_photogrammetry Adventures in Drone Photogrammetry Using Rust and Machine Learning (Image Segmentation with linfa and DBSCAN), 2021/11/14, CHRISTOPHER MORAN]<br>
* [http://cmoran.xyz/writing/adventures_in_photogrammetry Adventures in Drone Photogrammetry Using Rust and Machine Learning (Image Segmentation with linfa and DBSCAN), 2021/11/14, CHRISTOPHER MORAN]<br>


==Прикладные ресурсы==
==ПРИКЛАДНЫЕ РЕСУРСЫ==
Deep Learning in Rust: baby steps, Medium, 2016/2/2, Theodore DeRego
* [https://medium.com/@tedsta/deep-learning-in-rust-7e228107cccc Deep Learning in Rust: baby steps, Medium, 2016/2/2, Theodore DeRego]<br>
A Rust SentencePiece implementation, Rust NLP tales, 2020/5/30
* [https://guillaume-be.github.io/2020-05-30/sentence_piece A Rust SentencePiece implementation, Rust NLP tales, 2020/5/30]<br>
Accelerating text generation with Rust, Rust NLP tales, 2020/11/21
* [https://guillaume-be.github.io/2020-11-21/generation_benchmarks Accelerating text generation with Rust, Rust NLP tales, 2020/11/21]<br>
A Simple Text Summarizer written in Rust, Towards Data Science, 2020/11/24, Charles Chan, Examples of Text Sentence Vector, Cosine Distance and PageRank
* [https://towardsdatascience.com/a-simple-text-summarizer-written-in-rust-4df05f9327a5 A Simple Text Summarizer written in Rust, Towards Data Science, 2020/11/24,Examples of Text Sentence Vector, Cosine Distance and PageRank] (c)[https://chancharles.medium.com/ Charles Chan]<br>
Extracting deep learning image embeddings in Rust, RecoAI, 2021/6/1, Paweł Jankiewic, Examples of ONNX
* [https://logicai.io/blog/extracting-image-embeddings/ Extracting deep learning image embeddings in Rust, RecoAI, 2021/6/1, Paweł Jankiewic, Examples of ONNX]<br>
Deep Learning in Rust with GPU, 2021/7/30, Xavier Tao
* [https://able.bio/haixuanTao/deep-learning-in-rust-with-gpu--26c53a7f Deep Learning in Rust with GPU, 2021/7/30, Xavier Tao]<br>
tch-rs pretrain example - Docker for PyTorch rust bindings tch-rs. Example of pretrain model, 2021/8/15, vaaaaanquish
* [https://github.com/vaaaaanquish/tch-rs-pretrain-example-docker tch-rs pretrain example - Docker for PyTorch rust bindings tch-rs. Example of pretrain model, 2021/8/15, vaaaaanquish]<br>
Rust ANN search Example - Image search example by approximate nearest-neighbor library In Rust, 2021/8/15, vaaaaanquish
* [https://github.com/vaaaaanquish/rust-ann-search-example Rust ANN search Example - Image search example by approximate nearest-neighbor library In Rust, 2021/8/15, vaaaaanquish]<br>
dzamkov/deep-learning-test - Implementing deep learning in Rust using just a linear algebra library (nalgebra), 2021/8/30, dzamkov
* [https://github.com/dzamkov/deep-learning-test dzamkov/deep-learning-test - Implementing deep learning in Rust using just a linear algebra library (nalgebra), 2021/8/30, dzamkov]<br>
vaaaaanquish/rust-machine-learning-api-example - The axum example that uses resnet224 to infer images received in base64 and returns the results., 2021/9/7, vaaaaanquish
* [https://github.com/vaaaaanquish/rust-machine-learning-api-example vaaaaanquish/rust-machine-learning-api-example - The axum example that uses resnet224 to infer images received in base64 and returns the results., 2021/9/7, vaaaaanquish]<br>
Rust for Machine Learning: Benchmarking Performance in One-shot - A Rust implementation of Siamese Neural Networks for One-shot Image Recognition for benchmarking performance and results, UofT Machine Intelligence Student Team
* [https://utmist.gitlab.io/projects/rust-ml-oneshot/ Rust for Machine Learning: Benchmarking Performance in One-shot - A Rust implementation of Siamese Neural Networks for One-shot Image Recognition for benchmarking performance and results, UofT Machine Intelligence Student Team]<br>
Why Wallaroo Moved From Pony To Rust, 2021/8/19, Wallaroo.ai
* [https://wallarooai.medium.com/why-wallaroo-moved-from-pony-to-rust-292e7339fc34 Why Wallaroo Moved From Pony To Rust, 2021/8/19, Wallaroo.ai]<br>
epwalsh/rust-dl-webserver - Example of serving deep learning models in Rust with batched prediction, 2021/11/16, epwalsh
* [https://github.com/epwalsh/rust-dl-webserver epwalsh/rust-dl-webserver - Example of serving deep learning models in Rust with batched prediction, 2021/11/16, epwalsh]<br>
Production users - Rust Programming Language, by rust-lang.org
* [https://www.rust-lang.org/production/users Production users - Rust Programming Language, by rust-lang.org]<br>
Taking ML to production with Rust: a 25x speedup, A LEARNING JOURNAL, 2019/12/1, @algo_luca
* [https://www.lpalmieri.com/posts/2019-12-01-taking-ml-to-production-with-rust-a-25x-speedup/ Taking ML to production with Rust: a 25x speedup, A LEARNING JOURNAL, 2019/12/1] (c) [https://twitter.com/algo_luca @algo_luca]<br>
9 Companies That Use Rust in Production, serokell, 2020/11/18, Gints Dreimanis
* [https://serokell.io/blog/rust-companies 9 Companies That Use Rust in Production, serokell, 2020/11/18, Gints Dreimanis]<br>
Masked Language Model on Wasm, BERT on flontend examples, optim-corp/masked-lm-wasm, 2021/8/27, Optim
* [https://github.com/optim-corp/masked-lm-wasm/ Masked Language Model on Wasm, BERT on flontend examples, optim-corp/masked-lm-wasm, 2021/8/27, Optim]<br>
Serving TensorFlow with Actix-Web, kykosic/actix-tensorflow-example
* [https://github.com/kykosic/actix-tensorflow-example Serving TensorFlow with Actix-Web, kykosic/actix-tensorflow-example]<br>
Serving PyTorch with Actix-Web, kykosic/actix-pytorch-example
* [https://github.com/kykosic/actix-pytorch-example Serving PyTorch with Actix-Web, kykosic/actix-pytorch-example]<br>


==Форумы==
==Форумы==

Версия от 09:08, 23 мая 2023

ВВЕДЕНИЕ

Эта статья содержит список библиотек машинного обучения, написанных на 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)

ИСТОЧНИКИ