Repolode
lucidrains

lucidrains/vector-quantize-pytorch

基于 PyTorch 的向量量化库,提供向量、残差、标量等多种量化层,用于训练离散隐变量模型。

Star
4,019
Fork
342
未关闭 Issue
74
最近提交
29天前

这是什么?

vector-quantize-pytorch 是一个为 PyTorch 提供现成量化层的 Python 包。向量量化会把神经网络的连续特征映射到一组可学习的离散码本向量上,VQ-VAE 等模型用它做图像、音频和视频生成。该库把这些层封装好,只需几行代码即可接入模型,无需自行复现论文实现。

核心的 VectorQuantize 类使用指数移动平均更新码本,并返回量化结果、码本索引和承诺损失。在此基础上,库还提供用于多级堆叠的 ResidualVQ 和 GroupedResidualVQ,以及 k-means 码本初始化、余弦相似度距离、死码过期替换,以及 rotation trick 或 DiVeQ 梯度传播等选项。此外还包含 SimVQ、有限标量量化(FSQ)、无查表量化(LFQ)、Latent Quantization,以及用于语音自监督学习的随机投影量化器。

各量化器都提供将索引还原为码本向量的方法,便于解码生成的离散 token。该包可通过 pip 安装,采用 MIT 许可证。

核心功能

  • 01带 EMA 码本更新和承诺损失的向量量化层。
  • 02支持堆叠多个码本的残差及分组残差量化器。
  • 03提供 k-means 初始化、余弦相似度距离和死码过期替换选项。
  • 04支持直通估计器、rotation trick 和 DiVeQ 等梯度方案。
  • 05提供 FSQ、LFQ、Latent Quantization 和 SimVQ 等替代量化方法。

适用场景

  • 在 PyTorch 中训练 VQ-VAE 或 VQ-GAN 风格的图像、音频 tokenizer。
  • 为神经音频编解码器构建残差量化模块。
  • 在离散表示学习研究中测试缓解码本坍缩的方法。
  • 为语音掩码预训练构建随机投影量化器。

快速上手

  1. 1

    从 PyPI 安装该包

    pip install vector-quantize-pytorch
  2. 2

    导入 VectorQuantize 并在随机张量上运行

使用前须知

  • 本库只提供量化层,周围的模型需要你自己搭建和训练。
  • 需要 PyTorch 环境,README 示例假定已正确安装 PyTorch。

标签

常见问题

vector-quantize-pytorch 是什么?
基于 PyTorch 的向量量化库,提供向量、残差、标量等多种量化层,用于训练离散隐变量模型。 vector-quantize-pytorch 是一个为 PyTorch 提供现成量化层的 Python 包。向量量化会把神经网络的连续特征映射到一组可学习的离散码本向量上,VQ-VAE 等模型用它做图像、音频和视频生成。该库把这些层封装好,只需几行代码即可接入模型,无需自行复现论文实现。
vector-quantize-pytorch 可以免费使用吗?用的什么许可证?
vector-quantize-pytorch 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
vector-quantize-pytorch 还在维护吗?
活跃维护中。vector-quantize-pytorch 最近一次提交是在 2026年9月24日。
vector-quantize-pytorch 适合用来做什么?
在 PyTorch 中训练 VQ-VAE 或 VQ-GAN 风格的图像、音频 tokenizer。 为神经音频编解码器构建残差量化模块。 在离散表示学习研究中测试缓解码本坍缩的方法。 为语音掩码预训练构建随机投影量化器。
vector-quantize-pytorch 怎么安装和运行?
从 PyPI 安装该包: pip install vector-quantize-pytorch 导入 VectorQuantize 并在随机张量上运行
在哪里获取 vector-quantize-pytorch?
源代码和安装说明在 GitHub 上:https://github.com/lucidrains/vector-quantize-pytorch

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目