ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

PyTorch深度学习入门笔记(小土堆)P7-14

PyTorch深度学习入门笔记(小土堆)P7-14 PyTorch深度学习入门笔记P7-14ZZHow(ZZHow1024)参考课程【PyTorch深度学习快速入门教程【小土堆】】[https://www.bilibili.com/video/BV1hE411t7RN]P7. TensorBoard的使用一TensorBoard 的安装与导入pip install -i tensorboardfromtorch.utils.tensorboardimportSummaryWriteradd_scalar() 的使用writerSummaryWriter(logs)# y xforiinrange(100):writer.add_scalar(y x,i,i)writer.close()TensorBoard 的启动tensorboard --logdirlogs --port6006案例演示p7_tensorboard_1.pyP8. TensorBoard的使用二add_image() 的使用常用来观察训练结果writerSummaryWriter(logs)image_pathxxximage_pilImage.open(image_path)image_arraynp.array(image_pil)writer.add_image(image,image_array,1,dataformatsHWC)writer.close()案例演示p8_tensorboard_2.pyP9. Transforms的使用一transforms 该如何使用tensor_transformtransforms.ToTensor()tensor_imagetensor_transform(image)案例演示p9_transforms_1.pyP10. Transforms的使用二为什么需要 Tensor 数据类型Tensor张量是PyTorch、TensorFlow等深度学习框架中的核心数据结构本质上是多维数组类似于NumPy的ndarray但具备更强大的功能专为高效计算和硬件加速设计。Tensor 是深度学习的基石它统一了多维数据的表示、支持硬件加速和自动微分是构建高效、灵活神经网络的必备工具。案例演示p10_transforms_2.pyP11. 常见的Transforms一ToTensor 的使用transforms_tensortransforms.ToTensor()image_tensortransforms_tensor(image)Normalize 的使用transforms_normalizetransforms.Normalize([0.5,0.5,0.5],[0.5,0.5,0.5])image_normtransforms_normalize(image_tensor)案例演示p11_transforms_use_1.pyP12. 常见的Transforms二Resize 的使用transforms_resizetransforms.Resize((512,512))image_resizetransforms_resize(image)image_resizetransforms_tensor(image_resize)Compose 的使用transforms_resize_2transforms.Resize(512)transforms_composetransforms.Compose([transforms_resize_2,transforms_tensor])image_resize_2transforms_compose(image)RandomCrop 的使用transforms_randomtransforms.RandomCrop(256)transforms_compose_2transforms.Compose([transforms_random,transforms_tensor])foriinrange(10):image_croptransforms_compose_2(image)writer.add_image(RandomCrop,image_crop,i)总结关注输入和输出类型多看官方文档关注方法需要什么参数不知道返回值的时候printprint(type())debug案例演示p12_transforms_use_2.pyP13. torchvision中的数据集使用官方数据集Datasets — Torchvision 0.22 documentation使用# 训练数据集train_settorchvision.datasets.CIFAR10(root./dataset,trainTrue,transformtorchvision.transforms.ToTensor(),downloadTrue)# 测试数据集test_settorchvision.datasets.CIFAR10(root./dataset,trainFalse,transformtorchvision.transforms.ToTensor(),downloadTrue)数据集的常用参数root(必需参数)指定数据集存储的根目录路径。train(默认值:True)指定加载训练集还是测试集。transform(默认值:None)定义对图像数据的预处理操作如缩放、归一化、数据增强。target_transform(默认值:None)定义对标签target的预处理操作如标签映射、编码转换。download(默认值:False)是否自动下载数据集到root目录。案例演示p13_datasets.pyP14. DataLoader的使用使用test_datatorchvision.datasets.CIFAR10(./dataset,trainFalse,transformtorchvision.transforms.ToTensor(),downloadTrue)test_loaderDataLoader(datasettest_data,batch_size64,shuffleTrue,num_workers0,drop_lastFalse)DataLoader 的常用参数dataset(必需参数)指定要加载的数据集对象必须是继承自torch.utils.data.Dataset的实例。batch_size(默认值:1)每个批次batch加载的样本数量。shuffle(默认值:False)是否在每个 epoch 开始时打乱数据顺序。num_workers(默认值:0)用于数据加载的子进程数量。drop_last(默认值:False)是否丢弃最后一个不完整的批次当样本总数不能被batch_size整除时。pin_memory(默认值:False)是否将数据加载到 CUDA 的固定内存pinned memory中。timeout(默认值:0)设置从子进程获取数据的超时时间秒。sampler和batch_sampler自定义数据采样策略替代默认的随机打乱或顺序采样。collate_fn(默认值:None)自定义如何将多个样本合并成一个批次batch。案例演示p14_dataloader.py
返回列表