当前位置:网站首页>Pytorch基础——(2)张量(tensor)的数学运算
Pytorch基础——(2)张量(tensor)的数学运算
2022-07-06 03:18:00 【七上八下的黑】
目录
一、基本运算
import torch
x = torch.tensor([2, 2, 2], dtype=torch.float32)
y = torch.tensor([3, 4, 5], dtype=torch.float32)- 加法
out1 = torch.add(x, y)
print(out1)- 减法
out2 = torch.sub(x, y)
print(out2)- 除法
out3 = torch.div(x, y)
print(out3)- 乘法
out4 = torch.mul(x, y)
print(out4)- 矩阵乘法
a = torch.rand((2, 5))
b = torch.rand((5, 3))
out5 = torch.mm(a, b)
print(out5)
print(out5.shape)- 批量矩阵乘法
batch = 16
c1 = 5
c2 = 10
c3 = 20
x1 = torch.rand(batch, c1, c2) # 16*5*10
x2 = torch.rand(batch, c2, c3) # 16*10*20
out6 = torch.bmm(x1, x2) # 16*5*20
print(out6.shape)- 指数
out7 = x.pow(3)
print(out7)- 矩阵指数
x = torch.tensor([[1, 1], [1, 1]]) # (2*2)必须行列数相同
out8 = x.matrix_power(2)
print(out8) # 2*2- broadcasting
x1 = torch.rand((1, 3))
x2 = torch.rand((3, 3))
out9 = x1 -x2
print(out9)二、最大值、最小值、均值、绝对值、排序
import torch
x = torch.tensor([[-1, 2, 3], [4, 5, 6]], dtype=torch.float32)
y = torch.tensor([[1, 1, 2], [0, 10, 9]], dtype=torch.float32)- 最大值、最小值、均值
values, indice = torch.max(x, dim=0) # dim=0表示列,1表示行
print(values) # 最大值的值
print(indice) # 最大值的索引
values, indice = torch.min(x, dim=0) # dim=0表示列,1表示行
print(values) # 最小值的值
print(indice) # 最小值的索引
values, indice = torch.mean(x, dim=0)
print(values)
print(indice)# 找到最大值、最小值的索引
out1 = torch.argmax(x, dim=0)
out2 = torch.argmin(x, dim=0)- 绝对值
out = torch.abs(x)
print(out)- 排序
values, indice = torch.sort(x, dim=1, descending=False) # descending=False表示升序
print(values)
print(indice)三、tensor的索引
- 简单操作
x = torch.tensor([1, 4, 5, 6, 0, 8, 6, 1, 4, 5])
print(x[0]) # 第一个元素
print(x[1: 6]) # 输出第2个到第6个元素
x = torch.randn((3, 10)) # size 3x10
print(x[0]) # 输出第1行的所有数, size 1x10
print(x[0, :]) # size 1x10
print(x[:, 0]) # 输出第1列的所有数, size 10x1
x = torch.randn((4, 10))
rows = [1, 3]
colums = [2, 9]
print(x[rows, colums]) # (2, 3) (4, 10)- 带条件的
x = torch.tensor([1, 4, 5, 6, 0, 8, 6, 1, 4, 5])
print(torch.where(x > 5, x, x/2)) # x>5时输出x,否则输出x/2- 其他
print(x.unique()) # 输出不重复的元素
print(x.numel()) # 输出x中的元素个数边栏推荐
- 如何做好功能测试
- three.js网页背景动画液态js特效
- Erreur de la carte SD "erreur - 110 whilst initialisation de la carte SD
- I sorted out a classic interview question for my job hopping friends
- svg拖动点裁剪图片js特效
- These are not very good
- [Li Kou] the second set of the 280 Li Kou weekly match
- 八道超经典指针面试题(三千字详解)
- Analyze menu analysis
- SD卡報錯“error -110 whilst initialising SD card
猜你喜欢
随机推荐
MySQL advanced notes
【 kubernets series】 a Literature Study on the Safe exposure Applications of kubernets Service
Prototype design
1.16 - 校验码
ERA5再分析资料下载攻略
[unity3d] GUI control
Daily question brushing plan-2-13 fingertip life
js凡客banner轮播图js特效
【SLAM】lidar-camera外参标定(港大MarsLab)无需二维码标定板
Analyze menu analysis
【Kubernetes 系列】一文學會Kubernetes Service安全的暴露應用
Zhang Lijun: penetrating uncertainty depends on four "invariants"
Selenium share
真机无法访问虚拟机的靶场,真机无法ping通虚拟机
Add one to non negative integers in the array
【概念】Web 基础概念认知
The real machine cannot access the shooting range of the virtual machine, and the real machine cannot Ping the virtual machine
Audio-AudioRecord Binder通信机制
Advanced learning of MySQL -- Fundamentals -- isolation level of transactions
指针笔试题~走近大厂


![[pointer training - eight questions]](/img/fd/1aa3937548a04078c4d7e08198c3a8.png)




