2020-08-16

8.15学习笔记

1.“手写数字识别——资源配置”

1.1CPU训练:

(1).CPU:fluid.CPUPlace()设置

(2).GPU:fluid.CUDAPlace()设置

(3). 以dygraph.guard函数的参数声明的place资源 with语句作用域下的代码在该资源上运行。

2.两种并行计算方式:模型并存和数据并行

数据并行的两种实现方式:Pserver通信方式和NCCL通信方式

3.实现多‘GPU卡’的分布式训练:程序修改和命令调用

命令:python -m paddle.distributed.launch 启动分布式运行

--selected_gpus=0,1,2,3—log_dir./mylog train_multi_gpu.py

Selected_gpus:设置使用的GPU的序号(需要是多GPU卡的机器,命令watch nvidia-smi查看)

Log_dir:存放训练log,如果不设置,每个GPU钧默认输出到屏幕

Train_muli_gpu.py:多GPU训练的的程序,包含修改过的train_multi_gpu()函数

4.优化的其他方法:

1)加入更多的评估指标:分类准确率

分类准确率accuracy:更直观的衡量,但不适合作为Loss

公平比较这两种损失函数的优劣

Foeward加入acc计算并返回计算结果

训练过程中取得该批次样本的acc(无需平均)

2)加入对训练的检查

Forward函数中,打印模型每一层的参数和输出

,check_shape控制打印尺寸,check_content控制打印内容值

3)在测试数据集上评测

校验:使用未参与训练的样本,决策模型超参数

测试:使用未参与训练和校验的样本,评估模型的效果

加载参数,模型设置为eval状态

读取校验的样本集

根据模型预测计算评估指标,将不同批次的评估结果取平均

4)在优化目标中加入正则化项,避免过拟合

过拟合的定义:在训练数据上表现好,在测试集上表现差(泛化能力差)

正则化项:

目标:防止模型过拟合

手段:优化目标中加入正则化项,惩罚参数

效果:模型在参数大小和训练集loss之间取得平衡=在预测时效果最好的

5)作图,分析训练效果

Matplotlib库

VisualDL:飞桨原装,辅助模型优化

  1. 创建LogWriter对象,设置实验结果(数据)存放路径
  2. 训练过程中插入作图语句
  3. 命令行输入:¥visual –logdir./log,修改网卡配置
  4. 打开浏览器输入网址即可查看

5.保存和加载模型:从预测场景到回复训练场景

Model.load_dict(params_dict)

Optimizer.set_dict(opt_dict)

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值