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实现多线程暴力破解登陆路由器功能代码分享
Jan 04 Python
编写Python脚本批量下载DesktopNexus壁纸的教程
May 06 Python
python MysqlDb模块安装及其使用详解
Feb 23 Python
Python中一行和多行import模块问题
Apr 01 Python
python矩阵转换为一维数组的实例
Jun 05 Python
selenium+PhantomJS爬取豆瓣读书
Aug 26 Python
python opencv图片编码为h264文件的实例
Dec 12 Python
Django Serializer HiddenField隐藏字段实例
Mar 31 Python
基于python实现计算且附带进度条代码实例
Mar 31 Python
python学习笔记之多进程
Aug 06 Python
运行Python编写的程序方法实例
Oct 21 Python
Python中的 enumerate和zip详情
May 30 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)二
2006/10/09 PHP
PHP使用递归方式列出当前目录下所有文件的方法
2015/06/02 PHP
jquery select(列表)的操作(取值/赋值)
2009/08/06 Javascript
浅谈Javascript事件处理程序的几种方式
2012/06/27 Javascript
js控制TR的显示隐藏
2016/03/04 Javascript
JQuery 设置checkbox值二次无效的解决方法
2016/07/22 Javascript
JS实现双击内容变为可编辑状态
2017/03/03 Javascript
微信小程序商品到详情的实现
2017/06/27 Javascript
详解自定义ajax支持跨域组件封装
2018/02/08 Javascript
使用Angular CLI生成 Angular 5项目教程详解
2018/03/18 Javascript
AngularJS日期格式化常见操作实例分析
2018/05/17 Javascript
javascript function(函数类型)使用与注意事项小结
2019/06/10 Javascript
vue2路由方式--嵌套路由实现方法分析
2020/03/06 Javascript
[02:51]2014DOTA2 TI小组赛总结中国军团全部进军钥匙球馆
2014/07/15 DOTA
[56:18]DOTA2上海特级锦标赛主赛事日 - 4 败者组第四轮#2 MVP.Phx VS Fnatic第二局
2016/03/05 DOTA
用Python实现一个简单的线程池
2015/04/07 Python
在centos7中分布式部署pyspider
2017/05/03 Python
matplotlib设置legend图例代码示例
2017/12/19 Python
Python之Scrapy爬虫框架安装及简单使用详解
2017/12/22 Python
Python中Unittest框架的具体使用
2019/08/27 Python
Python绘图实现显示中文
2019/12/04 Python
浅谈Django前端后端值传递问题
2020/07/15 Python
html5 input属性使用示例
2013/06/28 HTML / CSS
使用HTML5加载音频和视频的实现代码
2020/11/30 HTML / CSS
草莓巧克力:Shari’s Berries
2017/02/07 全球购物
TripAdvisor印尼站:全球领先的旅游网站
2018/03/15 全球购物
New Balance澳大利亚官网:运动鞋和健身服装
2019/02/23 全球购物
平面设计师的工作职责
2013/11/21 职场文书
大一自我鉴定范文
2013/12/27 职场文书
2014年高考决心书
2014/03/11 职场文书
不拖欠农民工工资承诺书
2014/03/31 职场文书
党员学习中共十八大报告思想汇报
2014/09/15 职场文书
民事起诉书范本
2015/05/19 职场文书
圆明园观后感
2015/06/03 职场文书
交通处罚决定书
2015/06/24 职场文书
Redis做数据持久化的解决方案及底层原理
2021/07/15 Redis