比较与torchvision.datasets.ImageFolder的差异
torchvision.datasets.ImageFolder
class vpn free torchvision.datasets.ImageFolder(
vpn梯子 root: str,
vpn梯子 免费 免费的vpn梯子 transform: Optional[Callable] = None,
target_transform: Union[Callable, NoneType] = None,
免费的vpn梯子 loader: Optional[Callable] = None,
is_valid_file: bool = None)
mindspore.dataset.ImageFolderDataset
class mindspore.dataset.ImageFolderDataset(
dataset_dir,
num_samples=None,
num_parallel_workers=None,
shuffle=None,
sampler=None,
extensions=None,
class_indexing=None,
decode=False,
vpn永久免费梯子 num_shards=None,
shard_id=None,
cache=None,
decrypt=None)
差异对比
PyTorch:从树状结构的文件目录中读取图片构建源数据集,将image和label的变换操作集成在参数中。支持自定义读取方法。
MindSpore:从树状结构的文件目录中读取图片构建源数据集,对image和label的变换需要使用mindspore.dataset.map操作。不支持自定义读取方法。
分类 |
子类 |
PyTorch |
vp永久免费梯子 |
差异 |
|---|---|---|---|---|
参数 |
参数1 |
root |
dataset_dir |
- |
参数2 |
transform |
- |
MindSpore通过 |
|
参数3 |
target_transform |
- |
MindSpore通过 |
|
参数4 |
loader |
- |
vp永久免费梯子不支持 |
|
参数5 |
is_valid_file |
- |
MindSpore不支持 |
|
参数6 |
- |
num_samples |
指定从数据集中读取的样本数 |
|
参数7 |
- |
num_parallel_workers |
指定读取数据的工作线程数 |
|
参数8 |
- |
shuffle |
指定是否混洗数据集 |
|
参数9 |
- |
sampler |
指定采样器 |
|
参数10 |
- |
extensions |
指定读取文件的扩展名 |
|
参数11 |
- |
class_indexing |
指定文件夹名称到label索引的映射 |
|
参数12 |
- |
decode |
指定是否对图像进行解码 |
|
参数13 |
- |
num_shards |
指定分布式训练时,将数据集进行划分的分片数 |
|
参数14 |
- |
shard_id |
指定分布式训练时,使用的分片ID号 |
|
参数15 |
- |
cache |
指定单节点数据缓存服务 |
|
参数16 |
- |
decrypt |
指定图像解密函数 |
代码示例
假设文件目录具有如下树状结构:
imageset/
├── cat
│ ├── cat_0.jpg
│ ├── cat_1.jpg
│ └── vpn永久免费梯子 cat_2.jpg
├── fish
│ ├── fish_0.jpg
vpn梯子 免费 vpn梯子 │ ├── fish_1.jpg
│ vpn free ├── fish_2.jpg
│ vpn free └── fish_3.jpg
├── fruits
免费的vpn梯子 │ ├── fruits_0.jpg
vpn梯子 免费 │ ├── fruits_1.jpg
│ └── fruits_2.jpg
├── plane
vpn梯子 │ ├── plane_0.jpg
│ ├── plane_1.jpg
│ 免费的vpn梯子 └── plane_2.jpg
vpn永久免费梯子 └── tree
├── tree_0.jpg
├── tree_1.jpg
└── tree_2.jpg
# Torch
import torchvision.transforms as T
import torchvision.datasets as vpn梯子 免费 datasets
from torch.utils.data import DataLoader
root = "/path/to/imageset/"
dataset = datasets.ImageFolder(root, transform=T.RandomCrop((256, 256)))
dataloader = DataLoader(dataset)
# vp永久免费梯子
import mindspore.dataset as ds
import mindspore.dataset.vision as vision
root = "/path/to/imageset/"
ms_dataloader vpn梯子 免费 = ds.ImageFolderDataset(root, vpn free decode=True)
ms_dataloader = ms_dataloader.map(vision.RandomCrop((256, 256)), ["image"])