Pytorch数据处理工具箱
数据处理工具箱概述
utils.data
·_getitem_一次只能获取一个样本
utils.data
2.DataLoader:可以批量处理。
语法结构如右所示。
data.DataLoader(
dataset,
batch_size=1,
shuffle=False,
sampler=None,
batch_sampler=None,
num_workers=0,
collate_fn=,
pin_memory=False,
drop_last=False,
timeout=0,
worker_init_fn=None,
2.DataLoader:可以批量处理。相关参数介绍如下所示。
dataset加载的数据集。
batch_size批大小。
shuffle是否将数据打乱。
sampler样本抽样。
num_workers使用多进程加载的进程数,0代表不使用多进程。
collate_fn如何将多个样本数据拼接成一个batch,一般使用默认的拼接方式即可。
pin_memory是否将数据保存在锁页内存(pin memory区),其中的数据转到GPU会快一些。
pin_memory是否将数据保存在锁页内存(pin memory区),其中的数据转到GPU会快一些。
drop_lastdataset 中的数据个数可能不是 batch_size的整数倍,drop_last为True会将多出来不足一个batch的数据丢弃。
2.DataLoader:可以批量处理
但是DataLoader并不是迭代器,
可以通过“iter”命令转换成迭代器。
但是!数据处在不同目录之下时会不方便!
transforms
transforms提供了对PIL Image对象和Tensor对象的常用操作。
1) 对PIL Image的常见操作如下。
2) Scale/Resize调整尺寸,长宽比保持不变。
3) CenterCrop、RandomCrop、RandomSizedCrop裁剪图像。
4) Pad填充。
5) ToTensor把一个取值范围是[0,255]的PIL.Image转换成Tensor。
6) RandomHorizontalFlip图像随机水平翻转
7) RandomVerticalFlip图像随机垂直翻转。
8) ColorJitter修改亮度、对比度和饱和度。
9) transforms提供了对PIL Image对象和Tensor对象的常用操作。
对Tensor的常见操作如下。
·如果要对数据集进行多个操作,可通过Compose将这些操作像管道一样拼接起来,类似于nn.Sequential。
transforms提供了对PIL Image对象和Tensor对象的常用操作。
ImageFolder可以读取不同目录下的图像数据、
ImageFolder可以读取不同目录下的图像数据
使用TensorBoard的一般步骤如下。
2)调用相应的API接口,接口一般格式为:
add_xxx(tag-name, object, iteration-number)
#即add_xxx(标签,记录的对象,迭代次数)
其中,xxx指的是各种可视化方法。
各种可视化方法如下表所示。
Scalar用于可视化单一数值,例如损失值、准确率等随训练过程的变化。
Image用于可视化图像数据。
Figure用于可视化图形或复杂的图表。
Histogram用于可视化数据的分布。
Audio用于可视化音频数据。
Text用于可视化文本数据,例如模型生成的文本或训练日志。
·各种可视化方法如下表所示。
Graph用于可视化计算图结构。
ONNX Graph用于可视化 ONNX 模型的计算图结构。ONNX 是开放神经网络交换格式。
Embedding用于可视化高维数据的低维表示。例如,t-SNE 或 PCA 降维后的词向量或特征。
PR Curve用于可视化精确度-召回率曲线
Video Summaries用于可视化视频数据
使用TensorBoard的一般步骤如下。
3)启动tensorboard服务。cd到logs目录所在的同级目录,在命令行输入如下命令,logdir等式右边可以是相对路径或绝对路径。
tensorboard --logdir=logs --port 6006
#如果是windows环境,要注意路径解析,如
#tensorboard --logdir=r'D:\myboard\test\logs' --port 6006
4)Web展示。在浏览器输入:
http://服务器IP或名称:6006 #如果是本机,服务器名称可以使用localhost
用TensorBoard可视化神经网络