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根据时间生成mongodb的ObjectId的方法
Mar 13 Python
python3简单实现微信爬虫
Apr 09 Python
Python and、or以及and-or语法总结
Apr 14 Python
Python加密方法小结【md5,base64,sha1】
Jul 13 Python
pytorch + visdom 处理简单分类问题的示例
Jun 04 Python
python3获取当前目录的实现方法
Jul 29 Python
解决Djang2.0.1中的reverse导入失败的问题
Aug 16 Python
python脚本实现mp4中的音频提取并保存在原目录
Feb 27 Python
Pandas之read_csv()读取文件跳过报错行的解决
Apr 21 Python
简单的Python人脸识别系统
Jul 14 Python
如何在Win10系统使用Python3连接Hive
Oct 15 Python
Python 数据科学 Matplotlib图库详解
Jul 07 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
ThinkPHP打开验证码页面显示乱码的解决方法
2014/12/18 PHP
PHP中preg_match函数正则匹配的字符串长度问题
2015/05/27 PHP
PHP结合jQuery实现找回密码
2015/07/22 PHP
PHP时间戳格式全部汇总 (获取时间、时间戳)
2016/06/13 PHP
Thinkphp开发--集成极光推送
2017/09/15 PHP
extjs ColumnChart设置不同的颜色实现代码
2013/05/17 Javascript
使用Javascript简单实现图片无缝滚动
2014/12/05 Javascript
javascript的push使用指南
2014/12/05 Javascript
JavaScript中的方法重载实例
2015/03/16 Javascript
JS实现动态生成表格并提交表格数据向后端
2020/11/25 Javascript
javascript用正则表达式过滤空格的实现代码
2016/06/14 Javascript
JavaScript判断数组是否存在key的简单实例
2016/08/03 Javascript
JS不完全国际化&本地化手册 之 理论篇
2016/09/27 Javascript
javascript实现无法关闭的弹框
2016/11/27 Javascript
js代码实现下拉菜单【推荐】
2016/12/15 Javascript
js中删除数组中的某一元素实例(无下标时)
2017/02/28 Javascript
十大 Node.js 的 Web 框架(快速提升工作效率)
2017/06/30 Javascript
基于JavaScript实现弹幕特效
2020/08/27 Javascript
react路由配置方式详解
2017/08/07 Javascript
微信小程序引用公共js里的方法的实例详解
2017/08/17 Javascript
详解bootstrap导航栏.nav与.navbar区别
2017/11/23 Javascript
JavaScript程序设计高级算法之动态规划实例分析
2017/11/24 Javascript
微信小程序中使用ECharts 异步加载数据实现图表功能
2018/07/13 Javascript
JS变量提升及函数提升实例解析
2020/09/03 Javascript
json跨域调用python的方法详解
2017/01/11 Python
Django 生成登陆验证码代码分享
2017/12/12 Python
对python中的six.moves模块的下载函数urlretrieve详解
2018/12/19 Python
Python进行统计建模
2020/08/10 Python
利用Python实现最小二乘法与梯度下降算法
2021/02/21 Python
伦敦最著名的老字号百货公司:Selfridges(塞尔福里奇百货)
2016/07/25 全球购物
西班牙著名的珠宝首饰品牌:P D PAOLA
2018/09/15 全球购物
将"引用"作为函数参数有哪些特点
2013/04/05 面试题
公务员培训心得体会
2013/12/28 职场文书
小学元宵节活动总结
2015/02/06 职场文书
Python爬虫实战之爬取京东商品数据并实实现数据可视化
2021/06/07 Python
mysql分组后合并显示一个字段的多条数据方式
2022/01/22 MySQL