2024-04-20 00:35:03 发布
网友
我有大量的numpy向量,每个都有8位整数值的shape(3,):
vec = np.random.randint(2**8, size=3)
我想用一些已知的约化因子把这些向量量子化到一个更小的空间。我知道我可以通过一系列操作来解决这一问题,方法是用定义信息丢失量的值定义另一个向量,将vec除以该向量,然后将得到的值协调回整数:
vec
有没有一种更快的方法来量化这些numpy向量呢?我将非常感谢其他人在这个问题上的任何想法。在
假设您的折减系数是2的幂次,那么您所显示的操作相当于清除最后几位。这可以通过使用位与运算符&一步完成。可以直接使用Python二进制字面值0b11111000或do 256 - denominator直接指定位掩码。所以多亏了numpy广播,你需要做的就是
&
0b11111000
256 - denominator
vec & (256 - denominator)
假设您的折减系数是2的幂次,那么您所显示的操作相当于清除最后几位。这可以通过使用位与运算符
&
一步完成。可以直接使用Python二进制字面值0b11111000
或do256 - denominator
直接指定位掩码。所以多亏了numpy广播,你需要做的就是相关问题 更多 >
编程相关推荐