日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

pytorch tensor查找0_在PyTorch中Tensor的查找和筛选例子

發(fā)布時間:2025/4/16 编程问答 53 豆豆
生活随笔 收集整理的這篇文章主要介紹了 pytorch tensor查找0_在PyTorch中Tensor的查找和筛选例子 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

本文源碼基于版本1.0,交互界面基于0.4.1

import torch

按照指定軸上的坐標(biāo)進(jìn)行過濾

index_select()

沿著某tensor的一個軸dim篩選若干個坐標(biāo)

>>> x = torch.randn(3, 4) # 目標(biāo)矩陣

>>> x

tensor([[ 0.1427, 0.0231, -0.5414, -1.0009],

[-0.4664, 0.2647, -0.1228, -1.1068],

[-1.1734, -0.6571, 0.7230, -0.6004]])

>>> indices = torch.tensor([0, 2]) # 在軸上篩選坐標(biāo)

>>> torch.index_select(x, dim=0, indices) # 指定篩選對象、軸、篩選坐標(biāo)

tensor([[ 0.1427, 0.0231, -0.5414, -1.0009],

[-1.1734, -0.6571, 0.7230, -0.6004]])

>>> torch.index_select(x, dim=1, indices)

tensor([[ 0.1427, -0.5414],

[-0.4664, -0.1228],

[-1.1734, 0.7230]])

where()

用于將兩個broadcastable的tensor組合成新的tensor,類似于c++中的三元操作符“?:”

>>> x = torch.randn(3, 2)

>>> y = torch.ones(3, 2)

>>> torch.where(x > 0, x, y)

tensor([[1.4013, 1.0000],

[1.0000, 0.9267],

[1.0000, 0.4302]])

>>> x

tensor([[ 1.4013, -0.9960],

[-0.3715, 0.9267],

[-0.7163, 0.4302]])

指定條件返回01-tensor

>>> x = torch.arange(5)

>>> x

tensor([0, 1, 2, 3, 4])

>>> torch.gt(x,1) # 大于

tensor([0, 0, 1, 1, 1], dtype=torch.uint8)

>>> x>1 # 大于

tensor([0, 0, 1, 1, 1], dtype=torch.uint8)

>>> torch.ne(x,1) # 不等于

tensor([1, 0, 1, 1, 1], dtype=torch.uint8)

>>> x!=1 # 不等于

tensor([1, 0, 1, 1, 1], dtype=torch.uint8)

>>> torch.lt(x,3) # 小于

tensor([1, 1, 1, 0, 0], dtype=torch.uint8)

>>> x<3 # 小于

tensor([1, 1, 1, 0, 0], dtype=torch.uint8)

>>> torch.eq(x,3) # 等于

tensor([0, 0, 0, 1, 0], dtype=torch.uint8)

>>> x==3 # 等于

tensor([0, 0, 0, 1, 0], dtype=torch.uint8)

返回索引

>>> x = torch.arange(5)

>>> x # 1維

tensor([0, 1, 2, 3, 4])

>>> torch.nonzero(x)

tensor([[1],

[2],

[3],

[4]])

>>> x = torch.Tensor([[0.6, 0.0, 0.0, 0.0],[0.0, 0.4, 0.0, 0.0],[0.0, 0.0, 1.2, 0.0],[0.0, 0.0, 0.0,-0.4]])

>>> x # 2維

tensor([[ 0.6000, 0.0000, 0.0000, 0.0000],

[ 0.0000, 0.4000, 0.0000, 0.0000],

[ 0.0000, 0.0000, 1.2000, 0.0000],

[ 0.0000, 0.0000, 0.0000, -0.4000]])

>>> torch.nonzero(x)

tensor([[0, 0],

[1, 1],

[2, 2],

[3, 3]])

借助nonzero()我們可以返回符合某一條件的index(https://stackoverflow.com/questions/47863001/how-pytorch-tensor-get-the-index-of-specific-value)

>>> x=torch.arange(12).view(3,4)

>>> x

tensor([[ 0, 1, 2, 3],

[ 4, 5, 6, 7],

[ 8, 9, 10, 11]])

>>> (x>4).nonzero()

tensor([[1, 1],

[1, 2],

[1, 3],

[2, 0],

[2, 1],

[2, 2],

[2, 3]])

以上這篇在PyTorch中Tensor的查找和篩選例子就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持我們。

本文標(biāo)題: 在PyTorch中Tensor的查找和篩選例子

本文地址: http://www.cppcns.com/jiaoben/python/268885.html

總結(jié)

以上是生活随笔為你收集整理的pytorch tensor查找0_在PyTorch中Tensor的查找和筛选例子的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。