火炬张量的量化以减少存储大小

问题描述 投票:0回答:1

我有一些 (

N
) 个大小为
192 x 1
的向量当前存储为火炬张量。张量中的每个元素都是浮点数。这些
N
向量用于通过其相似性与参考向量进行比较。

现在,

N
可能非常大,因此这些向量在一段时间后开始实际消耗一些内存。因此,我想尝试一些量化方法来潜在地减少存储它们所需的内存。例如,通过使用更少的位来存储它们(以较低的精度为代价)。

有没有一种方便的方法来做到这一点,同时保持参考向量和

N
存储的向量之间的可比性?

我尝试过使用;

q_vec = torch.quantize_per_tensor_dynamic(vec, torch.quint8, True)

但是使用

getsizeof(x)
,大小仍然与量化之前相同。显然,我可能遗漏了一些东西或误解了这里的概念。任何朝着正确方向的推动都将受到高度赞赏。

memory-management pytorch torch quantization quantize
1个回答
0
投票

不要使用 sys.getsizeof(q_vec),因为它将返回张量的常量值,您应该使用:

q_vec.element_size() * q_vec.nelement()

然后测量前后尺寸。

© www.soinside.com 2019 - 2024. All rights reserved.