python - 运算符@在python中的含义是什么
问题描述
我正在阅读某人的代码,其中出现了运算符“@”(实际上,我什至不确定 @ 是否是运算符)。
我四处寻找,但找不到任何线索。我想这是一些高级用法。
这是一些示例代码:
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
有人可以解释或提供一些我可以检查“@”用法的参考吗?
解决方案
大多数情况下 @ 被用作装饰器。但是,在您的情况下,它似乎用于矩阵乘法。
在 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 中的矩阵乘法函数。
推荐阅读
- vb.net - 如何编辑访问数据库中的特定实体
- php - onclick 单个产品页面中的模态框
- visual-studio-code - 如何配置更漂亮的不自动包装降价表?
- javascript - 获取数组中元素的具体索引
- c# - 突然出现错误:名称不存在
- swift - Swift, SwiftUI - .getRed(&red, green: &green, blue: &blue, alpha: &alpha)
- django - /freshleadaction 值的 DataError 对于类型字符变化太长(20)
- amazon-s3 - 来自 IOS 客户端的 AWS S3 POST 文件使用 AFNetworking
- kotlin - 自动调整小数格式位置作为kotlin中的输入格式?
- python - 如何在文本中提及成员?不和谐机器人 python