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

PyTorchでテンソルの要素を並べ替える方法は?


PyTorchでテンソルの要素を並べ替えるには、torch.sort()メソッドを使用できます。このメソッドは2つのテンソルを返します。最初のテンソルは要素の値を並べ替えたテンソルであり、2番目のテンソルは元のテンソルの要素のインデックスのテンソルです。行方向と列方向の2Dテンソルを計算できます。

ステップ

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

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

  • 上で作成したテンソルの要素を並べ替えるには、 torch.sort(input、dim)を計算します。 。この値を新しい変数"v"に割り当てます 。ここで、入力 は入力テンソルであり、薄暗い 要素が並べ替えられる次元です。要素を行方向に並べ替えるには、dimを1に設定し、要素を列方向に並べ替えるには、 dim は0に設定されます。

  • ソートされた値を持つテンソルには、 v [0]としてアクセスできます。 ソートされた要素のインデックスのテンソルはv[1]

  • 並べ替えられた値を使用してテンソルを印刷し、並べ替えられた値のインデックスを使用してテンソルを印刷します。

例1

次のPythonプログラムは、1Dtensorの要素を並べ替える方法を示しています。

# Python program to sort elements of a tensor
# import necessary library
import torch

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

# sort the tensor T
# it sorts the tensor in ascending order
v = torch.sort(T)

# print(v)
# print tensor of sorted value
print("Tensor with sorted value:\n", v[0])

# print indices of sorted value
print("Indices of sorted value:\n", v[1])

出力

Original Tensor:
   tensor([ 2.3340, 4.4330, -4.3300, -0.4330, 5.0000, 4.4430])
Tensor with sorted value:
   tensor([-4.3300, -0.4330, 2.3340, 4.4330, 4.4430, 5.0000])
Indices of sorted value:
   tensor([2, 3, 0, 1, 5, 4])

例2

次のPythonプログラムは、2Dtensorの要素を並べ替える方法を示しています。

# Python program to sort elements of a 2-D tensor
# import the library
import torch

# Create a 2-D tensor
T = torch.Tensor([[2,3,-32],
                  [43,4,-53],
                  [4,37,-4],
                  [3,-75,34]])
print("Original Tensor:\n", T)

# sort tensor T
# it sorts the tensor in ascending order
v = torch.sort(T)

# print(v)
# print tensor of sorted value
print("Tensor with sorted value:\n", v[0])

# print indices of sorted value
print("Indices of sorted value:\n", v[1])
print("Sort tensor Column-wise")
v = torch.sort(T, 0)

# print(v)
# print tensor of sorted value
print("Tensor with sorted value:\n", v[0])

# print indices of sorted value
print("Indices of sorted value:\n", v[1])
print("Sort tensor Row-wise")
v = torch.sort(T, 1)

# print(v)
# print tensor of sorted value
print("Tensor with sorted value:\n", v[0])

# print indices of sorted value
print("Indices of sorted value:\n", v[1])

出力

Original Tensor:
tensor([[ 2., 3., -32.],
        [ 43., 4., -53.],
        [ 4., 37., -4.],
        [ 3., -75., 34.]])
Tensor with sorted value:
tensor([[-32., 2., 3.],
         [-53., 4., 43.],
         [ -4., 4., 37.],
         [-75., 3., 34.]])
Indices of sorted value:
tensor([[2, 0, 1],
         [2, 1, 0],
         [2, 0, 1],
         [1, 0, 2]])
Sort tensor Column-wise
Tensor with sorted value:
tensor([[ 2., -75., -53.],
         [ 3., 3., -32.],
         [ 4., 4., -4.],
         [ 43., 37., 34.]])
Indices of sorted value:
tensor([[0, 3, 1],
         [3, 0, 0],
         [2, 1, 2],
         [1, 2, 3]])
Sort tensor Row-wise
Tensor with sorted value:
tensor([[-32., 2., 3.],
         [-53., 4., 43.],
         [ -4., 4., 37.],
         [-75., 3., 34.]])
Indices of sorted value:
tensor([[2, 0, 1],
         [2, 1, 0],
         [2, 0, 1],
         [1, 0, 2]])

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

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

  2. パンダの中央値で箱ひげ図を並べ替える方法は?

    パンダの中央値で箱ひげ図を並べ替えるには、次の手順を実行します ステップ 図のサイズを設定し、サブプロット間およびサブプロットの周囲のパディングを調整します。 3つの列を持つ、2次元、サイズ変更可能、潜在的に異種の表形式データのPandasデータフレームを作成します。 データフレーム要素をマークでグループ化します およびdob 。 中央値を見つける データフレームの。 中央値のソートされた値を取得します 。 DataFrame列から箱ひげ図を作成します。 図を表示するには、 Show()を使用します メソッド。 例 import pandas as