一种快速量化numpy向量的方法

2024-04-20 00:35:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我有大量的numpy向量,每个都有8位整数值的shape(3,):

vec = np.random.randint(2**8, size=3)

我想用一些已知的约化因子把这些向量量子化到一个更小的空间。我知道我可以通过一系列操作来解决这一问题,方法是用定义信息丢失量的值定义另一个向量,将vec除以该向量,然后将得到的值协调回整数:

^{pr2}$

有没有一种更快的方法来量化这些numpy向量呢?我将非常感谢其他人在这个问题上的任何想法。在


Tags: 方法numpy信息size定义np空间整数
1条回答
网友
1楼 · 发布于 2024-04-20 00:35:03

假设您的折减系数是2的幂次,那么您所显示的操作相当于清除最后几位。这可以通过使用位与运算符&一步完成。可以直接使用Python二进制字面值0b11111000或do 256 - denominator直接指定位掩码。所以多亏了numpy广播,你需要做的就是

vec & (256 - denominator)

相关问题 更多 >