多級篩選:
比如結構是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...