基本的运算操作类型:

Add/minus/multiply/divide 加减乘除 ,

Matmul 矩阵式相乘,

Pow 次方,Sqrt/rsqrt 开方,

Round 近似运算,Clamp取上下限。

基础的运算:加 +(add),减-(sub), 乘*(mul) ,除/(div)

a = torch.rand(3,4)
b=torch.rand(4)print(a+b)
print(torch.add(a,b))
print(a-b)
print(torch.sub(a,b))
print(a*b) # element-wise
print(torch.mul(a,b))
print(a/b)
print(torch.div(a,b))

矩阵相乘 matmul

Torch.mm 矩阵的相乘 只适合于2d的tensor

Torch.matmul /@  矩阵相乘,可以是2d以上的tensor,进行运算的时候取最后两个维度进行乘运算。建议使用。

2d的例子:

a = torch.ones(2,2)+torch.ones(2,2)
b=torch.ones(2,2)print(torch.mm(a, b))
print(torch.matmul(a, b))
print(a@b)

 超过2d的例子:

注意计算过程是:先广播机制,在乘运算:            

使用@例子:

power次方操作:

a = torch.full([2,2],3)
print(a.pow(2))
print(a**2)

sqrt开方操作:

aa = a**2
print(aa)
print(aa.sqrt())
print(aa**(0.5))

         Rsqrt() 表示平方根的倒数 用的比较少一点。

print(aa.rsqrt())

exp log 自然数,和自然对数:

 构建自然数的tensor:

a = torch.exp(torch.ones(2,2))
print(a)

自然对数(log以e为底):

print(torch.log(a))

注意,log函数默认以e为底,要是以2为底就是log2(tensor),以n为底就是logn(tensor)。

近似值函数:

a=torch.tensor(3.14)
# 向下取整
print(a.float())
# 向上取整
print(a.ceil())
# 裁剪整数部分
print(a.trunc())
# 裁剪小数部分
print(a.frac())

# 四舍五入
a= torch.tensor(3.499)
print(a.round())a = torch.tensor(3.5)
print(a.round())

Clamp函数:裁剪功能,常用于梯度裁剪。

(作用手动消除梯度爆炸或者消失)

常用情况:      

 For i in []:Clamp(w.grad(1,10))

  补充一个技巧:

查看梯度的模,W.grad.norm(2)==>表示梯度举证的第二范式。

torch学习笔记之——数学运算相关推荐

  1. Polyworks脚本开发学习笔记(六)-比较运算、数学运算、逻辑运算及流程控制

    Polyworks脚本开发学习笔记(六)-比较运算.数学运算.逻辑运算及流程控制 前言 比较运算.逻辑运算及流程控制是编程的基本语法,Polyworks的语法规则与VB/C#/Python等并没有很大 ...

  2. C++学习笔记-----用位运算实现加减乘除

    C++学习笔记-----用位运算实现加减乘除 原文:http://blog.csdn.net/sinat_35261315/article/details/72904945 数据在计算机内存中是以二进 ...

  3. c语言用位运算将一个数清零,C语言学习笔记_位运算

    C语言学习笔记_位运算 知识点记录 基本位运算 按位与:全1为1,见0为0:与1相与无变化,与0相与变为0:可用于特定位清零 按位或:见1为1,全0为0:与1相或变为1,与0相或无变化:可用于特定位置 ...

  4. 从零开始实现递归神经网络——【torch学习笔记】

    从零开始实现递归神经网络--[torch学习笔记] 引用翻译:<动手学深度学习> 从头开始实现一个语言模型.它是基于H.G.威尔斯的 "时间机器 "所训练的字符级递归神 ...

  5. Matlab学习笔记(数学函数)一

    最近一直再看matlab5手册,写一些作为学习笔记. 一些常用的数学函数: clc; x=1.7 y1=abs(x)%绝对值 sign(x)%x的符号,正1.负-1,零0 sqrt(x)%根号 pow ...

  6. #学习笔记#13_数学工具类Math

    数学工具类Math java.util.Math 类是数学相关的工具类,里面提供了大量的静态方法,完成与数学运算相关的操作 public static double abs(double num):获 ...

  7. [数学学习笔记]导数的运算

    基本初等函数 初等函数是由基本初等函数经过有限次的四则运算和复合运算所得到的函数.基本初等函数和初等函数在其定义区间内均为连续函数. 高等数学将基本初等函数归为五类:幂函数.指数函数.对数函数.三角函 ...

  8. math python 向上取整_Python成为专业人士笔记-各数学运算操作深度剖析

    "专业人士笔记"系列目录: 创帆云:Python成为专业人士笔记--强烈建议收藏!每日持续更新!​zhuanlan.zhihu.com Python可以执行常见的数学运算符,包括整 ...

  9. python-opencv学习笔记2 核心运算

    核心运算 2.1 图像的基本操作 重要函数 访问和修改像素值 访问图像属性 图像形状属性 img.shape 图像总像素数属性 img.size 图像数据类型属性 img.dtype 图像ROI 分割 ...

最新文章

  1. Matlab符号运算 - 解微分方程
  2. 喜茶获美团点评旗下基金4亿元投资!它离行业独角兽还差多远?
  3. ASP.NET 连接MySql数据库
  4. 【无码专区7】括号序列(思维)
  5. 通过类或ID记录上一个被选中的标签或者数字
  6. jsp 连接MS server 数据库的例子
  7. Python学习入门4:学习Python无从下手?最好的免费资源想要拿走
  8. 洛谷P2134 百日旅行
  9. 05-不是内部或外部命令,也不是可运行的程序或批处理文件
  10. iOS多线程: pthread、NSThread
  11. html是一种制作万维网页面的标准语言,计算机网络基础练习选择题
  12. uniapp公共跳转(uni.navigateTo)封装
  13. C#怎么调用MATLAB的动态链接库
  14. 怎么给pdf添加水印-四个简单步骤
  15. python判断素数的函数_python中判断素数的函数
  16. python dataframe 列筛选_pandas系列之DataFrame 行列数据筛选实例
  17. Python简介及入门
  18. 万能检测数据类型的方法
  19. IMSI号和IMEI解释
  20. linux系统工程师面试题答案整理

热门文章

  1. JAVA 入坑教程 | 章节二 基本数据类型
  2. ROG配置ubuntu20.04.5双系统要点
  3. Maven搭建,配置mirror阿里云镜像,配置本地仓库
  4. Android快速选字,哪款打字最快捷方便?Android输入法合辑
  5. word不能输入中文
  6. linux不清楚软件包名字,技术|Shilpa Nair 分享的 RedHat Linux 包管理方面的面试经验...
  7. 西子奥的斯电梯服务器使用教程方法_奥的斯电梯服务器按键说明
  8. 固态硬盘是什么接口_固态硬盘的3种接口,一个堪称上古神兽,一个像是金箍棒...
  9. 【家长收藏】小学三年级语文下册预习资料——杭州心田花开
  10. 角色限制(AuthorizeAttribute)