我正在阅读某人的代码,其中出现了运算符“ @”(实际上,我什至不确定@是否是运算符)。
我四处搜寻,但没有任何线索。我想这是一些高级用法。
这是一些示例代码:
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
有人可以解释或提供一些我可以检查“ @”用法的参考文献吗?
答案 0 :(得分:3)
大多数@用作装饰器。但是,在您的情况下,它似乎用于矩阵乘法。
在python矩阵乘法中,x @ y
调用x.__matmul__(y)
或:
x @ y
#equivalent to
dot(x, y)
and
x @= y
#equivalent to
x = dot(x, y)
Dot是Numpy以及x和y中的矩阵乘法函数。