快捷搜索: 王者荣耀 脱发

笔记:torch的基本运算

1. torch.clamp (a,x,y)

a 为张量,x为下界线,y为上界。 当a内某个元素小于x时,取x。在[x,y]内时,取本身。大于y时,取y。 不必纠结是 >=x 还是 >x ,怎么都是取与x相等的值,所以无所谓(y同理)

import torch
a=torch.randn(2,3)#标准正态分布的数据
print(a)

b=torch.clamp(a,-0.1,0.2)
print(b)

结果:

2. torch.div(x,y)

返回x/y,如果是张量,则对应元素相除(shape要相同,除非是(2,3)与(1,2,3)) 如果是x一个数,x除以y所有元素 如果是y一个数,x所有元素除以y

import torch
a=torch.randn(2,3)
print(a)

b=torch.randn(2,3)#(1,2,3)也可以
print(b)

c=torch.div(a,b)
print(c)

d=torch.randn(2,3)
print(d)

e=torch.div(10,d)
print(e)

f=torch.div(d,10)
print(f)

输出:

3. torch.mul(x,y)

x,y都是张量,对应元素相乘, 当x,y其中一个是一个数,张量都乘以一个数

import torch
a=torch.randn(2,3)
print(a)

b=torch.randn(2,3)#(1,2,3)也可以
print(b)

c=torch.mul(a,b)
print(c)

d=torch.randn(2,3)
print(d)

e=torch.mul(10,d)
print(e)

输出:

4. torch.mm(x,y)

求矩阵相乘,遵从矩阵相乘法则

import torch
a=torch.randn(2,3)
print(a)

b=torch.randn(3,2)
print(b)

c=torch.mm(a,b)
print(c)

输出:

5. torch.mv(x,y)

x矩阵和y向量的乘法

import torch
a=torch.randn(2,3)
print(a)

b=torch.randn(3)
print(b)

c=torch.mv(a,b)
print(c)

d=torch.randn(3,1)
print(d)
#
e=torch.mm(a,d)
print(e)

输出:

6. torch.pow(x,y)

求幂

import torch
a=torch.randn(2,3)
print(a)

b=torch.pow(2,a)#2的 a中每个元素 次幂
print(b)

c=torch.pow(a,2))#a中每个元素 的2次幂
print(c)

输出:

经验分享 程序员 微信小程序 职场和发展