Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
PaddleClas
提交
b89aa009
P
PaddleClas
项目概览
PaddlePaddle
/
PaddleClas
大约 1 年 前同步成功
通知
115
Star
4999
Fork
1114
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
19
列表
看板
标记
里程碑
合并请求
6
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
PaddleClas
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
19
Issue
19
列表
看板
标记
里程碑
合并请求
6
合并请求
6
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
b89aa009
编写于
6月 16, 2021
作者:
C
cuicheng01
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Update product_recognition.md
上级
5e064643
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
8 addition
and
70 deletion
+8
-70
docs/zh_CN/application/product_recognition.md
docs/zh_CN/application/product_recognition.md
+8
-70
未找到文件。
docs/zh_CN/application/product_recognition.md
浏览文件 @
b89aa009
...
...
@@ -29,39 +29,13 @@ Aliproduct数据是天池竞赛开源的一个数据集,也是目前开源的
-
在GAP后、分类层前加入一个512维的embedding FC层,没有做BatchNorm和激活。
配置文件如下,其中BackboneStopLayer定义了backbone的输出层,在此处为GAP经过flatten后的层,Neck部分为embedding层,也是最后表示特征的层,Head部分为分类层,其输出维度等于训练数据集的类别数。
```
yaml
Arch
:
name
:
RecModel
Backbone
:
name
:
ResNet50_vd
pretrained
:
True
BackboneStopLayer
:
name
:
flatten_0
Neck
:
name
:
FC
embedding_size
:
2048
class_num
:
512
Head
:
name
:
FC
embedding_size
:
512
class_num
:
50030
```
### 4 Loss的设置
在Aliproduct商品识别中,使用了
[
CELoss
](
../../../ppcls/loss/celoss.py
)
训练, 为了获得更加鲁棒的特征,后续会使用其他Loss参与训练,敬请期待。配置文件如下:
在Aliproduct商品识别中,使用了
[
CELoss
](
../../../ppcls/loss/celoss.py
)
训练, 为了获得更加鲁棒的特征,后续会使用其他Loss参与训练,敬请期待。
全部的超参数及具体配置:
[
ResNet50_vd_Aliproduct.yaml
](
../../../ppcls/configs/Products/ResNet50_vd_Aliproduct.yaml
)
```
yaml
Loss
:
Train
:
-
CELoss
:
weight
:
1.0
Eval
:
-
CELoss
:
weight
:
1.0
```
## 2 Inshop
...
...
@@ -87,46 +61,10 @@ Inshop数据集是DeepFashion的子集,其是香港中文大学开放的一个
-
在GAP后、分类层前加入一个512维的embedding FC层,没有做BatchNorm和激活。
-
分类层采用Arcmargin Head,具体原理可参考
[
原论文
](
https://arxiv.org/pdf/1801.07698.pdf
)
。
配置文件如下,其中BackboneStopLayer定义了backbone的输出层,在此处为GAP经过flatten后的层,Neck部分为embedding层,也是最后表示特征的层,Head部分为arcmargin head, 代码实现为
[
arcmargin.py
](
../../../ppcls/arch/gears/arcmargin.py
)
,其输出维度等于训练数据集的类别数。
```
yaml
Arch
:
name
:
RecModel
infer_output_key
:
features
infer_add_softmax
:
False
Backbone
:
name
:
ResNet50_vd
pretrained
:
False
BackboneStopLayer
:
name
:
flatten_0
Neck
:
name
:
FC
embedding_size
:
2048
class_num
:
512
Head
:
name
:
ArcMargin
embedding_size
:
512
class_num
:
3997
margin
:
0.15
scale
:
30
```
-
分类层采用
[
Arcmargin Head
](
../../../ppcls/arch/gears/arcmargin.py
)
,具体原理可参考
[
原论文
](
https://arxiv.org/pdf/1801.07698.pdf
)
。
### 4 Loss的设置
在Inshop商品识别中,使用了
[
CELoss
](
../../../ppcls/loss/celoss.py
)
和
[
TripletLossV2
](
../../../ppcls/loss/triplet.py
)
联合训练。配置文件如下:
```
yaml
Loss
:
Train
:
-
CELoss
:
weight
:
1.0
-
TripletLossV2
:
weight
:
1.0
margin
:
0.5
Eval
:
-
CELoss
:
weight
:
1.0
```
在Inshop商品识别中,使用了
[
CELoss
](
../../../ppcls/loss/celoss.py
)
和
[
TripletLossV2
](
../../../ppcls/loss/triplet.py
)
联合训练。
全部的超参数及具体配置:
[
ResNet50_vd_Inshop.yaml
](
../../../ppcls/configs/Products/ResNet50_vd_Inshop.yaml
)
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录