Implementación en PyTorch del Vision Transformer (ViT) y muchas de sus variantes para clasificación de imágenes y otras tareas de visión.
lucidrains/vector-quantize-pytorch
Biblioteca de PyTorch con capas de cuantización vectorial, residual, escalar y sin búsqueda para entrenar modelos con latentes discretos, como los VQ-VAE.
- Estrellas
- 4,019
- Forks
- 342
- Issues abiertos
- 74
- Último commit
- hace 29 días
¿Qué es?
vector-quantize-pytorch es un paquete de Python que ofrece capas de cuantización listas para usar con PyTorch. La cuantización vectorial asigna características continuas de redes neuronales a un conjunto aprendido de códigos discretos, una técnica usada en modelos como VQ-VAE para generar imágenes, audio y video. La biblioteca reúne estas capas para que se puedan incorporar a un modelo con unas pocas líneas de código, en vez de tener que reimplementarlas a partir de artículos de investigación.
La clase principal VectorQuantize actualiza su codebook mediante promedios móviles exponenciales y devuelve salidas cuantizadas, índices de código y una pérdida de compromiso. La biblioteca también ofrece ResidualVQ y GroupedResidualVQ para apilar cuantizadores, además de opciones como la inicialización del codebook con k-means, la distancia por similitud coseno, la caducidad de códigos inactivos y el rotation trick o DiVeQ para el flujo de gradientes. También incluye esquemas alternativos: SimVQ, Finite Scalar Quantization (FSQ), Lookup-Free Quantization (LFQ), Latent Quantization y un cuantizador de proyección aleatoria para el aprendizaje autosupervisado del habla.
Cada cuantizador ofrece métodos para convertir índices de nuevo en códigos, algo útil al decodificar tokens generados. El paquete se puede instalar con pip y tiene licencia MIT.
Funciones clave
- 01Capa de cuantización vectorial con actualizaciones del codebook mediante EMA y pérdida de compromiso.
- 02Cuantizadores residuales y residuales agrupados que apilan varios codebooks.
- 03Opciones de inicialización con k-means, distancia por similitud coseno y caducidad de códigos inactivos.
- 04Estrategias de gradiente que incluyen el estimador straight-through, el rotation trick y DiVeQ.
- 05Alternativas de tipo escalar: FSQ, LFQ, Latent Quantization y SimVQ.
Casos de uso
- Entrenar un tokenizador de imágenes o audio al estilo VQ-VAE o VQ-GAN con PyTorch.
- Crear cuantización residual para códecs de audio neuronal.
- Experimentar con soluciones al colapso del codebook en investigación sobre representaciones discretas.
- Crear un cuantizador de proyección aleatoria para el preentrenamiento de habla enmascarada.
Inicio rápido
- 1
Instala el paquete desde PyPI
pip install vector-quantize-pytorch - 2
Importa VectorQuantize y ejecútalo con un tensor aleatorio
Antes de usarlo
- Solo se proporcionan las capas VQ; debes crear y entrenar el modelo que las rodea.
- Requiere PyTorch, y los ejemplos del README dan por hecho que PyTorch está instalado y funciona correctamente.
Temas
Preguntas frecuentes
- ¿Qué es vector-quantize-pytorch?
- Biblioteca de PyTorch con capas de cuantización vectorial, residual, escalar y sin búsqueda para entrenar modelos con latentes discretos, como los VQ-VAE. vector-quantize-pytorch es un paquete de Python que ofrece capas de cuantización listas para usar con PyTorch. La cuantización vectorial asigna características continuas de redes neuronales a un conjunto aprendido de códigos discretos, una técnica usada en modelos como VQ-VAE para generar imágenes, audio y video. La biblioteca reúne estas capas para que se puedan incorporar a un modelo con unas pocas líneas de código, en vez de tener que reimplementarlas a partir de artículos de investigación.
- ¿vector-quantize-pytorch es gratuito? ¿Qué licencia tiene?
- vector-quantize-pytorch es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿vector-quantize-pytorch sigue mantenido?
- Mantenimiento activo. El último commit de vector-quantize-pytorch fue el 24 sept 2026.
- ¿Para qué puedo usar vector-quantize-pytorch?
- Entrenar un tokenizador de imágenes o audio al estilo VQ-VAE o VQ-GAN con PyTorch. Crear cuantización residual para códecs de audio neuronal. Experimentar con soluciones al colapso del codebook en investigación sobre representaciones discretas. Crear un cuantizador de proyección aleatoria para el preentrenamiento de habla enmascarada.
- ¿Cómo se instala vector-quantize-pytorch?
- Instala el paquete desde PyPI: pip install vector-quantize-pytorch Importa VectorQuantize y ejecútalo con un tensor aleatorio
- ¿Dónde consigo vector-quantize-pytorch?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/lucidrains/vector-quantize-pytorch
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Framework de inferencia de redes neuronales de alto rendimiento en C++ para ejecutar modelos de deep learning en dispositivos móviles, integrados y de escritorio.
Kit basado en PyTorch con implementaciones de LLM desde cero para preentrenar, ajustar, evaluar y servir más de 20 modelos de pesos abiertos.
Implementación en PyTorch de modelos probabilísticos de difusión con eliminación de ruido para entrenar modelos generativos de imágenes y secuencias 1D.
Código complementario del libro Build a Large Language Model (From Scratch) para implementar paso a paso un LLM similar a GPT en PyTorch.
Un plan de estudios de IA para principiantes de Microsoft, de 12 semanas y 24 lecciones, que abarca IA simbólica, redes neuronales, visión por computadora, NLP y ética, con notebooks en PyTorch y TensorFlow.