Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
PLSC
提交
bc276488
P
PLSC
项目概览
PaddlePaddle
/
PLSC
通知
10
Star
3
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
5
列表
看板
标记
里程碑
合并请求
4
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
PLSC
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
5
Issue
5
列表
看板
标记
里程碑
合并请求
4
合并请求
4
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
bc276488
编写于
1月 09, 2020
作者:
L
lilong12
提交者:
GitHub
1月 09, 2020
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
delete docs dir (#25)
* delete docs
上级
c56ceffc
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
1 addition
and
52 deletion
+1
-52
README.md
README.md
+1
-1
docs/mixed_precision.md
docs/mixed_precision.md
+0
-51
未找到文件。
README.md
浏览文件 @
bc276488
...
...
@@ -524,7 +524,7 @@ set_mixed_precision 函数提供7个参数,其中use_fp16为必选项,决定
-
Nvidia Introduction:
[
Training With Mixed Precision
](
https://docs.nvidia.com/deeplearning/sdk/mixed-precision-training/index.html
)
## 训练性能
##
##
训练性能
配置: Nvidia Tesla v100 GPU 单机8卡
| 模型
\速
度 | FP32训练 | 混合精度训练 | 加速比 |
...
...
docs/mixed_precision.md
已删除
100644 → 0
浏览文件 @
c56ceffc
# 混合精度训练
## 简介
PLSC支持混合精度训练。使用混合精度训练可以提升训练的速度,同时减少训练使用的显存开销。
## 使用方法
可以通过下面的代码设置开启混合精度训练:
```
python
from
plsc
import
Entry
def
main
():
ins
=
Entry
()
ins
.
set_mixed_precision
(
True
)
ins
.
train
()
if
__name__
==
"__main__"
:
main
()
```
其中,
`set_mixed_precision`
函数介绍如下:
| API | 描述 |
| --- | ---|
| set_mixed_precision| 设置混合精度训练
## 参数说明
set_mixed_precision 函数提供7个参数,其中use_fp16为必选项,决定是否开启混合精度训练,其他6个参数均有默认值,具体说明如下:
| 参数 | 类型 | 默认值| 说明
| --- | --- | ---|---|
|use_fp16| bool | 无,需用户设定| 是否开启混合精度训练,设为True为开启混合精度训练
|init_loss_scaling| float | 1.0|初始的损失缩放值,这个值有可能会影响混合精度训练的精度,建议设为默认值
|incr_every_n_steps | int | 2000|累计迭代
`incr_every_n_steps`
步都没出现FP16的越界,loss_scaling则会增加
`incr_ratio`
倍,建议设为默认值
|decr_every_n_nan_or_inf| int | 2|累计迭代
`decr_every_n_nan_or_inf`
步出现了FP16的越界,loss_scaling则会缩小为原来的
`decr_ratio`
倍,建议设为默认值
|incr_ratio |float|2.0|扩大loss_scaling的倍数,建议设为默认值
|decr_ratio| float |0.5| 缩小loss_scaling的倍数,建议设为默认值
|use_dynamic_loss_scaling | bool | True| 是否使用动态损失缩放机制。如果开启,才会用到
`incr_every_n_steps`
,
`decr_every_n_nan_or_inf`
,
`incr_ratio`
,
`decr_ratio`
四个参数,开启会提高混合精度训练的稳定性和精度,建议设为默认值
|amp_lists|AutoMixedPrecisionLists类|None|自动混合精度列表类,可以指定具体使用fp16计算的operators列表,建议设为默认值
更多关于混合精度训练的介绍可参考:
-
Paper:
[
MIXED PRECISION TRAINING
](
https://arxiv.org/abs/1710.03740
)
-
Nvidia Introduction:
[
Training With Mixed Precision
](
https://docs.nvidia.com/deeplearning/sdk/mixed-precision-training/index.html
)
## 训练性能
配置: Nvidia Tesla v100 GPU 单机8卡
| 模型
\速
度 | FP32训练 | 混合精度训练 | 加速比 |
| --- | --- | --- | --- |
| ResNet50 | 2567.96 images/s | 3643.11 images/s | 1.42 |
备注:上述模型训练使用的loss_type均为'dist_arcface'。
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录