当前位置:网站首页>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中的元素个数
边栏推荐
- Performance test method of bank core business system
- codeforces每日5题(均1700)-第六天
- How to choose PLC and MCU?
- 出现Permission denied的解决办法(750权限谨慎使用)
- Arabellacpc 2019 (supplementary question)
- Buuctf question brushing notes - [geek challenge 2019] easysql 1
- Codeworks 5 questions per day (1700 average) - day 6
- Self made CA certificate and SSL certificate using OpenSSL
- Idea push rejected solution
- SAP ALV颜色代码对应颜色(整理)
猜你喜欢
Princeton University, Peking University & UIUC | offline reinforcement learning with realizability and single strategy concentration
Apt installation ZABBIX
蓝色样式商城网站页脚代码
[pointer training - eight questions]
Research on cooperative control of industrial robots
My C language learning record (blue bridge) -- on the pointer
教你用Pytorch搭建一个自己的简单的BP神经网络( 以iris数据集为例 )
Résumé des méthodes de reconnaissance des caractères ocr
MySQL advanced notes
Problems encountered in 2022 work IV
随机推荐
Force buckle 1189 Maximum number of "balloons"
OCR文字識別方法綜述
Jenkins basic knowledge ----- detailed explanation of 03pipeline code
如何做好功能测试
Résumé des méthodes de reconnaissance des caractères ocr
SAP ALV颜色代码对应颜色(整理)
Rust language -- iterators and closures
Leetcode problem solving -- 173 Binary search tree iterator
深度解析指针与数组笔试题
1003 emergency (25 points), "DIJ deformation"
Performance analysis of user login TPS low and CPU full
Tidb ecological tools (backup, migration, import / export) collation
华为、H3C、思科命令对比,思维导图形式从基础、交换、路由三大方向介绍【转自微信公众号网络技术联盟站】
【概念】Web 基础概念认知
js 正则过滤和增加富文本中图片前缀
Princeton University, Peking University & UIUC | offline reinforcement learning with realizability and single strategy concentration
mysqldump数据备份
真机无法访问虚拟机的靶场,真机无法ping通虚拟机
3857墨卡托坐标系转换为4326 (WGS84)经纬度坐标
Handwriting database client