GPUのPyTorchの他の2つのテンソルから条件付きでテンソルを構築する方法は?

NRJ_Varshney:

例:

import torch

pred = torch.tensor([1,2,1,0,0], device='cuda:0')
correct = torch.tensor([1,0,1,1,0], device='cuda:0')
assigned = torch.tensor([1,2,2,1,0], device='cuda:0')

欲しいですresult = tensor([1,2,1,1,0], device='cuda:0')

  1. 基本的に、when predcorrectthen と同じcorrectですassigned

  2. さらに、この計算を勾配計算から除外したいと思います。

テンソルを繰り返さずにこれを行う方法はありますか?

ベリエル:

torch.where あなたが探しているものを正確に実行します:

import torch

pred = torch.tensor([1,2,1,0,0], device='cuda:0')
correct = torch.tensor([1,0,1,1,0], device='cuda:0')
assigned = torch.tensor([1,2,2,1,0], device='cuda:0')

result = torch.where(pred == correct, correct, assigned)

print(result)
# >>> tensor([1, 2, 1, 1, 0], device='cuda:0')

これらのテンソルにはがrequires_grad=Trueないため、勾配計算を回避するために何もする必要ありません。それ以外の場合は、次のようなことができます。

import torch

pred = torch.tensor([1.,2.,1.,0.,0.], device='cuda:0')
correct = torch.tensor([1.,0.,1.,1.,0.], device='cuda:0', requires_grad=True)
assigned = torch.tensor([1.,2.,2.,1.,0.], device='cuda:0', requires_grad=True)

with torch.no_grad():
    result = torch.where(pred == correct, correct, assigned)

print(result)
# >>> tensor([1, 2, 1, 1, 0], device='cuda:0')

を使用しない場合はtorch.no_grad()、次のようになります。

result = torch.where(pred == correct, correct, assigned)
print(result)
# >>> tensor([1., 2., 1., 1., 0.], device='cuda:0', grad_fn=<SWhereBackward>)

これは、次のようにして計算グラフから切り離すことができます。

result = result.detach()
print(result)
# >>> tensor([1., 2., 1., 1., 0.], device='cuda:0')

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

tensorflow内の2つの既存のテンソルから新しいテンソルを構築します

分類Dev

テンソルフローで他のテンソルからテンソルの要素を割り当てる方法

分類Dev

tensorflowで2つのテンソルから周波数テンソルを作成する方法

分類Dev

Pytorchの2Dテンソルリストから列を取得する方法

分類Dev

Tensorflowの他のテンソルからテンソルの値を見つける方法

分類Dev

PyTorchであるテンソルから別のテンソルに値をコピーする最速の方法は何ですか?

分類Dev

条件付きの別のテンソルを作成する

分類Dev

pytorch:2つのテンソルを積み重ねる方法

分類Dev

Keras-テンソルのバッチから1つのテンソルだけを取得する方法は?

分類Dev

Pytorchで異なる次元の2つのテンソルを連結する

分類Dev

すべての2DサブテンソルがPyTorchの対角行列である3Dテンソルを構築するにはどうすればよいですか?

分類Dev

特定の2次元テンソルからn個の1次元テンソルを抽出する方法は?

分類Dev

2つのpytorchテンソルの非交差を見つける

分類Dev

PyTorchで条件付きでテンソル演算を適用する

分類Dev

2つのテンソルをマージする方法は?

分類Dev

単純なpytorchモデルの線形層で使用するためにcnn層の出力テンソルを再構築する方法

分類Dev

他の2つのカーソルでカーソルが見つかったときにテーブルから削除する方法

分類Dev

PyTorch-可変長のシーケンスからパッド付きテンソルを作成します

分類Dev

ランダムなトレーニング可能なインデックスを作成して、tensorflowの1つの2_Dテンソルから2つの2_Dテンソルを構築します

分類Dev

intのpytorchテンソルをbooleansのテンソルに変換する方法は?

分類Dev

Tensorflowで、いくつかのテンソルの中から最小のテンソルを選択するにはどうすればよいですか?

分類Dev

autograd機能を維持しながら、pytorchテンソルのいくつかの値を変更する良い方法はありますか?

分類Dev

2つの条件でテーブルから他のテーブルに日付を挿入できません

分類Dev

GRUは同じ構成ですが、2つの異なる方法で、テンソルフローに2つの異なる出力を生成します

分類Dev

テンソルフローの2D畳み込みで、形状の異なる2つのテンソルを連結する方法は?

分類Dev

テンソルをNXNブロックに分割し、これらのブロックから最初のテンソルを再構築するにはどうすればよいですか?

分類Dev

2次元のpytorchテンソルの座標を再マッピングできますか?

分類Dev

2つのGPUを同時に使用するテンソルフロー

分類Dev

PyTorchでテンソルの最後の次元を減らすにはどうすればよいですか?

Related 関連記事

  1. 1

    tensorflow内の2つの既存のテンソルから新しいテンソルを構築します

  2. 2

    テンソルフローで他のテンソルからテンソルの要素を割り当てる方法

  3. 3

    tensorflowで2つのテンソルから周波数テンソルを作成する方法

  4. 4

    Pytorchの2Dテンソルリストから列を取得する方法

  5. 5

    Tensorflowの他のテンソルからテンソルの値を見つける方法

  6. 6

    PyTorchであるテンソルから別のテンソルに値をコピーする最速の方法は何ですか?

  7. 7

    条件付きの別のテンソルを作成する

  8. 8

    pytorch:2つのテンソルを積み重ねる方法

  9. 9

    Keras-テンソルのバッチから1つのテンソルだけを取得する方法は?

  10. 10

    Pytorchで異なる次元の2つのテンソルを連結する

  11. 11

    すべての2DサブテンソルがPyTorchの対角行列である3Dテンソルを構築するにはどうすればよいですか?

  12. 12

    特定の2次元テンソルからn個の1次元テンソルを抽出する方法は?

  13. 13

    2つのpytorchテンソルの非交差を見つける

  14. 14

    PyTorchで条件付きでテンソル演算を適用する

  15. 15

    2つのテンソルをマージする方法は?

  16. 16

    単純なpytorchモデルの線形層で使用するためにcnn層の出力テンソルを再構築する方法

  17. 17

    他の2つのカーソルでカーソルが見つかったときにテーブルから削除する方法

  18. 18

    PyTorch-可変長のシーケンスからパッド付きテンソルを作成します

  19. 19

    ランダムなトレーニング可能なインデックスを作成して、tensorflowの1つの2_Dテンソルから2つの2_Dテンソルを構築します

  20. 20

    intのpytorchテンソルをbooleansのテンソルに変換する方法は?

  21. 21

    Tensorflowで、いくつかのテンソルの中から最小のテンソルを選択するにはどうすればよいですか?

  22. 22

    autograd機能を維持しながら、pytorchテンソルのいくつかの値を変更する良い方法はありますか?

  23. 23

    2つの条件でテーブルから他のテーブルに日付を挿入できません

  24. 24

    GRUは同じ構成ですが、2つの異なる方法で、テンソルフローに2つの異なる出力を生成します

  25. 25

    テンソルフローの2D畳み込みで、形状の異なる2つのテンソルを連結する方法は?

  26. 26

    テンソルをNXNブロックに分割し、これらのブロックから最初のテンソルを再構築するにはどうすればよいですか?

  27. 27

    2次元のpytorchテンソルの座標を再マッピングできますか?

  28. 28

    2つのGPUを同時に使用するテンソルフロー

  29. 29

    PyTorchでテンソルの最後の次元を減らすにはどうすればよいですか?

ホットタグ

アーカイブ