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 10 Python
Python中使用haystack实现django全文检索搜索引擎功能
Aug 26 Python
Python3学习笔记之列表方法示例详解
Oct 06 Python
Python中顺序表的实现简单代码分享
Jan 09 Python
基于Python 装饰器装饰类中的方法实例
Apr 21 Python
linux查找当前python解释器的位置方法
Feb 20 Python
Django Rest framework解析器和渲染器详解
Jul 25 Python
解决python有时候import不了当前的包问题
Aug 28 Python
python和js交互调用的方法
Jun 23 Python
解决python3输入的坑——input()
Dec 05 Python
Pycharm 如何设置HTML文件自动补全代码或标签
May 21 Python
如何利用opencv判断两张图片是否相同详解
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
PHP网页游戏学习之Xnova(ogame)源码解读(六)
2014/06/23 PHP
PHP中比较时间大小实例
2014/08/21 PHP
详解PHP中的状态模式编程
2015/08/11 PHP
php大小写转换函数(strtolower、strtoupper)用法介绍
2017/11/17 PHP
laravel清除视图缓存的代码
2019/10/23 PHP
JavaScript TO HTML 转换
2006/06/26 Javascript
Jquery post传递数组方法实现思路及代码
2013/04/28 Javascript
jQuery中eq()方法用法实例
2015/01/05 Javascript
JS+CSS实现简易的滑动门效果代码
2015/09/24 Javascript
JavaScript实现简单的tab选项卡切换
2016/01/05 Javascript
BootStrap智能表单实战系列(六)表单编辑页面的数据绑定
2016/06/13 Javascript
分享JavaScript监听全部Ajax请求事件的方法
2016/08/28 Javascript
Java  Spring 事务回滚详解
2016/10/17 Javascript
Angular2 http jsonp的实例详解
2017/08/31 Javascript
微信小程序swiper组件用法实例分析【附源码下载】
2017/12/07 Javascript
详解微信小程序调起键盘性能优化
2018/07/24 Javascript
vue cli 3.0 搭建项目的图文教程
2019/05/17 Javascript
解决layui-table单元格设置为百分比在ie8下不能自适应的问题
2019/09/28 Javascript
基于jquery实现彩色投票进度条代码解析
2020/08/26 jQuery
Python中的自省(反射)详解
2015/06/02 Python
Python正则表达式完全指南
2017/05/25 Python
Python配置mysql的教程(推荐)
2017/10/13 Python
基于python3 OpenCV3实现静态图片人脸识别
2018/05/25 Python
详解pandas使用drop_duplicates去除DataFrame重复项参数
2019/08/01 Python
Python range、enumerate和zip函数用法详解
2019/09/11 Python
python django中8000端口被占用的解决
2019/12/17 Python
详解Python设计模式之策略模式
2020/06/15 Python
python pandas dataframe 去重函数的具体使用
2020/07/20 Python
英国DIY和家居装饰领域的主要品牌:Wickes
2019/11/26 全球购物
Java 中访问数据库的步骤?Statement 和PreparedStatement 之间的区别?
2012/06/05 面试题
应届毕业生自我鉴定范文
2013/12/27 职场文书
毕业生个人求职自荐信
2014/02/26 职场文书
优秀学生主要事迹怎么写
2015/11/04 职场文书
python使用pygame创建精灵Sprite
2021/04/06 Python
解决jupyter notebook图片显示模糊和保存清晰图片的操作
2021/04/24 Python
详解解Django 多对多表关系的三种创建方式
2021/08/23 Python