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的三目运算符和not in运算符使用示例
Mar 03 Python
Python获取DLL和EXE文件版本号的方法
Mar 10 Python
Python文档生成工具pydoc使用介绍
Jun 02 Python
python进程管理工具supervisor的安装与使用教程
Sep 05 Python
python实现字符串加密 生成唯一固定长度字符串
Mar 22 Python
pyqt5 lineEdit设置密码隐藏,删除lineEdit已输入的内容等属性方法
Jun 24 Python
Python在Matplotlib图中显示中文字体的操作方法
Jul 29 Python
python画微信表情符的实例代码
Oct 09 Python
Python爬虫之urllib基础用法教程
Oct 12 Python
tensorflow ckpt模型和pb模型获取节点名称,及ckpt转pb模型实例
Jan 21 Python
Python要求O(n)复杂度求无序列表中第K的大元素实例
Apr 02 Python
python 实时调取摄像头的示例代码
Nov 25 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
摩卡咖啡
2021/03/03 咖啡文化
PHP4引用文件语句的对比
2006/10/09 PHP
用PHP4访问Oracle815
2006/10/09 PHP
PHP判断是否微信访问的方法示例
2019/03/27 PHP
用正则xmlHttp实现的偷(转)
2007/01/22 Javascript
alixixi runcode.asp的代码不错的应用
2007/08/08 Javascript
JQUERY 设置SELECT选中项代码
2014/02/07 Javascript
jquery浏览器滚动加载技术实现方案
2014/06/03 Javascript
javascript学习笔记(五)原型和原型链详解
2014/10/08 Javascript
JS判断字符串包含的方法
2015/05/05 Javascript
特殊日期提示功能的实现方法
2016/06/16 Javascript
基于angularjs实现图片放大镜效果
2016/08/31 Javascript
WEB 前端开发中防治重复提交的实现方法
2016/10/26 Javascript
基于Vue如何封装分页组件
2016/12/16 Javascript
基于Node的React图片上传组件实现实例代码
2017/05/10 Javascript
Vue组件和Route的生命周期实例详解
2018/02/10 Javascript
React+Webpack快速上手指南(小结)
2018/08/15 Javascript
关于微信小程序map组件z-index的层级问题分析
2019/07/09 Javascript
jquery插件开发模式实例详解
2019/07/20 jQuery
详解Vue 项目中的几个实用组件(ts)
2019/10/29 Javascript
小程序富文本提取图片可放大缩小
2020/05/26 Javascript
解决vue侦听器watch,调用this时出现undefined的问题
2020/10/30 Javascript
详解nginx配置vue h5 history去除#号
2020/11/09 Javascript
[01:03:36]Ti4 循环赛第三日DK vs Titan
2014/07/12 DOTA
[01:34]DOTA2 7.22版本新增神杖效果一览(敏捷英雄篇)
2019/05/28 DOTA
Python下的subprocess模块的入门指引
2015/04/16 Python
Python3 实现随机生成一组不重复数并按行写入文件
2018/04/09 Python
Python开发之pip安装及使用方法详解
2020/02/21 Python
canvas像素点操作之视频绿幕抠图
2018/09/11 HTML / CSS
美国社交购物市场:MassGenie
2019/02/18 全球购物
我的网上商城创业计划书
2013/12/26 职场文书
申报优秀教师材料
2014/12/16 职场文书
2015新学期校长寄语(3篇)
2015/03/25 职场文书
2016年秋季新学期致辞
2015/07/30 职场文书
学习计划是什么
2019/04/30 职场文书
解决mysql的int型主键自增问题
2021/07/15 MySQL