百度飞浆笔记一
2018-03-01 11:10:00

工控机LINUX系统不能正常运行,改用本机WIN10GTX1650 算力7.5

1、先装显卡驱动;

2、图灵架构对应PADDLE最佳版本为10.2,所以再安装CUDA10.2

3CUDA10.2 最佳 CUDNN 7.6.5,解压后将 binincludelib 覆盖至 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2

4、下载安装对应版本的PADDLE框架。

起初报错CUDA库不匹配,经查为电脑和paddleCUDA版本不一致,一个为10.0,一个为10.2,更换为10.2后成功,可识别简单手写数字。

 

数据处理与加载

数据集定义

内置数据集:paddle.vision.datasets

自定义数据集:paddle.io.datasets

数据集加载

数据读取器:paddle.io.DataLoader

批采样器:paddle.io.BatchSampler

分布式批采样器:paddle.io.DistributedBatchSampler

顺序采样器:paddle.io.SequenceSampler

随机采样器:paddle.io.RandomSampler

 

数据预处理

from paddle.vision.transforms import CenterCrop #图像裁剪

from paddle.vision.transforms import RandomHorizontalFlip #水平翻转

from paddle.vision.transforms import ColorJitter #图像调整

 

模型组网与可视化

内置模型

视觉:paddle.vision.models

'ResNet', 'resnet18', 'resnet34', 'resnet50', 'resnet101', 'resnet152', 'VGG', 'vgg11', 'vgg13', 'vgg16', 'vgg19', 'MobileNetV1', 'mobilenet_v1', 'MobileNetV2', 'mobilenet_v2', 'LeNet'

自定义模型

线性网:paddle.nn.Sequential

复杂网:paddle.nn.Layer

模型结构可视化

paddle.summary

 

模型训练、评估、推理、保存及加载

基础AIP

训练调优:paddle.save/load

推理部署:paddle.jit.save/load(动态图),paddle.static.save/load_inference_model(动态图)

高阶API

封装:paddle.Model

配置:Model.prepare(optimizer优化器、loss损失函数、metrics评价指标)

训练:Model.fitepoch训练轮次、batch_size批次大小)

评估:Model.evaluate

推理:Model.predict

paddle.Model.fit (训练接口,同时带有参数保存的功能)

paddle.Model.save

paddle.Model.load

 

模型复杂度:参数过少则经验不足即欠拟合,参数过多则教条主义即过拟合;

计算机视觉之卷积:过滤器即卷积核对大尺寸数据样本采样,获得关键数据并缩小数据尺寸;卷积之前先填充边缘;步幅决定采样密度;卷积核大小及卷积层数决定感受野。

池化:按比例缩小数据规模,保留关键特征,忽略局部细节,通常为2X2窗口,平均池化或最大池化;

激活:sigmoid反向传播易梯度消失,RELU大部梯度为1较为稳定;

批归一化:样本及中间层输出标准化,统计分布为均值0方差1,利于算法的稳定和收敛;

丢弃:训练时随机丢弃部分神经元结果,抑制过拟合,预测时全传递结果偏大,解决方法为放大训练结果或缩小预测结果;

 

计算机视觉之图像分类:

经典模型如LeNet, AlexNet, VGG, GoogLeNetResNetLeNet不适合大尺寸图像分类;

高层API支持paddle.vision.models接口;

示例代码运行LeNet正常,ResNet异常,forward参数个数不符,待解决;

阅读前一篇