uk
Feedback
Rust

Rust

Відкрити в Telegram

Rust programming language По всем вопросам- @workakkk #VRHSZ

Показати більше
8 453
Підписники
-424 години
+187 днів
+29830 день
Архів дописів
Rust
8 454
Разрабатываем свою ORM библиотеку на Rust: Оптимизация и Простота https://habr.com/ru/articles/757070/

Rust
8 454
Как легко перейти с Java на Rust: Особенности и советы https://habr.com/ru/articles/756984/

Rust
8 454

Rust
8 454
Тимлид про «чекбоксики» на собеседованиях, тонкости управления Rust-командой и мотивацию сотрудников https://habr.com/ru/companies/kryptonite/articles/756174/

Rust
8 454
Мне 15 лет и я написал QR код генератор на Rust https://habr.com/ru/articles/756482/

Rust
8 454
Работа с JSON в Rust. Методичка https://habr.com/ru/companies/T1Holding/articles/746860/

Rust
8 454
Smart-contract developer Road Map https://habr.com/ru/articles/756542/

Rust
8 454
👣 haileys/bark потоковое аудио с синхронизацией в реальном времени для локальных сетей на Rust. https://github.com/haileys/bark @rust_code

Rust
8 454
Как я написал JVM на Rust https://habr.com/ru/companies/otus/articles/755946/

Rust
8 454
Regex engine internals as a library [full] https://habr.com/ru/articles/755940/

Rust
8 454
Туториал: Todo веб-приложение на Internet Computer используя Rust и Create React App https://habr.com/ru/articles/755690/

Rust
8 454
Опыт написания библиотеки управления акторами на Rust https://habr.com/ru/articles/755704/

Rust
8 454
Просто спарсь что угодно с помощью языка Rust (ну… или просто скачай файл) https://habr.com/ru/articles/755728/

Rust
8 454
⚡Легкий способ получать свежие обновлении и следить за трендами в разработке на вашем языке. Находите свой стек и подписывайтесь: Машинное обучение: @ai_machinelearning_big_data Go: @Golang_google C#: @csharp_ci Базы данных: @sqlhub Python: @python_job_interview C/C++/: @cpluspluc Data Science: @data_analysis_ml Devops: @devOPSitsec Rust: @rust_code Javascript: @javascriptv React: @react_tg PHP: @phpshka Docker: @docker Android: @android_its Мобильная разработка: @mobdevelop Linux: linuxacademy Big Data: t.me/bigdatai Хакинг: @linuxkalii Java:@javatg Собеседования: @machinelearning_interview 💼 Папка с вакансиями: t.me/addlist/_zyy_jQ_QUsyM2Vi Папка Go разработчика: t.me/addlist/MUtJEeJSxeY2YTFi Папка Python разработчика: t.me/addlist/eEPya-HF6mkxMGIy 🔥ИТ-Мемы: t.me/memes_prog 🇬🇧Английский: @english_forprogrammers 📕Ит-книги https://t.me/addlist/BkskQciUW_FhNjEy

Rust
8 454
ytdlp-gui Графический интерфейс для yt-dlp, написанный на Rust Его можно легко установить в GNU/Linux и Windows системах https://github.com/BKSalman/ytdlp-gui

Rust
8 454
С опозданием на 2 недели вышел Rust 1.71.1! Эта версия исправляет несколько небольших проблем и устраняет потенциальную проблему безопасности в Cargo. https://blog.rust-lang.org/2023/08/03/Rust-1.71.1.html @rust_code

Rust
8 454
👆 Рост производительности машинного обучения с 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?». Объясним ниже. 👇 Читать

Rust
8 454
Реализуем Type Inference на Rust — Часть #2: Простой Lambda Calculus https://habr.com/ru/articles/753180/