主页 > 知识库 > python 中的@运算符使用

python 中的@运算符使用

热门标签:地图标注线上如何操作 400电话办理哪种 开封语音外呼系统代理商 手机网页嵌入地图标注位置 河北防封卡电销卡 开封自动外呼系统怎么收费 电销机器人的风险 天津电话机器人公司 应电话机器人打电话违法吗

在看fastai的代码时,看到这么一段:

n=100
x = torch.ones(n,2) 
x[:,0].uniform_(-1.,1)
x[:5]
a = tensor(3.,2)
y = x@a + torch.rand(n)

这里面有个@符号不知道是啥意思?

于是百度搜了一下,都是说@xxx是注解或者装饰器,明显不是这段代码的场景嘛!

于是又Google了一下,原来这个@是Python 3.5之后加入的矩阵乘法运算符,终于明白了!

补充:python矩阵乘积运算(multiply/maumul/*/@)解析

在训练数据时经常涉及到矩阵运算,有段时间没有练习过了,手便生疏了。

今天重新测了一把,python中各类矩阵运算举例如下,可以清楚的看到tf.matmul(A,C)=np.dot(A,C)= A@C都属于叉乘,而tf.multiply(A,C)= A*C=A∙C属于点乘。

Python测试编码如下:

import tensorflow as tf
import numpy as np

a = np.array([[1,2],[3,4]])
b = np.array([5,6])
c = np.array([[5,6],[7,8]])
print('a:'+'\n',a)
print('b:'+'\n',b)
print('c:'+'\n',c)
#叉乘
d1=a@c
d2=tf.matmul(a,c)
d3=np.dot(a,c)
#点乘
f1=a*c
f2=tf.multiply(a,c)

with tf.compat.v1.Session() as sess:
    print('d1:叉乘a@c' + '\n', d1)
    print('d2:叉乘matmul(a,c)' + '\n', sess.run(d2))
    print('d3:叉乘dot(a,c)' + '\n', d3)
    print('f1:点乘a*c' + '\n', f1)
    print('f2:点乘multiply(a,c)' + '\n', sess.run(f2))

测试结果如下:

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
  • 基于Python3中运算符 **和*的区别说明
  • Python的运算符重载详解
  • Python函数参数中的*与**运算符
  • Python运算符+与+=的方法实例
  • python入门教程之基本算术运算符

标签:山东 常州 成都 宿迁 江苏 兰州 六盘水 驻马店

巨人网络通讯声明:本文标题《python 中的@运算符使用》,本文关键词  python,中的,运算符,使用,;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 下面列出与本文章《python 中的@运算符使用》相关的同类信息!
  • 本页收集关于python 中的@运算符使用的相关信息资讯供网民参考!
  • 推荐文章