
工控机LINUX系统不能正常运行,改用本机WIN10,GTX1650 算力7.5,
1、先装显卡驱动;
2、图灵架构对应PADDLE最佳版本为10.2,所以再安装CUDA10.2;
3、CUDA10.2 最佳 CUDNN 为7.6.5,解压后将 bin、include、lib 覆盖至 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2;
4、下载安装对应版本的PADDLE框架。
起初报错CUDA库不匹配,经查为电脑和paddle的CUDA版本不一致,一个为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.fit(epoch训练轮次、batch_size批次大小)
评估:Model.evaluate
推理:Model.predict
paddle.Model.fit (训练接口,同时带有参数保存的功能)
paddle.Model.save
paddle.Model.load
模型复杂度:参数过少则经验不足即欠拟合,参数过多则教条主义即过拟合;
计算机视觉之卷积:过滤器即卷积核对大尺寸数据样本采样,获得关键数据并缩小数据尺寸;卷积之前先填充边缘;步幅决定采样密度;卷积核大小及卷积层数决定感受野。
池化:按比例缩小数据规模,保留关键特征,忽略局部细节,通常为2X2窗口,平均池化或最大池化;
激活:sigmoid反向传播易梯度消失,RELU大部梯度为1较为稳定;
批归一化:样本及中间层输出标准化,统计分布为均值0方差1,利于算法的稳定和收敛;
丢弃:训练时随机丢弃部分神经元结果,抑制过拟合,预测时全传递结果偏大,解决方法为放大训练结果或缩小预测结果;
计算机视觉之图像分类:
经典模型如LeNet, AlexNet, VGG, GoogLeNet和ResNet,LeNet不适合大尺寸图像分类;
高层API支持paddle.vision.models接口;
示例代码运行LeNet正常,ResNet异常,forward参数个数不符,待解决;