vector-quantize-pytorch 1.22.6__tar.gz → 1.22.9__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {vector_quantize_pytorch-1.22.6 → vector_quantize_pytorch-1.22.9}/PKG-INFO +1 -1
- {vector_quantize_pytorch-1.22.6 → vector_quantize_pytorch-1.22.9}/pyproject.toml +1 -1
- {vector_quantize_pytorch-1.22.6 → vector_quantize_pytorch-1.22.9}/vector_quantize_pytorch/finite_scalar_quantization.py +8 -28
- {vector_quantize_pytorch-1.22.6 → vector_quantize_pytorch-1.22.9}/.github/workflows/build.yml +0 -0
- {vector_quantize_pytorch-1.22.6 → vector_quantize_pytorch-1.22.9}/.github/workflows/python-publish.yml +0 -0
- {vector_quantize_pytorch-1.22.6 → vector_quantize_pytorch-1.22.9}/.github/workflows/test.yml +0 -0
- {vector_quantize_pytorch-1.22.6 → vector_quantize_pytorch-1.22.9}/.gitignore +0 -0
- {vector_quantize_pytorch-1.22.6 → vector_quantize_pytorch-1.22.9}/LICENSE +0 -0
- {vector_quantize_pytorch-1.22.6 → vector_quantize_pytorch-1.22.9}/README.md +0 -0
- {vector_quantize_pytorch-1.22.6 → vector_quantize_pytorch-1.22.9}/examples/autoencoder.py +0 -0
- {vector_quantize_pytorch-1.22.6 → vector_quantize_pytorch-1.22.9}/examples/autoencoder_fsq.py +0 -0
- {vector_quantize_pytorch-1.22.6 → vector_quantize_pytorch-1.22.9}/examples/autoencoder_lfq.py +0 -0
- {vector_quantize_pytorch-1.22.6 → vector_quantize_pytorch-1.22.9}/examples/autoencoder_sim_vq.py +0 -0
- {vector_quantize_pytorch-1.22.6 → vector_quantize_pytorch-1.22.9}/images/fsq.png +0 -0
- {vector_quantize_pytorch-1.22.6 → vector_quantize_pytorch-1.22.9}/images/lfq.png +0 -0
- {vector_quantize_pytorch-1.22.6 → vector_quantize_pytorch-1.22.9}/images/simvq.png +0 -0
- {vector_quantize_pytorch-1.22.6 → vector_quantize_pytorch-1.22.9}/images/vq.png +0 -0
- {vector_quantize_pytorch-1.22.6 → vector_quantize_pytorch-1.22.9}/ruff.toml +0 -0
- {vector_quantize_pytorch-1.22.6 → vector_quantize_pytorch-1.22.9}/tests/test_latent_quantization.py +0 -0
- {vector_quantize_pytorch-1.22.6 → vector_quantize_pytorch-1.22.9}/tests/test_lfq.py +0 -0
- {vector_quantize_pytorch-1.22.6 → vector_quantize_pytorch-1.22.9}/tests/test_readme.py +0 -0
- {vector_quantize_pytorch-1.22.6 → vector_quantize_pytorch-1.22.9}/vector_quantize_pytorch/__init__.py +0 -0
- {vector_quantize_pytorch-1.22.6 → vector_quantize_pytorch-1.22.9}/vector_quantize_pytorch/latent_quantization.py +0 -0
- {vector_quantize_pytorch-1.22.6 → vector_quantize_pytorch-1.22.9}/vector_quantize_pytorch/lookup_free_quantization.py +0 -0
- {vector_quantize_pytorch-1.22.6 → vector_quantize_pytorch-1.22.9}/vector_quantize_pytorch/random_projection_quantizer.py +0 -0
- {vector_quantize_pytorch-1.22.6 → vector_quantize_pytorch-1.22.9}/vector_quantize_pytorch/residual_fsq.py +0 -0
- {vector_quantize_pytorch-1.22.6 → vector_quantize_pytorch-1.22.9}/vector_quantize_pytorch/residual_lfq.py +0 -0
- {vector_quantize_pytorch-1.22.6 → vector_quantize_pytorch-1.22.9}/vector_quantize_pytorch/residual_sim_vq.py +0 -0
- {vector_quantize_pytorch-1.22.6 → vector_quantize_pytorch-1.22.9}/vector_quantize_pytorch/residual_vq.py +0 -0
- {vector_quantize_pytorch-1.22.6 → vector_quantize_pytorch-1.22.9}/vector_quantize_pytorch/sim_vq.py +0 -0
- {vector_quantize_pytorch-1.22.6 → vector_quantize_pytorch-1.22.9}/vector_quantize_pytorch/utils.py +0 -0
- {vector_quantize_pytorch-1.22.6 → vector_quantize_pytorch-1.22.9}/vector_quantize_pytorch/vector_quantize_pytorch.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: vector-quantize-pytorch
|
|
3
|
-
Version: 1.22.
|
|
3
|
+
Version: 1.22.9
|
|
4
4
|
Summary: Vector Quantization - Pytorch
|
|
5
5
|
Project-URL: Homepage, https://pypi.org/project/vector-quantize-pytorch/
|
|
6
6
|
Project-URL: Repository, https://github.com/lucidrains/vector-quantizer-pytorch
|
|
@@ -138,38 +138,18 @@ class FSQ(Module):
|
|
|
138
138
|
def quantize(self, z):
|
|
139
139
|
""" Quantizes z, returns quantized zhat, same shape as z. """
|
|
140
140
|
|
|
141
|
-
preserve_symmetry = self.preserve_symmetry
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
if preserve_symmetry:
|
|
145
|
-
quantized = round_ste(self.symmetry_preserving_bound(z)) / half_width
|
|
146
|
-
else:
|
|
147
|
-
quantized = round_ste(self.bound(z)) / half_width
|
|
148
|
-
|
|
149
|
-
if not self.training:
|
|
150
|
-
return quantized
|
|
151
|
-
|
|
152
|
-
batch, device, noise_dropout = z.shape[0], z.device, self.noise_dropout
|
|
153
|
-
unquantized = z
|
|
154
|
-
|
|
155
|
-
# determine where to quantize elementwise
|
|
156
|
-
|
|
157
|
-
quantize_mask = torch.bernoulli(
|
|
158
|
-
torch.full((batch,), noise_dropout, device = device)
|
|
159
|
-
).bool()
|
|
160
|
-
|
|
161
|
-
quantized = einx.where('b, b ..., b ...', quantize_mask, unquantized, quantized)
|
|
141
|
+
shape, device, noise_dropout, preserve_symmetry, half_width = z.shape[0], z.device, self.noise_dropout, self.preserve_symmetry, (self._levels // 2)
|
|
142
|
+
bound_fn = self.symmetry_preserving_bound if preserve_symmetry else self.bound
|
|
162
143
|
|
|
163
144
|
# determine where to add a random offset elementwise
|
|
145
|
+
# if using noise dropout
|
|
164
146
|
|
|
165
|
-
|
|
166
|
-
torch.
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
offset = (torch.rand_like(z) - 0.5) / half_width
|
|
170
|
-
quantized = einx.where('b, b ..., b ...', offset_mask, unquantized + offset, quantized)
|
|
147
|
+
if self.training and noise_dropout > 0.:
|
|
148
|
+
offset_mask = torch.bernoulli(torch.full_like(z, noise_dropout)).bool()
|
|
149
|
+
offset = torch.rand_like(z) - 0.5
|
|
150
|
+
z = torch.where(offset_mask, z + offset, z)
|
|
171
151
|
|
|
172
|
-
return
|
|
152
|
+
return round_ste(bound_fn(z)) / half_width
|
|
173
153
|
|
|
174
154
|
def _scale_and_shift(self, zhat_normalized):
|
|
175
155
|
half_width = self._levels // 2
|
{vector_quantize_pytorch-1.22.6 → vector_quantize_pytorch-1.22.9}/.github/workflows/build.yml
RENAMED
|
File without changes
|
|
File without changes
|
{vector_quantize_pytorch-1.22.6 → vector_quantize_pytorch-1.22.9}/.github/workflows/test.yml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{vector_quantize_pytorch-1.22.6 → vector_quantize_pytorch-1.22.9}/examples/autoencoder_fsq.py
RENAMED
|
File without changes
|
{vector_quantize_pytorch-1.22.6 → vector_quantize_pytorch-1.22.9}/examples/autoencoder_lfq.py
RENAMED
|
File without changes
|
{vector_quantize_pytorch-1.22.6 → vector_quantize_pytorch-1.22.9}/examples/autoencoder_sim_vq.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{vector_quantize_pytorch-1.22.6 → vector_quantize_pytorch-1.22.9}/tests/test_latent_quantization.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{vector_quantize_pytorch-1.22.6 → vector_quantize_pytorch-1.22.9}/vector_quantize_pytorch/sim_vq.py
RENAMED
|
File without changes
|
{vector_quantize_pytorch-1.22.6 → vector_quantize_pytorch-1.22.9}/vector_quantize_pytorch/utils.py
RENAMED
|
File without changes
|
|
File without changes
|