您当前的位置:首页 > IT编程 > python
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:python 中的@运算符使用

51自学网 2021-10-30 22:37:36
  python
这篇教程python 中的@运算符使用写得很实用,希望能帮到您。

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

n=100x = 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 tfimport numpy as npa = 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@cd2=tf.matmul(a,c)d3=np.dot(a,c)#点乘f1=a*cf2=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))

测试结果如下:

以上为个人经验,希望能给大家一个参考,也希望大家多多支持51zixue.net。


Python 实现定积分与二重定积分的操作
pandas中DataFrame检测重复值的实现
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。