当前位置:网站首页>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中的元素个数
边栏推荐
- Redo file corruption repair
- JS regular filtering and adding image prefixes in rich text
- EDCircles: A real-time circle detector with a false detection control 翻译
- MySQL Server层四个日志
- 【 kubernets series】 a Literature Study on the Safe exposure Applications of kubernets Service
- Descriptor implements ORM model
- [unity3d] GUI control
- 如何做好功能测试
- MySQL advanced notes
- Computer graduation project asp Net fitness management system VS development SQLSERVER database web structure c programming computer web page source code project
猜你喜欢
Apt installation ZABBIX
SAP ALV单元格级别设置颜色
Reverse repackaging of wechat applet
Modeling specifications: naming conventions
【概念】Web 基础概念认知
Tidb ecological tools (backup, migration, import / export) collation
[Li Kou] the second set of the 280 Li Kou weekly match
OCR文字识别方法综述
蓝色样式商城网站页脚代码
Software design principles
随机推荐
Audio-AudioRecord Binder通信机制
ERA5再分析资料下载攻略
Lua uses require to load the shared library successfully, but the return is Boolean (always true)
three.js网页背景动画液态js特效
OCR文字识别方法综述
Arabellacpc 2019 (supplementary question)
手写数据库客户端
Research on cooperative control of industrial robots
深入探究指针及指针类型
Analyze menu analysis
NR modulation 1
[Li Kou] the second set of the 280 Li Kou weekly match
Detailed use of dbutils # yyds dry goods inventory #
Leetcode problem solving -- 98 Validate binary search tree
1003 emergency (25 points), "DIJ deformation"
Force buckle 1189 Maximum number of "balloons"
Explore pointers and pointer types in depth
Codeworks 5 questions per day (1700 average) - day 6
[ruoyi] set theme style
【Kubernetes 系列】一文學會Kubernetes Service安全的暴露應用