pytorchはシャッフル機能を直接実行していないようです。
外部ライブラリ関数randomを使用してpytorchテンソルをシャッフルする場合、同じ値が複数回フェッチされる可能性があります。これは、データをシャッフルするためではありません。
したがって、添え字をシャッフルしてから、添え字に従って対応する要素を取得してください。
import torch
import random
a = torch.rand(9)
print('a:\n', a)
random.shuffle(a)
print('random.shuffle(a):\n', a)
index = [i for i in range(len(a))]
print('index\n', index)
random.shuffle(index)
print('random.shuffle(index):\n', index)
print('shuffle tensor:\n', a[index])
概要:random.shuffle()はリストをシャッフルするために使用され、テンソルをシャッフルするときに問題が発生するため、添え字リストを作成してリストをシャッフルします。