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使用函数默认值实现函数静态变量的方法
Aug 18 Python
python判断字符串是否包含子字符串的方法
Mar 24 Python
12步入门Python中的decorator装饰器使用方法
Jun 20 Python
CentOS 7下Python 2.7升级至Python3.6.1的实战教程
Jul 06 Python
python 多维切片之冒号和三个点的用法介绍
Apr 19 Python
Python3的介绍、安装和命令行的认识(推荐)
Oct 20 Python
python 提取文件指定列的方法示例
Aug 07 Python
Python找出列表中出现次数最多的元素三种方式
Feb 24 Python
Python捕获异常堆栈信息的几种方法(小结)
May 18 Python
Python操作Elasticsearch处理timeout超时
Jul 17 Python
python制作一个简单的gui 数据库查询界面
Nov 19 Python
python将下载到本地m3u8视频合成MP4的代码详解
Nov 24 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中使用sockets:从新闻组中获取文章
2006/10/09 PHP
解析smarty模板中类似for的功能实现
2013/06/18 PHP
php动态变量定义及使用
2015/06/10 PHP
浅谈htmlentities 、htmlspecialchars、addslashes的使用方法
2016/12/09 PHP
深入浅析PHP的session反序列化漏洞问题
2017/06/15 PHP
PHP常用字符串输出方法分析(echo,print,printf及sprintf)
2021/03/09 PHP
JS处理VBArray的函数使用说明
2008/05/11 Javascript
JS 两日期相减,获得天数的小例子(兼容IE,FF)
2013/07/01 Javascript
javascript静态页面传值的三种方法分享
2013/11/12 Javascript
使用js获取图片原始尺寸
2014/12/03 Javascript
JavaScript获取页面中表单(form)数量的方法
2015/04/03 Javascript
JavaScript函数学习总结以及相关的编程习惯指南
2015/11/16 Javascript
Bootstrap CSS组件之分页(pagination)和翻页(pager)
2016/12/17 Javascript
js获取地址栏中传递的参数(两种方法)
2017/02/08 Javascript
vue路由跳转传参数的方法
2019/05/06 Javascript
vue中使用极验验证码的方法(附demo)
2019/12/04 Javascript
学习python处理python编码问题
2011/03/13 Python
python实现目录树生成示例
2014/03/28 Python
Python3 模块、包调用&路径详解
2017/10/25 Python
Python内建函数之raw_input()与input()代码解析
2017/10/26 Python
numpy中的高维数组转置实例
2018/04/17 Python
python自动登录12306并自动点击验证码完成登录的实现源代码
2018/04/25 Python
Python 创建新文件时避免覆盖已有的同名文件的解决方法
2018/11/16 Python
Django 配置多站点多域名的实现步骤
2019/05/17 Python
Python使用Socket实现简单聊天程序
2020/02/28 Python
Django框架models使用group by详解
2020/03/11 Python
Python如何执行系统命令
2020/09/23 Python
CSS3实现的闪烁跳跃进度条示例(附源码)
2013/08/19 HTML / CSS
德国PC硬件网站:CASEKING
2016/10/20 全球购物
Ego Shoes官网:英国时髦鞋类品牌
2020/10/19 全球购物
介绍一下你对SOA的认识
2016/04/24 面试题
甘南现象心得体会
2014/09/11 职场文书
交通局领导班子群众路线教育实践活动对照检查材料思想汇报
2014/10/09 职场文书
个人股份合作协议书
2014/10/24 职场文书
项目建议书
2015/02/04 职场文书
2015年社区教育工作总结
2015/05/13 职场文书