python 中的@运算符使用


Posted in Python onMay 26, 2021

在看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 中的@运算符使用

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))

测试结果如下:

python 中的@运算符使用

以上为个人经验,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
使用PYTHON接收多播数据的代码
Mar 01 Python
Python入门必须知道的11个知识点
Mar 21 Python
python3监控CentOS磁盘空间脚本
Jun 21 Python
使用python实现http及ftp服务进行数据传输的方法
Oct 26 Python
python 移动图片到另外一个文件夹的实例
Jan 10 Python
python实现抽奖小程序
Apr 15 Python
Python使用Pandas库常见操作详解
Jan 16 Python
MxNet预训练模型到Pytorch模型的转换方式
May 25 Python
完美解决keras保存好的model不能成功加载问题
Jun 11 Python
使用PyCharm安装pytest及requests的问题
Jul 31 Python
python输入中文的实例方法
Sep 14 Python
python获取时间戳的实现示例(10位和13位)
Sep 23 Python
Python 实现定积分与二重定积分的操作
May 26 #Python
python 解决微分方程的操作(数值解法)
python 实现体质指数BMI计算
May 26 #Python
Python 如何解决稀疏矩阵运算
Python selenium模拟网页点击爬虫交管12123违章数据
python scipy 稀疏矩阵的使用说明
python中os.path.join()函数实例用法
May 26 #Python
You might like
php下MYSQL limit的优化
2008/01/10 PHP
深入解析php模板技术原理【一】
2008/01/10 PHP
php框架Phpbean说明
2008/01/10 PHP
探讨PHP调用时间格式的参数详解
2013/06/06 PHP
php addslashes 利用递归实现使用反斜线引用字符串
2013/08/05 PHP
php生成酷炫的四个字符验证码
2016/04/22 PHP
记录Yii2框架开发微信公众号遇到的问题及解决方法
2018/07/20 PHP
js函数的引用, 关于内存的开销
2012/09/17 Javascript
Javascript开发之三数组对象实例介绍
2012/11/12 Javascript
Extjs中通过Tree加载右侧TabPanel具体实现
2013/05/05 Javascript
用Jquery选择器计算table中的某一列某一行的合计
2014/08/13 Javascript
javascript图片预加载实例分析
2015/07/16 Javascript
jQuery mobile类库使用时加载导航历史的方法简介
2015/12/04 Javascript
EasyUi中的Combogrid 实现分页和动态搜索远程数据
2016/04/01 Javascript
Vue.js数据绑定之data属性
2017/07/07 Javascript
layer子层给父层页面元素赋值,以达到向父层页面传值的效果实例
2017/09/22 Javascript
React Native使用百度Echarts显示图表的示例代码
2017/11/07 Javascript
详解Vue Elememt-UI构建管理后台
2018/02/27 Javascript
Vue页面骨架屏注入方法
2018/05/13 Javascript
解决vue中axios设置超时(超过5分钟)没反应的问题
2020/09/04 Javascript
[28:28]Ti4 冒泡赛第二天NEWBEE vs NaVi 2
2014/07/15 DOTA
Python文件操作类操作实例详解
2014/07/11 Python
详解Python编程中基本的数学计算使用
2016/02/04 Python
python实现汉诺塔递归算法经典案例
2021/03/01 Python
Python实现压缩与解压gzip大文件的方法
2016/09/18 Python
python3下使用cv2.imwrite存储带有中文路径图片的方法
2018/05/10 Python
pandas去除重复列的实现方法
2019/01/29 Python
python实现异常信息堆栈输出到日志文件
2019/12/26 Python
HTML5 通信API 跨域门槛将不再高、数据推送也不再是梦
2013/04/25 HTML / CSS
.net面试题
2015/12/22 面试题
应付会计岗位职责
2013/12/12 职场文书
金融学专业大学生职业生涯规划
2014/03/07 职场文书
乡镇党的群众路线教育实践活动个人整改方案
2014/10/31 职场文书
晚会闭幕词
2015/01/28 职场文书
2015年新农村建设指导员工作总结
2015/07/24 职场文书
Docker 镜像介绍以及commit相关操作
2022/04/13 Servers