Imagen del autor
Rust Burn es un nuevo marco de aprendizaje profundo escrito íntegramente en el lenguaje de programación Rust. La motivación detrás de la creación de un nuevo marco en lugar de utilizar los existentes como PyTorch o TensorFlow es crear un marco versátil que se adapte bien a varios usuarios, incluidos investigadores, ingenieros de aprendizaje automático e ingenieros de software de bajo nivel.
Los principios de diseño clave detrás de Rust Burn son la flexibilidad, el rendimiento y la facilidad de uso.
Flexibilidad proviene de la capacidad de implementar rápidamente ideas de investigación de vanguardia y realizar experimentos.
Rendimiento se logra mediante optimizaciones como aprovechar características específicas del hardware, como Tensor Cores en las GPU de Nvidia.
Facilidad de uso surge de simplificar el flujo de trabajo de entrenamiento, implementación y ejecución de modelos en producción.
Características Clave:
- Gráfico computacional flexible y dinámico.
- Estructuras de datos seguras para subprocesos
- Abstracciones intuitivas para un proceso de desarrollo simplificado
- Rendimiento increíblemente rápido durante el entrenamiento y la inferencia
- Admite múltiples implementaciones de backend tanto para CPU como para GPU
- Soporte completo para registros, métricas y puntos de control durante la capacitación
- Comunidad de desarrolladores pequeña pero activa
Instalación de óxido
Burn es un potente marco de aprendizaje profundo basado en el lenguaje de programación Rust. Requiere un conocimiento básico de Rust, pero una vez que lo domines, podrás aprovechar todas las funciones que Burn tiene para ofrecer.
Para instalarlo usando un oficial guía. También puede consultar Geeksparageeks Guía para instalar Rust en Windows y Linux con capturas de pantalla.
Imagen de Instalar óxido
Instalación de grabación
Para utilizar Rust Burn, primero debe tener Rust instalado en su sistema. Una vez que Rust esté configurado correctamente, puede crear una nueva aplicación Rust usando carga, administrador de paquetes de Rust.
Ejecute el siguiente comando en su directorio actual:
cargo new new_burn_app
Navegue a este nuevo directorio:
cd new_burn_app
A continuación, agregue Burn como dependencia, junto con la función de backend WGPU que permite las operaciones de GPU:
cargo add burn --features wgpu
Al final, compila el proyecto para instalar Burn:
cargo build
Esto instalará el marco Burn junto con el backend WGPU. WGPU permite a Burn ejecutar operaciones de GPU de bajo nivel.
Adición inteligente de elementos
Para ejecutar el siguiente código, debe abrir y reemplazar el contenido en src/main.rs
:
use burn::tensor::Tensor;
use burn::backend::WgpuBackend; // Type alias for the backend to use.
type Backend = WgpuBackend; fn main() { // Creation of two tensors, the first with explicit values and the second one with ones, with the same shape as the first let tensor_1 = Tensor::::from_data([[2., 3.], [4., 5.]]); let tensor_2 = Tensor::::ones_like(&tensor_1); // Print the element-wise addition (done with the WGPU backend) of the two tensors. println!("{}", tensor_1 + tensor_2);
}
En la función principal, creamos dos tensores con backend WGPU y realizamos la suma.
Para ejecutar el código, debes ejecutar cargo run
en la terminal
Salida:
Ahora debería poder ver el resultado de la adición.
Tensor { data: [[3.0, 4.0], [5.0, 6.0]], shape: [2, 2], device: BestAvailable, backend: "wgpu", kind: "Float", dtype: "f32",
}
Nota: el siguiente código es un ejemplo de Burn Book: Cómo comenzar.
Módulo de avance de posición inteligente
A continuación se muestra un ejemplo de lo fácil que es utilizar el marco. Declaramos un módulo de avance de posición y su paso hacia adelante usando este fragmento de código.
use burn::nn;
use burn::module::Module;
use burn::tensor::backend::Backend; #[derive(Module, Debug)]
pub struct PositionWiseFeedForward<B: Backend> { linear_inner: Linear<B>, linear_outer: Linear<B>, dropout: Dropout, gelu: GELU,
} impl PositionWiseFeedForward<B> { pub fn forward(&self, input: Tensor<B, D>) -> Tensor<B, D> { let x = self.linear_inner.forward(input); let x = self.gelu.forward(x); let x = self.dropout.forward(x); self.linear_outer.forward(x) }
}
El código anterior es de GitHub. repositorio.
Proyectos de ejemplo
Para obtener más ejemplos y ejecutarlos, clone el https://github.com/burn-rs/burn repositorio y ejecute los siguientes proyectos:
Modelos Pre-entrenados
Para crear su aplicación de IA, puede utilizar los siguientes modelos previamente entrenados y ajustarlos con su conjunto de datos.
Rust Burn representa una nueva e interesante opción en el panorama de los marcos de aprendizaje profundo. Si ya es desarrollador de Rust, puede aprovechar la velocidad, la seguridad y la simultaneidad de Rust para ampliar los límites de lo que es posible en la investigación y producción de aprendizaje profundo. Burn se propone encontrar los compromisos adecuados en flexibilidad, rendimiento y usabilidad para crear un marco excepcionalmente versátil adecuado para diversos casos de uso.
Aunque aún se encuentra en sus primeras etapas, Burn se muestra prometedor a la hora de abordar los puntos débiles de los marcos existentes y satisfacer las necesidades de diversos profesionales en el campo. A medida que el marco madura y la comunidad que lo rodea crece, tiene el potencial de convertirse en un marco listo para producción a la par de las opciones establecidas. Su nuevo diseño y elección de idioma ofrecen nuevas posibilidades para la comunidad de aprendizaje profundo.
Recursos
Abid Ali Awan (@ 1abidaliawan) es un profesional científico de datos certificado al que le encanta crear modelos de aprendizaje automático. Actualmente, se está enfocando en la creación de contenido y escribiendo blogs técnicos sobre aprendizaje automático y tecnologías de ciencia de datos. Abid tiene una Maestría en Gestión de Tecnología y una licenciatura en Ingeniería de Telecomunicaciones. Su visión es construir un producto de IA utilizando una red neuronal gráfica para estudiantes que luchan contra enfermedades mentales.
- Distribución de relaciones públicas y contenido potenciado por SEO. Consiga amplificado hoy.
- PlatoData.Network Vertical Generativo Ai. Empodérate. Accede Aquí.
- PlatoAiStream. Inteligencia Web3. Conocimiento amplificado. Accede Aquí.
- PlatoESG. Carbón, tecnología limpia, Energía, Ambiente, Solar, Gestión de residuos. Accede Aquí.
- PlatoSalud. Inteligencia en Biotecnología y Ensayos Clínicos. Accede Aquí.
- Fuente: https://www.kdnuggets.com/rust-burn-library-for-deep-learning?utm_source=rss&utm_medium=rss&utm_campaign=rust-burn-library-for-deep-learning