Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
s920243400
PaddleDetection
提交
9c7b2cbc
P
PaddleDetection
项目概览
s920243400
/
PaddleDetection
与 Fork 源项目一致
Fork自
PaddlePaddle / PaddleDetection
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
PaddleDetection
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
9c7b2cbc
编写于
4月 15, 2020
作者:
W
wangguanzhong
提交者:
GitHub
4月 15, 2020
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update doc (#504)
上级
d5a5fa4b
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
9 addition
and
4 deletion
+9
-4
docs/advanced_tutorials/inference/EXPORT_MODEL.md
docs/advanced_tutorials/inference/EXPORT_MODEL.md
+7
-2
docs/tutorials/FAQ.md
docs/tutorials/FAQ.md
+2
-2
未找到文件。
docs/advanced_tutorials/inference/EXPORT_MODEL.md
浏览文件 @
9c7b2cbc
# 模型导出
训练得到一个满足要求的模型后,如果想要将该模型接入到C++预测库或者Serving服务,需要通过
`tools/export_model.py`
导出该模型。同时,会导出预测时使用的配置文件,路径与模型保存路径相同, 配置文件名为
`infer_cfg.yml`
。
**说明:**
-
导出模型输入为网络输入图像,即原始图片经过预处理后的图像,具体预处理方式可参考配置文件中TestReader部分。各类检测模型的输入格式分别为:
-
**输入部分:**
导出模型输入为网络输入图像,即原始图片经过预处理后的图像,具体预处理方式可参考配置文件中TestReader部分。各类检测模型的输入格式分别为:
| 模型系列名称 | 输入图像预处理方式 | 其他输入信息 |
| :---------: | ----------- | ---------- |
...
...
@@ -12,8 +13,12 @@
| RCNN | 归一化,等比例缩放 | 1. im
\_
info: 格式为[input
\_
H, input
\_
W, scale],input为输入图像,scale为
```输入图像大小/原始图像大小```
<br>
2. im
\_
shape:格式为[origin
\_
H, origin
\_
W, 1.], origin为原始图像 |
| RCNN+FPN | 归一化,等比例缩放,对图像填充0使得长宽均为32的倍数 | 1. im
\_
info: 格式为[input
\_
H, input
\_
W, scale],input为输入图像,scale为
```输入图像大小/原始图像大小```
<br>
2. im
\_
shape:格式为[origin
\_
H, origin
\_
W, 1.], origin为原始图像 |
| RetinaNet | 归一化,等比例缩放,对图像填充0使得长宽均为128的倍数 | 1. im
\_
info: 格式为[input
\_
H, input
\_
W, scale],input为输入图像,scale为
```输入图像大小/原始图像大小```
<br>
2. im
\_
shape:格式为[origin
\_
H, origin
\_
W, 1.], origin为原始图像 |
| Face | 归一化 | im
\_
shape: 格式为[origin
\_
H, origin
\_
W], origin为原始图像 |
-
**输出部分:**
导出模型输出统一为NMS的输出,形状为[N, 6], 其中N为预测框的个数,6为[class_id, score, x1, y1, x2, y2]。
-
导出模型输出统一为NMS的输出,形状为[N, 6], 其中N为预测框的个数,6为[class_id, score, x1, y1, x2, y2].
-
模型导出不支持模型结构中包含
```fluid.layers.py_func```
的情况。
## 启动参数说明
...
...
docs/tutorials/FAQ.md
浏览文件 @
9c7b2cbc
...
...
@@ -25,12 +25,12 @@ batch size可以达到每GPU 4 (Tesla V100 16GB)。
**Q:**
affine_channel和batch norm是什么关系?
</br>
**A:**
在RCNN系列模型加载预训练模型初始化,有时候会固定住batch norm的参数, 使用预训练模型中的全局均值和方式,并且batch norm的scale和bias参数不更新,已发布的大多ResNet系列的RCNN模型采用这种方式。这种情况下可以在config中设置norm_type为bn或affine_channel, freeze_norm为true (默认为true),两种方式等价。affne_channel的计算方式为
`scale * x + bias`
。只不过设置affine_channel时,内部对batch norm的参数自动做了融合。如果训练使用的affine_channel,用保存的模型做初始化,训练其他任务时,既可使用affine_channel, 也可使用batch norm, 参数均可正确加载。
**Q:**
某些配置项会在多个模块中用到(如
`num_classes`
),如何避免在配置文件中多次重复设置?
**Q:**
某些配置项会在多个模块中用到(如
`num_classes`
),如何避免在配置文件中多次重复设置?
</br>
**A:**
框架提供了
`__shared__`
标记来实现配置的共享,用户可以标记参数,如
`__shared__ = ['num_classes']`
,配置数值作用规则如下:
1.
如果模块配置中提供了
`num_classes`
,会优先使用其数值。
2.
如果模块配置中未提供
`num_classes`
,但配置文件中存在全局键值,那么会使用全局键值。
3.
两者均为配置的情况下,将使用默认值(
`81`
)。
**Q:**
在配置文件中设置use_process=True,并且运行报错:
`not enough space for reason[failed to malloc 601 pages...`
**Q:**
在配置文件中设置use_process=True,并且运行报错:
`not enough space for reason[failed to malloc 601 pages...`
</br>
**A:**
当前Reader的共享存储队列空间不足,请增大配置文件
`xxx.yml`
中的
`memsize`
,如
`memsize: 3G`
->
`memsize: 6G`
。或者配置文件中设置
`use_process=False`
。
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录