Найти в Дзене
Как использовать &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...
1 месяц назад
Валидация 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:...
1 месяц назад
Использование мутабельного слайса вместо вектора в Rust для ML
Любое программное решение ограничено количеством памяти и CPU. Вектор позволяет хранить неограниченное количество информации, создавая тем самым угрозу работоспособности ПО. При этом рассчитать объем хранимой информации в векторе невозможно, по причине: Мутабельный слайс (&mut [T]) — это всего лишь "вид" на уже существующие данные. Он не выделяет память самостоятельно, а только заимствует её у другой структуры (вектора, массива и т.д.). Сам объект слайса занимает на стеке фиксированный объём —...
1 месяц назад
GraphQL pipeline на Rust
Создать фреймворк для построения асинхронных конвейеров обработки данных с поддержкой параллельных вычислений, состоящие из независимых узлов (nodes), которые обмениваются данными через асинхронные каналы. Каждый узел выполняет специфическую задачу и может работать параллельно с другими узлами. [Node A] --(channel)--> [Node B] --(channel)--> [Node C] Каждый узел: pub enum Data { FilePath(PathBuf), // Путь к файлу FileHash(PathBuf, String), // Путь и хеш файла } pub enum NodeError...
2 месяца назад
Анализ сетевого трафика на Rust ML
Научиться использованию рекуррентных нейронных сетей (RNN) и LSTM для обнаружения аномалий с использованием ML. Написать анализатор последовательностей сетевых пакетов для выявления низкочастотных атак в HTTP-трафике. RNN — это тип нейронной сети, который специализируется на работе с последовательностями данных, где порядок важен. Например, текст, речь, временные ряды (например, курсы валют или сетевой трафик). Пример: Представьте, что вы читаете книгу. Чтобы понять смысл предложения, вам нужно помнить, что было написано раньше...
2 месяца назад
Если нравится — подпишитесь
Так вы не пропустите новые публикации этого канала