2020.2.11,9号中午发了第一篇简书笔记,到现在两天多了,原来自己才仅仅学了一点点:Getting start 中的第二部分,WRITING CUSTOM DATASETS, DATALOADERS AND TRANSFORMS,主要是讲解对数据的处理。此外,由于单位的电脑无法连接互联网,于是找到了克隆网站的工具,将Pytorch和Tensflow网站整个克隆到本地电脑,以后拷贝到办公电脑,方便学习,用了HTTrack Website Copier和Teleport Ultra两个工具,感觉HTTrack Website Copier好用一点。
教程作者是Sasank Chilamkurthy,https://chsasank.github.io/,我发现在他的blog上有一些别的小教程,有点意思。回归主题,这次教程的目的原文叙述如下:
A lot of effort in solving any machine learning problem goes in to preparing the data. PyTorch provides many tools to make data loading easy and hopefully, to make your code more readable. In this tutorial, we will see how to load and preprocess/augment data from a non trivial dataset.
其实就是对数据集的预处理、增强、导入等问题。用到face图片数据,原始数据是若干张清晰的脸图片,一个csv文件,包含脸图片的名称和标注点的位置坐标。在脸上用landmarks标出眼睛和嘴巴。
用到了pandas、os等包,pandas用来读入excel、csv等文件,os用来处理图片路径问题。
数据集:69张尺寸不同的脸图片(没有标注点),一个csv文件,csv包含脸图片的名称和标注点的位置坐标。可以在脸上用landmarks标出眼睛和嘴巴,如下图。
含有landmarks标注的脸照片
教程:
1、首先介绍了数据的读取和显示,利用panda读取csv和excel等文件很方便,读取后利用.iloc[]可以直接按需获取需要的数据。
2、建立了一个创建Face Landmarks Dataset数据集的class,按照教程,自己创建Transforms函数,一共有三个:
Rescale: to scale the image
RandomCrop: to crop from image randomly. This is data augmentation.
ToTensor: to convert the numpy images to torch images
然后利用一个callable class(可调用的类):torchvision.transforms.Compose来将不同的Transform组合,提高了Transform使用便捷程度。
其实这三个Transform是比较基础、实用的,torchvision提供了许多transform方法,我单独学习了这个模块,详见另一篇文章:torchvision库学习,https://www.cnblogs.com/Ireland/p/12383755.html
3、后续就是对定制的transform应用了。