このブログでは、PyTorch でテンソルの値にアクセスして変更する方法を説明します。
PyTorch で Tensor の値/コンテンツにアクセスして変更する方法は?
PyTorch でテンソルの値を取得および変更するには、2 つのメソッドを使用できます。
方法 1: インデックス作成を使用して Tensor の値にアクセスし、変更する
インデックス付けは、位置に基づいて特定のテンソルから特定の要素または要素の範囲を選択する方法です。ユーザーは角括弧を使用する必要があります。 [ ] 」を使用して、テンソルの各次元に沿って要素にアクセスします。 2D テンソルの場合、「tensor[i,j]」を使用して、行「i」と列「j」の要素にアクセスできます。これを行うには、以下の手順に従います。
ステップ 1: PyTorch ライブラリをインポートする
まず、「」をインポートします 松明 ' 図書館:
輸入 松明
ステップ 2: テンソルを作成する
次に、「」を使用します。 torch.tensor() 」関数を使用して、目的のテンソルを作成し、その要素を出力します。たとえば、2D テンソルを作成しています。 十1 ” 寸法 2×3:
十1 = 松明。 テンソル ( [ [ 2 、 9 、 5 ] 、 [ 7 、 1 、 4 】 】 )
印刷する ( 十1 )
これにより、以下に示すように 2D テンソルが作成されました。
ステップ 3: インデックス作成を使用して Tensor の値にアクセスする
ここで、インデックスによってテンソルの目的の値にアクセスします。たとえば、「」のインデックス「[1][2]」を指定しました。 十1 ” を使用してその値にアクセスし、それを「」という名前の変数に保存します。 temp_element ”。これは、2 行目、3 列目に存在する値にアクセスします。
temp_element = 十1 [ 1 】 [ 2 ]印刷する ( temp_element )
ここ: ' [1] ” は 2 行目、” は 2 行目を意味します。 [2] インデックス作成は「」から始まるため、「」は 3 番目の列を意味します。 0 ”。
目的の値、つまり「4」がテンソルからアクセスされたことがわかります。
ステップ 4: インデックス作成を使用して Tensor の値を変更する
テンソルの特定の値を変更するには、インデックスを指定して新しい値を割り当てます。ここでは「」の値を置き換えています。 [0][1] 「」のインデックス 15 ”:
十1 [ 0 】 [ 1 】 = 15印刷する ( 十1 )
以下の出力は、指定されたテンソルの値が正常に変更されたことを示しています。
方法 2: スライスを使用して Tensor の値にアクセスし、変更する
スライスは、1 つ以上の次元を持つテンソルのサブセットを選択する方法です。ユーザーはコロン演算子「:」を使用して、スライスの開始インデックスと終了インデックス、およびステップ サイズを指定できます。より深く理解するには、以下の手順を確認してください。
ステップ 1: PyTorch ライブラリをインポートする
まず、「」をインポートします 松明 ' 図書館:
輸入 松明ステップ 2: テンソルを作成する
次に、「」を使用して目的のテンソルを作成します。 torch.tensor() ” 関数を実行し、その要素を出力します。たとえば、2D テンソルを作成しています。 102 ” 寸法 2×3:
102 = 松明。 テンソル ( [ [ 5 、 1 、 9 ] 、 [ 3 、 7 、 2 】 ] )印刷する ( 102 )
これで 2D テンソルが作成されました。
ステップ 3: スライスを使用して Tensor の値にアクセスする
ここで、スライスを使用してテンソルの目的の値にアクセスします。たとえば、「tens1」のインデックス「[1]」を指定してその値にアクセスし、「」という名前の変数に格納します。 新しい値 ”。これにより、2 行目に存在するすべての値にアクセスします。
新しい値 = 102 [ 1 】印刷する ( 「2行目の値:」 、 新しい値 )
以下の出力では、テンソルの 2 行目にあるすべての値が正常にアクセスされました。
テンソルの 3 番目の列の値にアクセスする別の例を考えてみましょう。そのためには、「 [:,2] 」インデックス:
新しい値2 = 102 [ : 、 2 】印刷する ( 「3列目の値:」 、 新しい値2 )
これで、テンソルの 3 番目の列の値に正常にアクセスして表示されました。
ステップ 4: スライスを使用して Tensor の値を変更する
テンソルの特定の値を変更するには、インデックスを指定して新しい値を割り当てます。ここでは、テンソルの 2 行目のすべての値を変更しています。このために、「」を指定しました。 [1] ” インデックスを作成し、新しい値を割り当てます。
102 [ 1 】 = 松明。 テンソル ( [ 30 、 60 、 90 】 )印刷する ( 「変更されたテンソル:」 、 102 )
以下の出力によると、テンソルの 2 行目の値のすべての値が正常に変更されました。
PyTorch でテンソル値にアクセスして変更する効率的な方法を説明しました。
注記 : ここから Google Colab ノートブックにアクセスできます リンク 。
結論
PyTorch でテンソルの値またはコンテンツを取得および変更するには、まず「torch」ライブラリをインポートします。次に、必要なテンソルを作成します。次に、インデックス付けまたはスライス メソッドを使用して、テンソルの目的の値にアクセスし、変更します。このために、それぞれインデックスのインデックスを指定し、アクセスされたテンソルの値と変更されたテンソルの値を表示します。このブログでは、PyTorch でテンソルの値にアクセスして変更する方法を説明しました。