新闻单位网站建设的意义,网络推广加盟费多少,网站seo外包价格,南昌制作企业网站目录 torchvision
DataLoader torchvision
transforams是对单张图片进行处理#xff0c;而制作数据集的时候#xff0c;是需要对图像进行批量处理的。因此本节是将torchvision中的datasets和transforms联合使用对数据集进行预处理操作。
#xff08;torchvision官方文档地…目录 torchvision
DataLoader torchvision
transforams是对单张图片进行处理而制作数据集的时候是需要对图像进行批量处理的。因此本节是将torchvision中的datasets和transforms联合使用对数据集进行预处理操作。
torchvision官方文档地址torchvision — Torchvision 0.15 documentationtorchvision.datasets中提供了内置数据集和自定义数据集所需的函数DatasetFolder、ImageFolder、VisionDatasettorchvision.datasets官方文档地址Datasets — Torchvision 0.15 documentationtorchvision.models中包含了已经训练好的图像分类、图像分割、目标检测的神经网络模型。torchvision.models的官方文档地址Models and pre-trained weights — Torchvision 0.15 documentationtorchvision.transforms对图像进行转换和增强torchvision.transforms的官方文档地址Transforming and augmenting images — Torchvision 0.15 documentationtorchvision.utils包含各种实用工具,主要用于可视化tensorboard是在torch.utils.tensorboard中torchvision.utils的官方文档地址Utils — Torchvision 0.15 documentation import torchvision
from torch.utils.tensorboard import SummaryWriter
from torchvision.transforms import transforms# 1. 用transforms设置图片转换方式
data_transform transforms.Compose([ # 用Compose将所有转换操作集合起来transforms.ToTensor() # 因为CIFAR10数据集的每张图像size(32,32)比较小所以只进行ToTensor的操作
])# 2. 加载内置数据集CIFAR10并设置transformsdownload最好一直设置成True
# 1. root:若要下载的话表示数据集存放的根目录
# 2. trainTrue 或者 False分别表示是构造训练集train_set还是测试集test_set
# 3. transform data_transform用自定义的data_transform对数据集中的每张图像进行预处理
# 4. downloadTrue 或者 False分别表示是否从网上下载数据集到root中如果root下已有数据集尽管设置成True也不会再下载了所以download最好一直设置成True
train_set torchvision.datasets.CIFAR10(./dataset, trainTrue, transformdata_transform, downloadTrue)
test_set torchvision.datasets.CIFAR10(./dataset, trainFalse, transformdata_transform, downloadTrue)# 3. 写进tensorboard查看
writer SummaryWriter(CIFAR10)
for i in range(10):img, label test_set[i] # test_set[i]返回的依次是图像(PIL.Image)和类别(int)writer.add_image(test_set, img, i)writer.close()DataLoader
官方文档地址torch.utils.data.DataLoader
CLASS torch.utils.data.DataLoader(dataset, batch_size1, shuffleFalse, samplerNone, batch_samplerNone, num_workers0, collate_fnNone, pin_memoryFalse, drop_lastFalse, timeout0, worker_init_fnNone, multiprocessing_contextNone, generatorNone, *, prefetch_factor2, persistent_workersFalse)除了dataset指明数据集的位置之外的参数都设置了默认值。
torch.utils.data.DataLoader重点关注的参数有
dataset (Dataset)指明从哪个数据集加载数据如上节中自定义的train_setbatch_size (int)每个批次batch加载多少样本。shuffle (bool)每轮epoch是否打乱样本的顺序。最好设置成Truenum_workers (int)有多少个子流程用于数据加载。0表示主进程加载。在Windows下只能设置成0不然会出错虽然default0但是最好还是手动再设置一下num_workers0drop_last (bool)如果数据集大小不能被batch_size整除则最后一个批次将会不完整即样本数batch_size。设置为True则删掉最后一个batchFalse则保留默认为False即会保存最后那个不完整的批次。