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

Материал из support.qbpro.ru
 
(не показано 6 промежуточных версий этого же участника)
Строка 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>


==Форумы==
==ФОРУМЫ==
Natural Language Processing in Rust : rust, 2016/12/6
* [https://www.reddit.com/r/rust/comments/5jj8vr/natural_language_processing_in_rust Natural Language Processing in Rust : rust, 2016/12/6]<br>
Future prospect of Machine Learning in Rust Programming Language : MachineLearning, 2017/11/11
* [https://www.reddit.com/r/MachineLearning/comments/7iz51p/d_future_prospect_of_machine_learning_in_rust/ Future prospect of Machine Learning in Rust Programming Language : MachineLearning, 2017/11/11]<br>
Interest for NLP in Rust? - The Rust Programming Language Forum, 2018/1/19
* [https://users.rust-lang.org/t/interest-for-nlp-in-rust/15331 Interest for NLP in Rust? - The Rust Programming Language Forum, 2018/1/19]<br>
Is Rust good for deep learning and artificial intelligence? - The Rust Programming Language Forum, 2018/11/18
* [https://users.rust-lang.org/t/is-rust-good-for-deep-learning-and-artificial-intelligence/22866 Is Rust good for deep learning and artificial intelligence? - The Rust Programming Language Forum, 2018/11/18]<br>
ndarray vs nalgebra : rust, 2019/5/28
* [https://www.reddit.com/r/rust/comments/btn1cz/ndarray_vs_nalgebra/ ndarray vs nalgebra : rust, 2019/5/28]<br>
Taking ML to production with Rust | Hacker News, 2019/12/2
* [https://news.ycombinator.com/item?id=21680965 Taking ML to production with Rust | Hacker News, 2019/12/2]<br>
Who is using Rust for Machine learning in production/research? : rust, 2020/4/5
* [https://www.reddit.com/r/rust/comments/fvehyq/d_who_is_using_rust_for_machine_learning_in/ Who is using Rust for Machine learning in production/research? : rust, 2020/4/5]<br>
Deep Learning in Rust, 2020/8/26
* [https://www.reddit.com/r/rust/comments/igz8iv/deep_learning_in_rust/ Deep Learning in Rust, 2020/8/26]<br>
SmartCore, fast and comprehensive machine learning library for Rust! : rust, 2020/9/29
* [https://www.reddit.com/r/rust/comments/j1mj1g/smartcore_fast_and_comprehensive_machine_learning/ SmartCore, fast and comprehensive machine learning library for Rust! : rust, 2020/9/29]<br>
Deep Learning in Rust with GPU on ONNX, 2021/7/31
* [https://www.reddit.com/r/MachineLearning/comments/ouul33/d_p_deep_learning_in_rust_with_gpu_on_onnx/ Deep Learning in Rust with GPU on ONNX, 2021/7/31]<br>
Rust vs. C++ the main differences between these popular programming languages, 2021/8/25
* [https://codilime.com/blog/rust-vs-cpp-the-main-differences-between-these-popular-programming-languages/ Rust vs. C++ the main differences between these popular programming languages, 2021/8/25]<br>
I wanted to share my experience of Rust as a deep learning researcher, 2021/9/2
* [https://www.reddit.com/r/rust/comments/pft9n9/i_wanted_to_share_my_experience_of_rust_as_a_deep/ I wanted to share my experience of Rust as a deep learning researcher, 2021/9/2]<br>
How far along is the ML ecosystem with Rust?, 2021/9/15
* [https://www.reddit.com/r/rust/comments/poglgg/how_far_along_is_the_ml_ecosystem_with_rust/ How far along is the ML ecosystem with Rust?, 2021/9/15]<br>


==КНИГИ==
==КНИГИ==
* [https://amzn.to/3h7JV8U Practical Machine Learning with Rust: Creating Intelligent Applications in Rust (English Edition)]<br>
* [https://amzn.to/3h7JV8U '''Practical Machine Learning with Rust: Creating Intelligent Applications in Rust (English Edition)''']<br>
-- 2019/12/10, Joydeep BhattacharjeeWrite machine learning algorithms in Rust<br>
-- 2019/12/10, Joydeep BhattacharjeeWrite machine learning algorithms in Rust<br>
- Use Rust libraries for different tasks in machine learning<br>
- Use Rust libraries for different tasks in machine learning<br>
Строка 407: Строка 407:
- Deploy your code in the cloud and on bare metal servers<br>
- Deploy your code in the cloud and on bare metal servers<br>
* [https://github.com/Apress/practical-machine-learning-w-rust source code for this Book]<br>
* [https://github.com/Apress/practical-machine-learning-w-rust source code for this Book]<br>
*#
--
* [https://datacrayon.com/shop/product/data-analysis-with-rust-notebooks/ DATA ANALYSIS WITH RUST NOTEBOOKS]<br>
* [https://datacrayon.com/shop/product/data-analysis-with-rust-notebooks/ '''DATA ANALYSIS WITH RUST NOTEBOOKS''']<br>
-- 2021/9/3, Shahin RostamiPlotting with Plotters and Plotly<br>
-- 2021/9/3, Shahin RostamiPlotting with Plotters and Plotly<br>
- Operations with ndarray<br>
- Operations with ndarray<br>
Строка 417: Строка 417:
* [https://datacrayon.com/posts/programming/rust-notebooks/preface/ Full text book]<br>
* [https://datacrayon.com/posts/programming/rust-notebooks/preface/ Full text book]<br>


==Видео уроки==
==ВИДЕО УРОКИ==
The /r/playrust Classifier: Real World Rust Data Science, RustConf 2016, 2016/10/05, Suchin Gururangan & Colin O'Brien
* [https://www.youtube.com/watch?v=lY10kTcM8ek The /r/playrust Classifier: Real World Rust Data Science, RustConf 2016, 2016/10/05, Suchin Gururangan & Colin O'Brien]<br>
Building AI Units in Rust, FOSSASIA 2018, 2018/3/25, Vigneshwer Dhinakaran
* [https://www.youtube.com/watch?v=UHFlKAmANJg Building AI Units in Rust, FOSSASIA 2018, 2018/3/25, Vigneshwer Dhinakaran]<br>
Python vs Rust for Simulation, EuroPython 2019, 2019/7/10, Alisa Dammer
* [https://www.youtube.com/watch?v=kytvDxxedWY Python vs Rust for Simulation, EuroPython 2019, 2019/7/10, Alisa Dammer]<br>
Machine Learning is changing - is Rust the right tool for the job?, RustLab 2019, 2019/10/31, Luca Palmieri
* [https://www.youtube.com/watch?v=odI_LY8AIqo Machine Learning is changing - is Rust the right tool for the job?, RustLab 2019, 2019/10/31, Luca Palmieri]<br>
Using TensorFlow in Embedded Rust, 2020/09/29, Ferrous Systems GmbH, Richard Meadows
* [https://www.youtube.com/watch?v=DUVE86yTfKU Using TensorFlow in Embedded Rust, 2020/09/29, Ferrous Systems GmbH, Richard Meadows]<br>
Writing the Fastest GBDT Library in Rust, 2021/09/16, RustConf 2021, Isabella Tromba
* [https://www.youtube.com/watch?v=D1NAREuicNs Writing the Fastest GBDT Library in Rust, 2021/09/16, RustConf 2021, Isabella Tromba]<br>


==Подкасты==
==Подкасты==
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)
DATA SCIENCE AT HOME:
* [https://datascienceathome.com/rust-and-machine-learning-1-ep-107/ Rust and machine learning #1 (Ep. 107)]<br>
* [https://datascienceathome.com/rust-and-machine-learning-2-with-luca-palmieri-ep-108/ Rust and machine learning #2 with Luca Palmieri (Ep. 108)]<br>
* [https://datascienceathome.com/rust-and-machine-learning-3-with-alec-mocatta-ep-109/ Rust and machine learning #3 with Alec Mocatta (Ep. 109)]<br>
* [https://datascienceathome.com/rust-and-machine-learning-4-practical-tools-ep-110/ Rust and machine learning #4: practical tools (Ep. 110)]<br>
* [https://datascienceathome.com/machine-learning-in-rust-amadeus-with-alec-mocatta-rb-ep-127/  Machine Learning in Rust: Amadeus with Alec Mocatta (Ep. 127)]<br>
* [https://datascienceathome.com/rust-and-deep-learning/ Rust and deep learning with Daniel McKenna (Ep. 135)]<br>
* [https://datascienceathome.com/is-rust-flexible-enough-for-a-flexible-data-model-ep-137/ Is Rust flexible enough for a flexible data model? (Ep. 137)]<br>
* [https://datascienceathome.com/pandas-vs-rust-ep-144/ Pandas vs Rust (Ep. 144)]<br>
* [https://datascienceathome.com/apache-arrow-ballista-and-big-data-in-rust-with-andy-grove-ep-145/ Apache Arrow, Ballista and Big Data in Rust with Andy Grove (Ep. 145)]<br>
* [https://datascienceathome.com/polars-the-fastest-dataframe-crate-in-rust-ep-146/ Polars: the fastest dataframe crate in Rust (Ep. 146)]<br>
* [https://datascienceathome.com/apache-arrow-ballista-and-big-data-in-rust-with-andy-grove-rb-ep-160/ Apache Arrow, Ballista and Big Data in Rust with Andy Grove RB (Ep. 160)]<br>


==ИСТОЧНИКИ==
==ИСТОЧНИКИ==
* [https://dzen.ru/a/YnY7nBxvdEJtsFTu Огромный респект Автору]
* [https://dzen.ru/a/YnY7nBxvdEJtsFTu Огромный респект Автору]

Текущая версия от 19:34, 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 являются наиболее распространенными библиотеками для построения нейронных сетей.

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

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

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

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

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

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

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

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

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

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

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

БЛОГИ

ОБУЧЕНИЕ

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

ФОРУМЫ

КНИГИ

-- 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

ВИДЕО УРОКИ

Подкасты

DATA SCIENCE AT HOME:

ИСТОЧНИКИ