Par*_*dox -2 python python-3.x
我正在阅读某人的代码,其中出现了运算符“@”(事实上,我什至不确定@是否是运算符)。
我四处寻找,却找不到任何线索。我想这是一些高级用法。
这是一些示例代码:
hidden = self.adj_norm @ tf.sparse_tensor_dense_matmul(hidden, w) + b
hidden = self.adj_norm @ hidden @ w + b
final_output = self.adj_norm @ tf.sparse_tensor_dense_matmul(final_output, w) + b
final_output = self.adj_norm @ final_output @ w + b
Run Code Online (Sandbox Code Playgroud)
有人可以解释或提供一些参考资料,我可以检查“@”的用法吗?
大多数情况下@用作装饰器。然而,就您而言,它似乎用于矩阵乘法。
在 python 矩阵乘法中,x @ y调用x.__matmul__(y)or:
x @ y
#equivalent to
dot(x, y)
and
x @= y
#equivalent to
x = dot(x, y)
Run Code Online (Sandbox Code Playgroud)
Dot是Numpy中与x和y的矩阵乘法函数。