2.7Kпросмотров
5 октября 2025 г.
📷 ФотоScore: 2.9K
Вчера пытался завести модель по определению спама из нашего Python бота на 🦀 Rust. Мучался час с крейтом Candle. В итоге свичнулся на rust_bert. Архитектура модели — DebertaForSequenceClassification. Кто бы мог подумать, но в коде прямо так и пишем: use rust_bert::deberta::{DebertaConfig, DebertaForSequenceClassification}; Спрашивал у нейронки, она мне советовала сохранять модель в .ot формате. Хрен там плавал, Rust прекрасно работает с .safetensors. Единственное пришлось править config.json. А именно добавить поле id2label и убрать какое-то, у которого было значение null. Но в итоге оно не компилировалось. А всё потому что есть два разных токенайзера: rust_tokenizers и новый HF tokenizers. И если вы ставите второй от HF, то он конфликтует с линкером MSVC. Точнее конфликтует метод сборки каких-то модулей libtorch, если я верно понял. Короче говоря ставим его вот так: tokenizers = { version = "0.22.1", default-features = false, features = ["onig"] } Иначе код тупо не компилится. С чем это связано я так и не понял. Что-то там со статическими/динамически скомпилированными библиотеками, и что линковщик отказывается их совмещать. Иш, какой придирчивый ... Крч заработало в итоге. Нейросеть теперь отлично работает под 🦀 Rust :]
2.7K
просмотров
1249
символов
Да
эмодзи
Да
медиа

Другие посты @xorust

Все посты канала →