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中操作字典之update()方法的使用
May 22 Python
Python中random模块生成随机数详解
Mar 10 Python
Python文件操作,open读写文件,追加文本内容实例
Dec 14 Python
Python类的动态修改的实例方法
Mar 24 Python
与Django结合利用模型对上传图片预测的实例详解
Aug 07 Python
python图片指定区域替换img.paste函数的使用
Apr 09 Python
浅析python 通⽤爬⾍和聚焦爬⾍
Sep 28 Python
python 用opencv实现图像修复和图像金字塔
Nov 27 Python
使用OpenCV实现人脸图像卡通化的示例代码
Jan 15 Python
python tkinter模块的简单使用
Apr 07 Python
Python获取指定日期是"星期几"的6种方法
Mar 13 Python
一行Python命令实现批量加水印
Apr 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
解析file_get_contents模仿浏览器头(user_agent)获取数据
2013/06/27 PHP
php使用session二维数组实例
2014/11/06 PHP
详解WordPress中的头像缓存和代理中的缓存更新方法
2016/03/01 PHP
php时间计算相关问题小结
2016/05/09 PHP
PHP实现冒泡排序的简单实例
2016/05/26 PHP
CI(CodeIgniter)框架实现图片上传的方法
2017/03/24 PHP
浅谈Laravel中的一个后期静态绑定
2017/08/11 PHP
php检查函数必传参数是否存在的实例详解
2017/08/28 PHP
Laravel中七个非常有用但很少人知道的Carbon方法
2017/09/21 PHP
javascript 全等号运算符使用说明
2010/05/31 Javascript
JS模拟面向对象全解(二、类型与赋值)
2011/07/13 Javascript
JS通过分析userAgent属性来判断浏览器的类型及版本
2014/03/28 Javascript
JavaScript中的ubound函数使用实例
2014/11/04 Javascript
JavaScript高级教程5.6之基本包装类型(详细)
2015/11/23 Javascript
JS实现拖动滚动条评分的效果代码分享
2016/09/29 Javascript
js实现图片切换(动画版)
2016/12/25 Javascript
js 去掉字符串前后空格实现代码集合
2017/03/25 Javascript
[js高手之路]图解javascript的原型(prototype)对象,原型链实例
2017/08/28 Javascript
微信小程序 textarea 层级过高问题简单解决方案
2019/10/14 Javascript
学习python处理python编码问题
2011/03/13 Python
Sanic框架配置操作分析
2018/07/17 Python
python2与python3共存问题的解决方法
2018/09/18 Python
python PyQt5/Pyside2 按钮右击菜单实例代码
2019/08/17 Python
PyCharm无法引用自身项目解决方式
2020/02/12 Python
python如何实现递归转非递归
2021/02/25 Python
伦敦一家非常流行的时尚精品店:Oxygen Boutique
2017/01/15 全球购物
美国在线旅行社:Crystal Travel
2018/09/11 全球购物
巴西24小时在线药房:Drogasil
2020/06/20 全球购物
CNC数控操作工岗位职责
2013/11/19 职场文书
单方离婚协议书范本2014
2014/10/28 职场文书
杭州西湖英语导游词
2015/02/03 职场文书
2015年安置帮教工作总结
2015/05/22 职场文书
现货白银电话营销话术
2015/05/29 职场文书
关于SpringBoot 使用 Redis 分布式锁解决并发问题
2021/11/17 Redis
通过Python把学姐照片做成拼图游戏
2022/02/15 Python
win10如何开启ahci模式?win10开启ahci模式详细操作教程
2022/07/23 数码科技