# torch.utils.data
# torch.utils.data
```
class torch.utils.data.Dataset
```
表示Dataset的抽象類。
所有其他數據集都應該進行子類化。所有子類應該override`__len__`和`__getitem__`,前者提供了數據集的大小,后者支持整數索引,范圍從0到len(self)。
```
class torch.utils.data.TensorDataset(data_tensor, target_tensor)
```
包裝數據和目標張量的數據集。
通過沿著第一個維度索引兩個張量來恢復每個樣本。
**參數:**
- **data\_tensor** (*Tensor*) - 包含樣本數據
- **target\_tensor** (*Tensor*) - 包含樣本目標(標簽)
```
class torch.utils.data.DataLoader(dataset, batch_size=1, shuffle=False, sampler=None, num_workers=0, collate_fn=<function default_collate>, pin_memory=False, drop_last=False)
```
數據加載器。組合數據集和采樣器,并在數據集上提供單進程或多進程迭代器。
**參數:**
- **dataset** (*Dataset*) – 加載數據的數據集。
- **batch\_size** (*int*, optional) – 每個batch加載多少個樣本(默認: 1)。
- **shuffle** (*bool*, optional) – 設置為`True`時會在每個epoch重新打亂數據(默認: False).
- **sampler** (*Sampler*, optional) – 定義從數據集中提取樣本的策略。如果指定,則忽略`shuffle`參數。
- **num\_workers** (*int*, optional) – 用多少個子進程加載數據。0表示數據將在主進程中加載(默認: 0)
- **collate\_fn** (*callable*, optional) –
- **pin\_memory** (*bool*, optional) –
- **drop\_last** (*bool*, optional) – 如果數據集大小不能被batch size整除,則設置為True后可刪除最后一個不完整的batch。如果設為False并且數據集的大小不能被batch size整除,則最后一個batch將更小。(默認: False)
```
class torch.utils.data.sampler.Sampler(data_source)
```
所有采樣器的基礎類。
每個采樣器子類必須提供一個`__iter__`方法,提供一種迭代數據集元素的索引的方法,以及返回迭代器長度的`__len__`方法。
```
class torch.utils.data.sampler.SequentialSampler(data_source)
```
樣本元素順序排列,始終以相同的順序。
**參數:**
- **data\_source** (*Dataset*) – 采樣的數據集。
```
class torch.utils.data.sampler.RandomSampler(data_source)
```
樣本元素隨機,沒有替換。
**參數:**
- **data\_source** (*Dataset*) – 采樣的數據集。
```
class torch.utils.data.sampler.SubsetRandomSampler(indices)
```
樣本元素從指定的索引列表中隨機抽取,沒有替換。
**參數:**
- **indices** (*list*) – 索引的列表
```
class torch.utils.data.sampler.WeightedRandomSampler(weights, num_samples, replacement=True)
```
樣本元素來自于\[0,..,len(weights)-1\],給定概率(weights)。
**參數:**
- **weights** (*list*) – 權重列表。沒必要加起來為1
- **num\_samples** (*int*) – 抽樣數量
- PyTorch 中文文檔
- 主頁
- 自動求導機制
- CUDA語義
- 擴展PyTorch
- 多進程最佳實踐
- 序列化語義
- torch
- torch.Tensor
- torch.Storage
- torch.nn
- torch.nn.functional
- torch.autograd
- torch.optim
- torch.nn.init
- torch.multiprocessing
- torch.legacy
- torch.cuda
- torch.utils.ffi
- torch.utils.data
- torch.utils.model_zoo
- torchvision
- torchvision.datasets
- torchvision.models
- torchvision.transforms
- torchvision.utils
- 致謝