Repolode
LaurentMazare

LaurentMazare/tch-rs

Bindings de Rust para la API de C++ de PyTorch (libtorch), que permiten crear, entrenar y ejecutar modelos de deep learning desde Rust.

Estrellas
5,516
Forks
463
Issues abiertos
276
Último commit
hace 3 meses

¿Qué es?

tch-rs ofrece el crate `tch`, un conjunto de wrappers ligeros sobre la API de C++ de PyTorch (libtorch). Mantiene una interfaz muy similar a la original de C++, para que los desarrolladores puedan usar operaciones con tensores, diferenciación automática y módulos de redes neuronales desde Rust. Se pueden crear APIs más idiomáticas de Rust sobre esta base.

El crate incluye creación y operaciones aritméticas con tensores, entrenamiento basado en gradientes mediante VarStore y optimizadores como SGD y Adam, y carga de modelos TorchScript JIT. También incorpora utilidades de visión, como la carga de MNIST, el preprocesamiento de ImageNet y modelos ResNet y VGG preentrenados, y permite importar pesos exportados desde PyTorch en formato safetensors.

El crate requiere libtorch v2.13.0, que puede obtenerse de una instalación del sistema, descargarse manualmente, tomarse de una instalación local de PyTorch para Python o descargarse automáticamente mediante la feature download-libtorch. También admite el enlazado estático.

Funciones clave

  • 01Wrappers ligeros sobre la API de C++ de libtorch, con un tipo para tensores y operaciones habituales con ellos.
  • 02Diferenciación automática con optimizadores como SGD y Adam mediante VarStore.
  • 03Carga de modelos TorchScript JIT e importación de pesos de PyTorch en formato safetensors.
  • 04Utilidades de visión que incluyen la carga de MNIST, el preprocesamiento de ImageNet y modelos ResNet y VGG preentrenados.
  • 05Opciones de compilación para usar libtorch del sistema, instalarlo manualmente, usar PyTorch para Python o descargarlo automáticamente.

Casos de uso

  • Escribir o entrenar modelos de deep learning en Rust y aprovechar los kernels de PyTorch.
  • Ejecutar inferencias desde servicios Rust con modelos de visión preentrenados o modelos TorchScript.
  • Migrar código de modelos de PyTorch a Rust manteniendo el mismo backend de libtorch.
  • Crear bibliotecas de machine learning de nivel superior en Rust sobre libtorch.

Inicio rápido

  1. 1

    Instala libtorch v2.13.0 (en todo el sistema o descárgalo del sitio web de PyTorch).

  2. 2

    Indica el directorio de libtorch para la compilación mediante la variable LIBTORCH.

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

    Ejecuta un ejemplo para comprobar la configuración.

    cargo run --example basics

Antes de usarlo

  • Requiere instalar libtorch v2.13.0 por separado, lo que añade trabajo de configuración.
  • Los usuarios de Windows deben usar la cadena de herramientas MSVC, ya que MinGW tiene problemas de compatibilidad con PyTorch.
  • El enlace estático requiere compilar libtorch manualmente desde el código fuente.

Temas

Preguntas frecuentes

¿Qué es tch-rs?
Bindings de Rust para la API de C++ de PyTorch (libtorch), que permiten crear, entrenar y ejecutar modelos de deep learning desde Rust. tch-rs ofrece el crate `tch`, un conjunto de wrappers ligeros sobre la API de C++ de PyTorch (libtorch). Mantiene una interfaz muy similar a la original de C++, para que los desarrolladores puedan usar operaciones con tensores, diferenciación automática y módulos de redes neuronales desde Rust. Se pueden crear APIs más idiomáticas de Rust sobre esta base.
¿tch-rs es gratuito? ¿Qué licencia tiene?
tch-rs es open source bajo la licencia Apache-2.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿tch-rs sigue mantenido?
Actualizado en los últimos 6 meses. El último commit de tch-rs fue el 23 ago 2026.
¿Para qué puedo usar tch-rs?
Escribir o entrenar modelos de deep learning en Rust y aprovechar los kernels de PyTorch. Ejecutar inferencias desde servicios Rust con modelos de visión preentrenados o modelos TorchScript. Migrar código de modelos de PyTorch a Rust manteniendo el mismo backend de libtorch. Crear bibliotecas de machine learning de nivel superior en Rust sobre libtorch.
¿Cómo se instala tch-rs?
Instala libtorch v2.13.0 (en todo el sistema o descárgalo del sitio web de PyTorch). Indica el directorio de libtorch para la compilación mediante la variable LIBTORCH.: export LIBTORCH=/path/to/libtorch Ejecuta un ejemplo para comprobar la configuración.: cargo run --example basics
¿Dónde consigo tch-rs?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/LaurentMazare/tch-rs

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados