1. 数据处理工作箱概述
工作箱主要包括数据处理与加载模块、TensorBoard可视化工具,以及计算机视觉相关的transforms和模型等。
2. Dataset与DataLoader详解
Dataset:其主要函数包括__len__(提供数据大小)和__getitem__(给定索引获取数据)。核心要点是将Numpy的ndarray数据类型转换为PyTorch的Tensor格式,以便利用GPU加速计算。
DataLoader:用于数据集的加载与迭代,支持批量处理和数据打乱。
3. Computer Vision (vision) 工具箱功能
Model:封装了如AlexNet、ResNet等经典预训练模型。
Dataset:集成多种开源数据集,如CIFAR-10、MNIST等。
Transforms:提供丰富的数据预处理变换,包括按比例缩放(scale)、裁剪、填充(padding)以及随机翻转、亮度/对比度/饱和度调整等功能。
4. PyTorch数据处理 pipeline
Transform用于对Pillow Image对象或模型对象进行操作,而Compose则将多个Transform串联,形成数据处理流水线。
PIL Image的常见操作:在不改变长宽比情况下,调整尺寸、剪裁图像、填充、图像水平垂直翻转、修改亮度、对比度、饱和度。
对Tensor的常见操作:标准化。
数据增强流程:演示了使用Compose对图像进行裁剪(CenterCrop)、随机水平翻转(HorizontalFlip)、转换为Tensor并标准化(Normalize)的完整数据增强流程。
处理多目录数据:展示了如何借助Dataset规范地处理位于同一父目录下不同子文件夹(image_folder)的图像数据。
5. TensorBoard可视化工具
功能作用:
可视化网络结构:提供图形化界面,清晰展示用户自定义神经网络的计算图结构。
追踪指标变化:用于可视化监控训练过程中损失(Loss)、准确率、召回率等关键评估指标的变化趋势,便于分析模型表现。
可视化特征图:可以观察模型在各层对输入数据的处理结果和特征提取情况。
基本使用流程:
程序端:导入tensorboard库,实例化SummaryWriter,并根据不同需记录的内容(如标量、图像等)调用add_xxx()方法写入数据;最后确保关闭writer以释放资源。
客户端:切换至日志文件的存储目录,在终端执行tensorboard --logdir=路径命令启动服务,即可在浏览器访问localhost:6006查看实时展示的可视化图表。