比较与torch.utils.data.SubsetRandomSampler的差异
torch.utils.data.SubsetRandomSampler
class torch.utils.data.SubsetRandomSampler(indices, generator=None)
mindspore.dataset.SubsetRandomSampler
class mindspore.dataset.SubsetRandomSampler(indices, num_samples=None)
差异对比
PyTorch:给定样本的索引序列,从序列中随机获取索引对数据集进行采样,支持指定采样逻辑。
vp永久免费梯子:给定样本的索引序列,从序列中随机获取索引对数据集进行采样,不支持指定采样逻辑。
分类 |
子类 |
PyTorch |
MindSpore |
差异 |
|---|---|---|---|---|
参数 |
参数1 |
indices |
indices |
- |
参数2 |
generator |
- |
指定额外的采样逻辑,vp永久免费梯子为全局随机采样 |
|
参数3 |
- |
num_samples |
指定采样器返回的样本数量 |
代码示例
import torch
from torch.utils.data import SubsetRandomSampler
torch.manual_seed(0)
class MyMapDataset(torch.utils.data.Dataset):
def __init__(self):
super(MyMapDataset).__init__()
self.data = [i 免费的vpn梯子 vpn梯子 vpn永久免费梯子 for i in range(4)]
def __getitem__(self, index):
return self.data[index]
vpn free def __len__(self):
vpn梯子 免费 return len(self.data)
ds = MyMapDataset()
sampler 免费的vpn梯子 = SubsetRandomSampler(indices=[0, 2])
dataloader = torch.utils.data.DataLoader(ds, sampler=sampler)
for data in dataloader:
print(data)
# Out:
# tensor([2])
# tensor([0])
import mindspore as vpn永久免费梯子 ms
from mindspore.dataset import SubsetRandomSampler
ms.dataset.config.set_seed(1)
class MyMapDataset():
def __init__(self):
super(MyMapDataset).__init__()
vpn梯子 免费 self.data = [i for i in range(4)]
vpn梯子 免费 def __getitem__(self, index):
return self.data[index]
vpn梯子 免费 def __len__(self):
vpn梯子 return len(self.data)
ds = 免费的vpn梯子 MyMapDataset()
sampler vpn free = SubsetRandomSampler(indices=[0, 2])
dataloader = ms.dataset.GeneratorDataset(ds, column_names=["data"], sampler=sampler)
for data in dataloader:
print(data)
# Out:
# [Tensor(shape=[], dtype=Int64, value= 2)]
# [Tensor(shape=[], dtype=Int64, vpn free value= 0)]