Python
 Computer >> コンピューター >  >> プログラミング >> Python

PyTorchでテンソルのk番目と上位k個の要素を見つける方法は?


PyTorchはメソッドtorch.kthvalue()を提供します テンソルのk番目の要素を見つける。昇順でソートされたテンソルのk番目の要素の値と、元のテンソルの要素のインデックスを返します。

torch.topk() メソッドは、上位の「k」要素を見つけるために使用されます。テンソルの上位の「k」または最大の「k」要素を返します。

ステップ

  • 必要なライブラリをインポートします。以下のすべてのPythonの例では、必要なPythonライブラリはトーチです。 。すでにインストールされていることを確認してください。

  • PyTorchテンソルを作成して印刷します。

  • torch.kthvalue(input、k)を計算します 。 2つのテンソルを返します。これらの2つのテンソルを2つの新しい変数"value"に割り当てます および「インデックス」 。ここで、入力はテンソルであり、kは整数です。

  • torch.topk(input、k)を計算します 。 2つのテンソルを返します。最初のテンソルには上位の「k」要素の値があり、2番目のテンソルには元のテンソルのこれらの要素のインデックスがあります。これらの2つのテンソルを新しい変数"values"に割り当てます および「インデックス」

  • テンソルのk番目の要素の値とインデックス、およびテンソルの上位の「k」要素の値とインデックスを出力します。

例1

このPythonプログラムは、テンソルのk番目の要素を見つける方法を示しています。

# Python program to find k-th element of a tensor
# import necessary library
import torch

# Create a 1D tensor
T = torch.Tensor([2.334,4.433,-4.33,-0.433,5, 4.443])
print("Original Tensor:\n", T)

# Find the 3rd element in sorted tensor. First it sorts the
# tensor in ascending order then returns the kth element value
# from sorted tensor and the index of element in original tensor
value, index = torch.kthvalue(T, 3)

# print 3rd element with value and index
print("3rd element value:", value)
print("3rd element index:", index)

出力

Original Tensor:
   tensor([ 2.3340, 4.4330, -4.3300, -0.4330, 5.0000, 4.4430])
3rd element value: tensor(2.3340)
3rd element index: tensor(0)

例2

次のPythonプログラムは、テンソルの上位の「k」要素または最大の「k」要素を見つける方法を示しています。

# Python program to find to top k elements of a tensor
# import necessary library
import torch

# Create a 1D tensor
T = torch.Tensor([2.334,4.433,-4.33,-0.433,5, 4.443])
print("Original Tensor:\n", T)

# Find the top k=2 or 2 largest elements of the tensor
# returns the 2 largest values and their indices in original
# tensor
values, indices = torch.topk(T, 2)

# print top 2 elements with value and index
print("Top 2 element values:", values)
print("Top 2 element indices:", indices)
を持つ要素

出力

Original Tensor:
   tensor([ 2.3340, 4.4330, -4.3300, -0.4330, 5.0000, 4.4430])
Top 2 element values: tensor([5.0000, 4.4430])
Top 2 element indices: tensor([4, 5])

  1. PyTorchの画像チャネル全体の平均を見つける方法は?

    RGB画像には、赤、緑、青の3つのチャネルがあります。これらの画像チャネル全体の画像ピクセル値の平均を計算する必要があります。この目的のために、メソッド torch.mean()を使用します 。ただし、このメソッドへの入力パラメーターはPyTorchテンソルです。したがって、最初に画像をPyTorchテンソルに変換してから、このメソッドを適用します。テンソル内のすべての要素の平均値を返します。画像チャネル全体の平均を見つけるために、パラメータ dim =[1,2]を設定します。 。 ステップ 必要なライブラリをインポートします。以下のすべてのPythonの例では、必要なPythonライブ

  2. 画像をPyTorchテンソルに変換する方法は?

    PyTorchテンソルは、単一のデータ型の要素を含むn次元配列(行列)です。テンソルは、numpy配列のようなものです。 numpy配列とPyTorchテンソルの違いは、テンソルがGPUを利用して数値計算を高速化することです。加速された計算では、画像はテンソルに変換されます。 画像をPyTorchテンソルに変換するには、次の手順を実行できます- ステップ 必要なライブラリをインポートします。必要なライブラリはtorch、torchvision、Pillowです。 画像を読んでください。画像はPIL画像またはnumpy.ndarray(HxWxC)のいずれかである必要があります