Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
weixin_41840029
PaddleOCR
提交
a0c4649d
P
PaddleOCR
项目概览
weixin_41840029
/
PaddleOCR
与 Fork 源项目一致
Fork自
PaddlePaddle / PaddleOCR
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
PaddleOCR
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
a0c4649d
编写于
8月 29, 2022
作者:
D
Double_V
提交者:
GitHub
8月 29, 2022
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #7405 from LDOUBLEV/25_fix
fix cml
上级
90e2f2d6
97cb2d37
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
19 addition
and
34 deletion
+19
-34
configs/det/ch_PP-OCRv3/ch_PP-OCRv3_det_cml.yml
configs/det/ch_PP-OCRv3/ch_PP-OCRv3_det_cml.yml
+12
-27
ppocr/losses/basic_loss.py
ppocr/losses/basic_loss.py
+7
-7
未找到文件。
configs/det/ch_PP-OCRv3/ch_PP-OCRv3_det_cml.yml
浏览文件 @
a0c4649d
...
...
@@ -24,6 +24,7 @@ Architecture:
model_type
:
det
Models
:
Student
:
pretrained
:
model_type
:
det
algorithm
:
DB
Transform
:
null
...
...
@@ -40,6 +41,7 @@ Architecture:
name
:
DBHead
k
:
50
Student2
:
pretrained
:
model_type
:
det
algorithm
:
DB
Transform
:
null
...
...
@@ -56,6 +58,7 @@ Architecture:
name
:
DBHead
k
:
50
Teacher
:
pretrained
:
freeze_params
:
true
return_all_feats
:
false
model_type
:
det
...
...
@@ -91,14 +94,11 @@ Loss:
-
[
"
Student"
,
"
Student2"
]
maps_name
:
"
thrink_maps"
weight
:
1.0
# act: None
model_name_pairs
:
[
"
Student"
,
"
Student2"
]
key
:
maps
-
DistillationDBLoss
:
weight
:
1.0
model_name_list
:
[
"
Student"
,
"
Student2"
]
# key: maps
# name: DBLoss
balance_loss
:
true
main_loss_type
:
DiceLoss
alpha
:
5
...
...
@@ -204,31 +204,16 @@ Eval:
label_file_list
:
-
./train_data/icdar2015/text_localization/test_icdar2015_label.txt
transforms
:
-
DecodeImage
:
-
DecodeImage
:
# load image
img_mode
:
BGR
channel_first
:
f
alse
-
DetLabelEncode
:
nul
l
-
DetResizeForTest
:
null
channel_first
:
F
alse
-
DetLabelEncode
:
# Class handling labe
l
-
DetResizeForTest
:
-
NormalizeImage
:
scale
:
1./255.
mean
:
-
0.485
-
0.456
-
0.406
std
:
-
0.229
-
0.224
-
0.225
order
:
hwc
-
ToCHWImage
:
null
mean
:
[
0.485
,
0.456
,
0.406
]
std
:
[
0.229
,
0.224
,
0.225
]
order
:
'
hwc'
-
ToCHWImage
:
-
KeepKeys
:
keep_keys
:
-
image
-
shape
-
polys
-
ignore_tags
loader
:
shuffle
:
false
drop_last
:
false
batch_size_per_card
:
1
num_workers
:
2
keep_keys
:
[
'
image'
,
'
shape'
,
'
polys'
,
'
ignore_tags'
]
ppocr/losses/basic_loss.py
浏览文件 @
a0c4649d
...
...
@@ -60,19 +60,19 @@ class KLJSLoss(object):
],
"mode can only be one of ['kl', 'KL', 'js', 'JS']"
self
.
mode
=
mode
def
__call__
(
self
,
p1
,
p2
,
reduction
=
"mean"
):
def
__call__
(
self
,
p1
,
p2
,
reduction
=
"mean"
,
eps
=
1e-5
):
if
self
.
mode
.
lower
()
==
'kl'
:
loss
=
paddle
.
multiply
(
p2
,
paddle
.
log
((
p2
+
1e-5
)
/
(
p1
+
1e-5
)
+
1e-5
))
loss
+=
paddle
.
multiply
(
p1
,
paddle
.
log
((
p1
+
1e-5
)
/
(
p2
+
1e-5
)
+
1e-5
))
paddle
.
log
((
p2
+
eps
)
/
(
p1
+
eps
)
+
eps
))
loss
+=
paddle
.
multiply
(
p1
,
paddle
.
log
((
p1
+
eps
)
/
(
p2
+
eps
)
+
eps
))
loss
*=
0.5
elif
self
.
mode
.
lower
()
==
"js"
:
loss
=
paddle
.
multiply
(
p2
,
paddle
.
log
((
2
*
p2
+
1e-5
)
/
(
p1
+
p2
+
1e-5
)
+
1e-5
))
p2
,
paddle
.
log
((
2
*
p2
+
eps
)
/
(
p1
+
p2
+
eps
)
+
eps
))
loss
+=
paddle
.
multiply
(
p1
,
paddle
.
log
((
2
*
p1
+
1e-5
)
/
(
p1
+
p2
+
1e-5
)
+
1e-5
))
p1
,
paddle
.
log
((
2
*
p1
+
eps
)
/
(
p1
+
p2
+
eps
)
+
eps
))
loss
*=
0.5
else
:
raise
ValueError
(
...
...
@@ -125,7 +125,7 @@ class DMLLoss(nn.Layer):
loss
=
(
self
.
_kldiv
(
log_out1
,
out2
)
+
self
.
_kldiv
(
log_out2
,
out1
))
/
2.0
else
:
#
for detection distillation log is not needed
#
log is not needed for detection
loss
=
self
.
jskl_loss
(
out1
,
out2
)
return
loss
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录