Repolode
LaurentMazare

LaurentMazare/tch-rs

Rust-привязки к C++ API PyTorch (libtorch), позволяющие создавать, обучать и запускать модели глубокого обучения на Rust.

Звёзды
5,516
Форки
463
Открытые issues
276
Последний коммит
3 месяца назад

Что это?

tch-rs предоставляет crate `tch` — набор тонких обёрток над C++ API PyTorch (libtorch). Он близок к исходному интерфейсу C++, поэтому из Rust можно вызывать операции с тензорами, автоматическое дифференцирование и модули нейронных сетей. Поверх него можно создавать более идиоматичные API для Rust.

Crate поддерживает создание тензоров и арифметические операции, обучение на основе градиентов через VarStore и оптимизаторы, такие как SGD и Adam, а также загрузку моделей TorchScript JIT. В него также входят утилиты для работы с компьютерным зрением: загрузка MNIST, предобработка ImageNet и предварительно обученные модели ResNet и VGG. Кроме того, можно импортировать веса, экспортированные из PyTorch в формате safetensors.

Для работы crate требуется libtorch v2.13.0. Его можно получить из системной установки, скачать вручную, использовать из локальной установки PyTorch для Python или загрузить автоматически с помощью feature download-libtorch. Также поддерживается статическая линковка.

Ключевые возможности

  • 01Тонкие обёртки над C++ API libtorch с типом тензора и распространёнными операциями над тензорами.
  • 02Автоматическое дифференцирование и оптимизаторы, такие как SGD и Adam, через VarStore.
  • 03Загрузка моделей TorchScript JIT и импорт весов PyTorch в формате safetensors.
  • 04Утилиты для работы с компьютерным зрением: загрузка MNIST, предобработка ImageNet и предварительно обученные модели ResNet и VGG.
  • 05Варианты сборки с системной установкой libtorch, ручной установкой, PyTorch для Python или автоматической загрузкой.

Сценарии использования

  • Создание и обучение моделей глубокого обучения на Rust с использованием ядер PyTorch.
  • Запуск инференса с предварительно обученными моделями для компьютерного зрения или моделями TorchScript в сервисах на Rust.
  • Перенос кода моделей PyTorch на Rust с сохранением той же backend-платформы libtorch.
  • Создание высокоуровневых библиотек машинного обучения для Rust на основе libtorch.

Быстрый старт

  1. 1

    Установите libtorch v2.13.0 (в систему или скачайте с сайта PyTorch).

  2. 2

    Укажите каталог libtorch для сборки с помощью переменной LIBTORCH.

    export LIBTORCH=/path/to/libtorch
  3. 3

    Запустите пример, чтобы проверить настройку.

    cargo run --example basics

Что важно знать

  • Требуется отдельно установить libtorch v2.13.0, что усложняет настройку.
  • Пользователям Windows следует использовать тулчейн MSVC, поскольку у MinGW есть проблемы совместимости с PyTorch.
  • Для статической линковки необходимо вручную собрать libtorch из исходного кода.

Темы

Частые вопросы

Что такое tch-rs?
Rust-привязки к C++ API PyTorch (libtorch), позволяющие создавать, обучать и запускать модели глубокого обучения на Rust. tch-rs предоставляет crate `tch` — набор тонких обёрток над C++ API PyTorch (libtorch). Он близок к исходному интерфейсу C++, поэтому из Rust можно вызывать операции с тензорами, автоматическое дифференцирование и модули нейронных сетей. Поверх него можно создавать более идиоматичные API для Rust.
tch-rs можно использовать бесплатно? Какая у него лицензия?
tch-rs распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
tch-rs всё ещё поддерживается?
Обновлялся за последние 6 месяцев. Последний коммит в tch-rs — 23 авг. 2026 г..
Для чего можно использовать tch-rs?
Создание и обучение моделей глубокого обучения на Rust с использованием ядер PyTorch. Запуск инференса с предварительно обученными моделями для компьютерного зрения или моделями TorchScript в сервисах на Rust. Перенос кода моделей PyTorch на Rust с сохранением той же backend-платформы libtorch. Создание высокоуровневых библиотек машинного обучения для Rust на основе libtorch.
Как установить tch-rs?
Установите libtorch v2.13.0 (в систему или скачайте с сайта PyTorch). Укажите каталог libtorch для сборки с помощью переменной LIBTORCH.: export LIBTORCH=/path/to/libtorch Запустите пример, чтобы проверить настройку.: cargo run --example basics
Где скачать tch-rs?
Исходный код и инструкции по установке — на GitHub: https://github.com/LaurentMazare/tch-rs

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты