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 30 Python
pygame 精灵的行走及二段跳的实现方法(必看篇)
Jul 10 Python
对python-3-print重定向输出的几种方法总结
May 11 Python
Python基础之函数的定义与使用示例
Mar 23 Python
新手如何发布Python项目开源包过程详解
Jul 11 Python
django将网络中的图片,保存成model中的ImageField的实例
Aug 07 Python
pygame库实现移动底座弹球小游戏
Apr 14 Python
python函数中将变量名转换成字符串实例
May 11 Python
tensorflow转换ckpt为savermodel模型的实现
May 25 Python
python3中确保枚举值代码分析
Dec 02 Python
tensorflow学习笔记之tfrecord文件的生成与读取
Mar 31 Python
Python实现Matplotlib,Seaborn动态数据图
May 06 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 memcache扩展的三种安装方法
2009/04/26 PHP
php microtime获取浮点的时间戳
2010/02/21 PHP
用 Composer构建自己的 PHP 框架之构建路由
2014/10/30 PHP
php返回字符串中所有单词的方法
2015/03/09 PHP
Ajax中的JSON格式与php传输过程全面解析
2017/11/14 PHP
php实现解析xml并生成sql语句的方法
2018/02/03 PHP
PHPTree――php快速生成无限级分类
2018/03/30 PHP
javascript实现二分查找法实现代码
2007/11/12 Javascript
ASP.NET jQuery 实例2 (表单中使用回车在TextBox之间向下移动)
2012/01/13 Javascript
Javascript中valueOf与toString区别浅析
2013/03/19 Javascript
css transform 3D幻灯片特效实现步骤解读
2013/03/27 Javascript
使用Java实现简单的server/client回显功能的方法介绍
2013/05/03 Javascript
js 针对html DOM元素操作等经验累积
2014/03/11 Javascript
JS中判断null、undefined与NaN的方法
2014/03/26 Javascript
js获取页面传来参数的方法
2014/09/06 Javascript
javascript实现信息增删改查的方法
2015/07/25 Javascript
你知道setTimeout是如何运行的吗?
2016/08/16 Javascript
图文详解Javascript中的上下文和作用域
2017/02/15 Javascript
jquery实现超简单的瀑布流布局【推荐】
2017/03/08 Javascript
JavaScript之排序函数_动力节点Java学院整理
2017/06/30 Javascript
Nodejs之TCP服务端与客户端聊天程序详解
2017/07/07 NodeJs
小程序页面动态配置实现方法
2019/02/05 Javascript
解决vue中使用proxy配置不同端口和ip接口问题
2019/08/14 Javascript
javascript 内存模型实例详解
2020/04/18 Javascript
解决vue使用vant下拉框van-dropdown-item 绑定title值不变问题
2020/08/05 Javascript
vue+高德地图实现地图搜索及点击定位操作
2020/09/09 Javascript
python中关于时间和日期函数的常用计算总结(time和datatime)
2013/03/08 Python
python通过urllib2爬网页上种子下载示例
2014/02/24 Python
Python中的迭代器与生成器高级用法解析
2016/06/28 Python
查看python安装路径及pip安装的包列表及路径
2019/04/03 Python
使用pyinstaller打包PyQt4程序遇到的问题及解决方法
2019/06/24 Python
django rest framework 过滤时间操作
2020/07/12 Python
Html5嵌入钉钉的实现示例
2020/06/04 HTML / CSS
戴尔英国翻新电脑和电子产品:Dell UK Refurbished Computers
2019/07/30 全球购物
Nayomi官网:沙特阿拉伯王国睡衣和内衣品牌
2020/12/19 全球购物
装配车间主任岗位职责
2015/04/08 职场文书