Найти в Дзене
ML атомики
Атомарные операции — это неделимые инструкции (например, atomicAdd, atomicCAS, compare-and-swap), которые обеспечивают безопасный доступ к общей памяти в многопоточных или параллельных средах без использования блокировок (locks). В ML они особенно полезны для ускорения обучения на CPU/GPU и в распределённых системах, где возникают race conditions. Атомарные операции не универсальны: они медленнее обычных инструкций из-за сериализации, поэтому применяются только там, где нужны (sparse updates или high contention)...
2 дня назад
Cow (Clone-on-Write) для ML
Cow (Clone-on-Write) - тип, который позволяет переиспользовать данные без копирования, пока это возможно. ML-проекты работают с большими объёмами данных, где лишние аллокации и копии сильно бьют по производительности (особенно на inference). Cow даёт «бесплатную» оптимизацию: пишешь код так, будто у тебя всегда owned-данные, а Rust копирует только когда действительно нужно изменить. Это делает код проще и быстрее, чем ручное ветвление на &str vs String или &[T] vs Vec. Принимаем входной текст как...
1 неделю назад
Автоматический поиск зеркал с ML
Создать сервис для автоматического подбора зеркала crates.io обладающий следующими свойствами: Существует две реализации: TomlConfigWriter модифицирует ~/.cargo/config.toml Программа принимает параметры:...
3 недели назад
Как использовать &self, &mut self, self и mut self — в ML
Повысить производительность в машинном обучении: &self и &mut self позволяют работать с одними и теми же данными в памяти (например, в GPU через CUDA), просто передавая ссылки на них. Повысить безопасность: &mut self — гарантирует, что в любой момент времени только один поток может изменять данные, что полностью исключает ошибки многопоточности. Так же &mut self предотвращает одновременные мутации при многопоточном обучении. 1. &self: Неизменяемое заимствование "Посмотреть, но не трогать" (Неизменяемое заимствование) use ndarray::{array, Axis}; let array = array![[1...
2 месяца назад
Валидация json с Rust ML
🎯 https://github.com/nicktretyakov/json_validate Чтение данных → Извлечение признаков → Нормализация → Обучение моделей → Валидация → Обнаружение аномалий struct ComplexData { id: u64, name: String, features: Vec<f64>, // Основные числовые признаки labels: Option<Vec<String>>, // Метки (могут отсутствовать) nested: HashMap<String, NestedData>, // Вложенные данные timestamp: String, } struct NestedData { value: f64, // Числовое значение category:...
2 месяца назад
Если нравится — подпишитесь
Так вы не пропустите новые публикации этого канала