Pytorch&前后端工作梳理
Pytorch资料详见 大纲与Pytorch框架学习
数据集 & 经典模型
图像分类数据(mnist, cifar10, stl10, svhn)——VGG16, ResNet, AlexNet, LeNet, GoogleNet, DenseNet, Inception
图像分割数据(PortraitDataset)——Unet
目标探测数据(PennFudanPed)——Faster RCNN
图像生成数据(img_align_celeba_2k)——GCGAN
人名分类数据(names)——RNN
需要前端能选择数据集的一栏
网络层
Pool——MaxPool2d, AvgPool2d, MaxUnpool2d (见Pytorch_Part3_模型模块)
卷积层——Convxd, ConvTranspose2d
激活函数——Relu, Sigmoid, tanh, RRelu, Leaky Relu
softmax
Dropout (见Pytorch_Part6_正则化)
标准化——BatchNormxd, LayerNorm, InstanceNorm2d, GroupNorm
前端添加以上网络层结构
损失函数 & 优化器 & 学习率下降
损失函数—— CrossEntropyLoss, NLLLoss, BCELoss, BCEWithLogitsLoss (见Pytorch_Part4_损失函数)
优化器——SGD, RMSprop, Adam(见PyTorch 学习笔记(七):PyTorch的十个优化器)
学习率下降——StepLR, MultiStepLR, ExponentialLR, ReduceLRonPlateau(见Pytorch_Part5_迭代训练)
前端添加自主选择一栏
图像增强
裁剪——CenterCrop, RandomCrop, RandomResizeCrop(见Pytorch_Part2_数据模块)
翻转和旋转——RandomHorizontalFlip, RandomVerticalFlip, RandomRotation
图像变换——pad, ColorJitter, GrayScale, RandomGrayScale, RandomAffine, RandomErasing
随机选取以上方法——RandomChoice, RandomApply, RandomOrder
乱序、Batch-size——DataLoader中参数
前端添加图像增强方法一栏
网络层封装
统一采用Sequential结构进行封装(见Pytorch_Part3_模型模块)
包装相同的网络层——ModuleList
网络层多路选择器——ModuleDict
前后端统一接口,封装层的实现
其他
Epoch
CPU/GPU——model.to('cuda'), tensor.to('cuda')(见Pytorch_Part7_模型使用)
模型保存与加载(\(\beta\)阶段进行)