¿Qué es Shumai?
Shumai es una biblioteca de tensores diferenciables rápida y conectada a la red, diseñada para TypeScript y JavaScript. Construida con Bun y Flashlight, es ideal tanto para ingenieros de software como para investigadores. ¡Pero ojo! Esto es software experimental.
¿Cuáles son las características de Shumai?
- Rendimiento rápido: Optimizado para usar GPU o aceleradores.
- Interoperabilidad: Conversión fácil entre tensores y arrays nativos de JavaScript.
- Diferenciación automática: Soporte para gradientes y backpropagation.
- Estadísticas avanzadas: Captura y análisis de métricas de rendimiento.
- Gestión de memoria: Opciones personalizables para optimizar el uso de memoria.
¿Cuáles son los casos de uso de Shumai?
- Entrenamiento de modelos pequeños: Ideal para prototipos rápidos.
- Manipulación de datos: Perfecto para preparar datos antes de enviarlos a la GPU.
- Lógica de entrenamiento avanzada: Permite escribir lógica compleja sin necesidad de C++.
¿Cómo usar Shumai?
- Instalación:
- Para macOS:
brew install arrayfire - Para Linux:
sudo apt install arrayfire-cpu3-dev - Luego:
bun install @shumai/shumai
- Para macOS:
- Uso básico:
import * as sm from "@shumai/shumai"
let X = sm.randn([1024, 1024])
let Y = X.matmul(sm.identity(1024))
console.log(Y.shape)
- Gestión de memoria:
import { util } from '@shumai/shumai'
util.memoryOptions({
lowerBoundThreshold: 100e6,
upperBoundThreshold: 5e9,
delayBetweenGCs: 1000
})







