Rust
6.62K subscribers
258 photos
28 videos
3 files
823 links
Rust programming language

По всем вопросам- @haarrp

@ai_machinelearning_big_data - машинное обучение

@programming_books_it - бесплатные it книги

@pythonl - 🐍

@ArtificialIntelligencedl - AI

@datascienceiot - ml 📚
Download Telegram
📢 Rust- Курсы по языку программирования Rust для новичков [5 часов]

Познакомьтесь с языком программирования Rust, который известен своей безопасностью, скоростью и эффективностью.

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

Бесплатное изучение курса

#Rust
Please open Telegram to view this post
VIEW IN TELEGRAM
👍123🔥1
Regex engine internals as a library. Part 1
https://habr.com/ru/articles/748362/
👍8
🖥 Universal-Android-Debloater

Интерфейс ADB для удаления, замораживания, отключения и переустановки системных приложений на Android.

Пакеты максимально подробно задокументированы, чтобы вы знали, что можно удалять, а что нет.


Github

@rust_code
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍3🔥21
Regex engine internals as a library. Part 2
https://habr.com/ru/articles/749124/
5😐2
Regex engine internals as a library. Part 3
https://habr.com/ru/articles/749730/
6🔥4
🔥 Blaze: ускорение ZK для программируемой пользователем вентильной матрицы

Что такое Blaze?
Это библиотека Rust с доступом к реализации Ingonyama примитивов MSM, NTT и Poseidon hash на ППВМ без лишних проблем и накладных расходов. С Blaze устраняются сложности чтения/записи/прошивки ППВМ.

Вы можете применять Blaze и с собственными программами ППВМ, определив свою конфигурацию и реализовав клиент.

Сейчас поддерживается карта ППВМ C1100/U55C от Xilinx.

https://nuancesprog.ru/p/18289/

@rust_code
👍7🔥2
🚀 Wez's Terminal

🟢 Это эмулятор терминала и мультиплексор, который написан на Rust и предназначен для работы на различных операционных системах, включая GNU/Linux, macOS, Windows и FreeBSD.

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

https://wezfurlong.org/wezterm/

@rust_code
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1332🔥2🤔2💩1
🦙 llama2.rs

Это реализация Llama2 (большой языковой модели) на языке Rust, которая работает довольно хорошо.

https://github.com/srush/llama2.rs

@rust_code
👍11🔥3🤯21👌1
⚡️Маст-хэв список для программистов, каналы с последними книжными новинками, библиотеками, разбором кода и актуальной информацией, связанной с вашим языком программирования.
Лучший способ получать свежие обновлении и следить за трендами в разработке.

Машинное обучение: t.me/ai_machinelearning_big_data
Python: t.me/pythonl
C#: t.me/csharp_ci
C/C++/ t.me/cpluspluc
Data Science: t.me/data_analysis_ml
Devops: t.me/devOPSitsec
Go: t.me/Golang_google
Базы данных: t.me/sqlhub
Rust: t.me/rust_code
Javascript: t.me/javascriptv
React: t.me/react_tg
PHP: t.me/phpshka
Android: t.me/android_its
Мобильная разработка: t.me/mobdevelop
Linux: t.me/+A8jY79rcyKJlYWY6
Big Data: t.me/bigdatai
Хакинг: t.me/linuxkalii
Тестирование: https://t.me/+F9jPLmMFqq1kNTMy
Java: t.me/javatg

💼 Папка с вакансиями: t.me/addlist/_zyy_jQ_QUsyM2Vi
Папка Go разработчика: t.me/addlist/MUtJEeJSxeY2YTFi
Папка Python разработчика: t.me/addlist/eEPya-HF6mkxMGIy

📕 Бесплатные Книги для программистов: https://t.me/addlist/YZ0EI8Ya4OJjYzEy

🎞 YouTube канал: https://www.youtube.com/@uproger

😆ИТ-Мемы: t.me/memes_prog

🇬🇧Английский: t.me/english_forprogrammers
Please open Telegram to view this post
VIEW IN TELEGRAM
👍93👎1🔥1🤔1
ZboxFS

ZboxFS — это файловая система, которая ориентирована на конфиденциальность и предназначенная для безопасного хранения файлов приложения.

ZboxFS инкапсулирует файлы и каталоги в зашифрованное хранилище, предоставляя виртуальную файловую систему и эксклюзивный доступ для авторизованных приложений.


Проект поддерживает различные базовые уровни хранения, включая память, файловую систему ОС, СУБД и хранилище объектов «ключ-значение».

ZboxFS написан на Rust и его можно использовать на GNU/Linux, macOS, Windows и Android.

Github
Документация

@rust_code
👍1721🔥1🥴1
Statistics with Rust: 50+ Statistical Techniques Put into Action

🤓 Скачать книгу

Делитесь книгой с коллегами и ставьте 👍

@rust_code
Please open Telegram to view this post
VIEW IN TELEGRAM
👍20🔥32👎2🤨2
👆 Рост производительности машинного обучения с Rust

Создадим с нуля небольшой фреймворк машинного обучения на Rust.

Цели
1. Выяснить, заметен ли рост скорости при переходе с Python и PyTorch на Rust и LibTorch, серверную библиотеку PyTorch на C++, особенно в процессе обучения модели. ML-модели становятся крупнее, для их обучения требуется больше вычислительных возможностей, для обычного человека порой нереальных. Один из способов уменьшить рост аппаратных требований — понять, как сделать алгоритмы вычислительно эффективнее. Python в PyTorch — это лишь слой поверх LibTorch. Вопрос в том, стоит ли менять его на Rust. Планировалось использовать крейт Tch-rs для доступа к тензорам и функционалу Autograd DLL-библиотеки LibTorch как «калькулятору градиентов», а затем разработать с нуля на Rust остальное.
2. Сделать код достаточно простым для четкого понимания всех вычислений линейной алгебры и с возможностью легко его расширить при необходимости.
3. Во фреймворке ML-модели должны определяться, насколько это возможно, по аналогичной структуре стандартных Python/PyTorch.
4. Поизучать Rust и не скучать.

Но статья посвящена скорее преимуществам применения Rust в машинном обучении.

Переходим сразу к конечному результату — вот как маленьким фреймворком создаются нейросетевые модели.

Листинг 1. Определение нейросетевой модели
struct MyModel {
l1: Linear,
l2: Linear,
}

impl MyModel {
fn new (mem: &mut Memory) -> MyModel {
let l1 = Linear::new(mem, 784, 128);
let l2 = Linear::new(mem, 128, 10);
Self {
l1: l1,
l2: l2,
}
}
}

impl Compute for MyModel {
fn forward (&self, mem: &Memory, input: &Tensor) -> Tensor {
let mut o = self.l1.forward(mem, input);
o = o.relu();
o = self.l2.forward(mem, &o);
o
}
}


Затем модель инстанцируется и обучается.

Листинг 2. Инстанцирование и обучение нейросетевой модели
fn main() {
let (x, y) = load_mnist();

let mut m = Memory::new();
let mymodel = MyModel::new(&mut m);
train(&mut m, &x, &y, &mymodel, 100, 128, cross_entropy, 0.3);
let out = mymodel.forward(&m, &x);
println!("Training Accuracy: {}", accuracy(&y, &out));
}


Для пользователей PyTorch это интуитивно понятная аналогия определения и обучения нейросети на Python. В примере выше показана модель нейросети, используемая затем для классификации. Модель применяется к набору данных Mnist тестов производительности для сравнения двух версий модели: Rust и Python.

В первом блоке кода создается структура MyModel с двумя слоями типа Linear.

Второй блок — ее реализация, где определяется ассоциированная функция new, которой инициализируются два слоя и возвращается новый экземпляр структуры.

В третьем блоке реализуется типаж Compute для MyModel, им определяется метод forward. Затем в функции main загружается набор данных Mnist, инициализируется память, инстанцируется MyModel, а после она обучается в течение 100 эпох с размером пакета 128, потерями перекрестной энтропии и скоростью обучения 0,3.

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

Если вы привыкли создавать ML-модели в PyTorch, то наверняка, глядя на код выше, зададитесь вопросом: «Зачем здесь ссылка на Memory?». Объясним ниже. 👇

Читать
Please open Telegram to view this post
VIEW IN TELEGRAM
👍134🔥2
С опозданием на 2 недели вышел Rust 1.71.1! Эта версия исправляет несколько небольших проблем и устраняет потенциальную проблему безопасности в Cargo.

https://blog.rust-lang.org/2023/08/03/Rust-1.71.1.html

@rust_code
👍15🔥21😁1
ytdlp-gui

Графический интерфейс для yt-dlp, написанный на Rust

Его можно легко установить в GNU/Linux и Windows системах


https://github.com/BKSalman/ytdlp-gui

@rust_code
👍13🔥21