Implementação em PyTorch do Vision Transformer (ViT) e de muitas variantes para classificação de imagens e outras tarefas de visão computacional.
lucidrains/vector-quantize-pytorch
Biblioteca PyTorch com camadas de quantização vetorial, residual, escalar e sem lookup para treinar modelos com latentes discretos, como VQ-VAE.
- Estrelas
- 4,019
- Forks
- 342
- Issues abertas
- 74
- Último commit
- há 29 dias
O que é?
vector-quantize-pytorch é um pacote Python que oferece camadas de quantização prontas para PyTorch. A quantização vetorial mapeia características contínuas de uma rede neural para um conjunto aprendido de códigos discretos, uma técnica usada em modelos como VQ-VAE para geração de imagens, áudio e vídeo. A biblioteca reúne essas camadas para que possam ser integradas a um modelo com poucas linhas de código, em vez de serem reimplementadas a partir de artigos.
A classe principal, VectorQuantize, atualiza o codebook com médias móveis exponenciais e retorna saídas quantizadas, índices dos códigos e uma perda de compromisso. A biblioteca também oferece ResidualVQ e GroupedResidualVQ para encadear quantizadores, além de opções como inicialização do codebook com k-means, distância por similaridade de cosseno, expiração de códigos inativos e o rotation trick ou DiVeQ para o fluxo de gradientes. Também há esquemas alternativos: SimVQ, Finite Scalar Quantization (FSQ), Lookup-Free Quantization (LFQ), Latent Quantization e um quantizador por projeção aleatória para aprendizado autossupervisionado de fala.
Cada quantizador oferece métodos para converter índices de volta em códigos, o que é útil ao decodificar tokens gerados. O pacote pode ser instalado com pip e usa a licença MIT.
Recursos principais
- 01Camada de quantização vetorial com atualização do codebook por EMA e perda de compromisso.
- 02Quantizadores residuais e residuais agrupados que encadeiam vários codebooks.
- 03Opções de inicialização com k-means, distância por similaridade de cosseno e expiração de códigos inativos.
- 04Estratégias de gradiente que incluem o estimador straight-through, o rotation trick e DiVeQ.
- 05Alternativas no estilo escalar: FSQ, LFQ, Latent Quantization e SimVQ.
Casos de uso
- Treinar um tokenizer de imagens ou áudio no estilo VQ-VAE ou VQ-GAN com PyTorch.
- Criar quantização residual para codecs neurais de áudio.
- Experimentar soluções para o colapso do codebook em pesquisas sobre representações discretas.
- Criar um quantizador por projeção aleatória para pré-treinamento de fala mascarada.
Início rápido
- 1
Instale o pacote pelo PyPI
pip install vector-quantize-pytorch - 2
Importe VectorQuantize e execute-o em um tensor aleatório
Antes de usar
- Somente as camadas VQ são fornecidas; você precisa criar e treinar o modelo ao redor delas.
- Requer PyTorch, e os exemplos do README pressupõem que a instalação do PyTorch esteja funcionando.
Tópicos
Perguntas frequentes
- O que é vector-quantize-pytorch?
- Biblioteca PyTorch com camadas de quantização vetorial, residual, escalar e sem lookup para treinar modelos com latentes discretos, como VQ-VAE. vector-quantize-pytorch é um pacote Python que oferece camadas de quantização prontas para PyTorch. A quantização vetorial mapeia características contínuas de uma rede neural para um conjunto aprendido de códigos discretos, uma técnica usada em modelos como VQ-VAE para geração de imagens, áudio e vídeo. A biblioteca reúne essas camadas para que possam ser integradas a um modelo com poucas linhas de código, em vez de serem reimplementadas a partir de artigos.
- vector-quantize-pytorch é gratuito? Qual é a licença?
- vector-quantize-pytorch é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
- vector-quantize-pytorch ainda é mantido?
- Manutenção ativa. O último commit de vector-quantize-pytorch foi em 24 de set. de 2026.
- Para que posso usar vector-quantize-pytorch?
- Treinar um tokenizer de imagens ou áudio no estilo VQ-VAE ou VQ-GAN com PyTorch. Criar quantização residual para codecs neurais de áudio. Experimentar soluções para o colapso do codebook em pesquisas sobre representações discretas. Criar um quantizador por projeção aleatória para pré-treinamento de fala mascarada.
- Como instalar vector-quantize-pytorch?
- Instale o pacote pelo PyPI: pip install vector-quantize-pytorch Importe VectorQuantize e execute-o em um tensor aleatório
- Onde consigo vector-quantize-pytorch?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/lucidrains/vector-quantize-pytorch
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Framework de inferência de redes neurais de alto desempenho em C++ para executar modelos de deep learning em dispositivos móveis, embarcados e desktop.
Toolkit baseado em PyTorch com implementações de LLMs open-weight do zero para pré-treinamento, fine-tuning, avaliação e serving de mais de 20 modelos.
Implementação em PyTorch de modelos probabilísticos de difusão para treinar modelos generativos de imagens e sequências 1D.
Código complementar ao livro Build a Large Language Model (From Scratch), com a implementação passo a passo de um LLM semelhante ao GPT em PyTorch.
Currículo introdutório de IA da Microsoft, com 24 aulas ao longo de 12 semanas sobre IA simbólica, redes neurais, visão computacional, NLP e ética, incluindo notebooks em PyTorch e TensorFlow.