pytorch多維篩選

2021-09-30 20:31:18 字數 835 閱讀 8230

多級篩選:

比如結構是2*2*3,只想選第三維的最大的

tx[index, best_n, g_y_center, g_x_center]
index=[01],best_n=[0,1]

最後只取兩個值,第一行,第1列,第二行,第2列的。

篩選第3維最大的值,下面的**不對,解決方法:查詢max原始碼

也可以把3維用view降到2維再計算就可以了。

import torch

anch_ious = torch.tensor([[[1, 2, 3]], [[4, 5, 6]], [[7, 8, 9]]])

print('b shape',anch_ious.shape)

b = torch.max(anch_ious, 2)

print(b[0])

print(b[1])

b = b[1].squeeze(1)

print(b)

print(anch_ious[list(range(anch_ious.size(0))),list(range(anch_ious.size(1))), b])

通過值篩選:

import torch

x = torch.linspace(1, 8, steps=8).view(4, 2)

#篩選第一維和第二維都》5.5的

print(x)

area=(x[:,0]>5.5)&(x[:,1]>5.5)

b=x[area]

# b= x[torch.where((x[:,0]&g

pytorch 拓展cuda語言 多維索引問題

四維矩陣索引公式 四維矩陣 n,c,h,w 當前四維索引為 n,c,h,w,out idx n c h w c h w h w w pytorch中的 permute a torch.randn 5,3,4 a的size為 5,3,4 b a.permute 0,2,1 此時b的size會變成 5,...

Pytorch對多維Tensor按維度操作

記憶要點 dim 0 說明是處理行 dim 1 說明是處理列 keepdim true 保留處理的行 列的特徵 keepdim false 不保留處理的行 列的特徵 網上流傳的版本有很多,但是我們根據結果來說話。我的理解是哪個維度發生了變化就是處理的是哪個維度。if name main 模型引數初始...

pytorch實現BP,處理多維資料輸入

import torch import matplotlib.pyplot as plt import numpy as np xy np.loadtxt 000.txt delimiter dtype np.float32 x data torch.from numpy xy 1 取前九列 y d...