如何在Pytorch中使用位移运算符BitShift?

4

有人有如何在Pytorch中使用BitShift运算符的示例吗?

1个回答

2

位移运算符执行逐元素操作。

它的工作方式与 PythonNumPy 相同,即将整数的位向左或向右移动。符号<<>>分别表示左移和右移。

x = torch.tensor([16, 4, 1])
y = torch.tensor([1, 2, 3])
z = x << y
print(z)
tensor([32, 16,  8])

这相当于 16 << 1 (np.left_shift(16, 1))、4 << 21 << 3

对于每个输入元素,如果属性“direction”为“RIGHT”,该运算符将其二进制表示向右移动,使输入值有效减小。如果属性“direction”为“LEFT”,则二进制表示的位向左移动,这会导致其实际值增加。

此运算符支持多方向(即Numpy风格)广播。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接