Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
PaddleOCR
提交
95ad4d10
P
PaddleOCR
项目概览
PaddlePaddle
/
PaddleOCR
大约 1 年 前同步成功
通知
1528
Star
32962
Fork
6643
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
108
列表
看板
标记
里程碑
合并请求
7
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
PaddleOCR
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
108
Issue
108
列表
看板
标记
里程碑
合并请求
7
合并请求
7
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
95ad4d10
编写于
1月 26, 2021
作者:
Z
zhoujun
提交者:
GitHub
1月 26, 2021
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #1827 from littletomatodonkey/dyg/fix_mv3
fix mv3 to adapt to paddle2.0
上级
e7decf30
b4b51a05
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
43 addition
and
42 deletion
+43
-42
ppocr/modeling/backbones/det_mobilenet_v3.py
ppocr/modeling/backbones/det_mobilenet_v3.py
+24
-23
ppocr/modeling/backbones/rec_mobilenet_v3.py
ppocr/modeling/backbones/rec_mobilenet_v3.py
+19
-19
未找到文件。
ppocr/modeling/backbones/det_mobilenet_v3.py
浏览文件 @
95ad4d10
...
...
@@ -58,15 +58,15 @@ class MobileNetV3(nn.Layer):
[
5
,
72
,
40
,
True
,
'relu'
,
2
],
[
5
,
120
,
40
,
True
,
'relu'
,
1
],
[
5
,
120
,
40
,
True
,
'relu'
,
1
],
[
3
,
240
,
80
,
False
,
'hard
_
swish'
,
2
],
[
3
,
200
,
80
,
False
,
'hard
_
swish'
,
1
],
[
3
,
184
,
80
,
False
,
'hard
_
swish'
,
1
],
[
3
,
184
,
80
,
False
,
'hard
_
swish'
,
1
],
[
3
,
480
,
112
,
True
,
'hard
_
swish'
,
1
],
[
3
,
672
,
112
,
True
,
'hard
_
swish'
,
1
],
[
5
,
672
,
160
,
True
,
'hard
_
swish'
,
2
],
[
5
,
960
,
160
,
True
,
'hard
_
swish'
,
1
],
[
5
,
960
,
160
,
True
,
'hard
_
swish'
,
1
],
[
3
,
240
,
80
,
False
,
'hardswish'
,
2
],
[
3
,
200
,
80
,
False
,
'hardswish'
,
1
],
[
3
,
184
,
80
,
False
,
'hardswish'
,
1
],
[
3
,
184
,
80
,
False
,
'hardswish'
,
1
],
[
3
,
480
,
112
,
True
,
'hardswish'
,
1
],
[
3
,
672
,
112
,
True
,
'hardswish'
,
1
],
[
5
,
672
,
160
,
True
,
'hardswish'
,
2
],
[
5
,
960
,
160
,
True
,
'hardswish'
,
1
],
[
5
,
960
,
160
,
True
,
'hardswish'
,
1
],
]
cls_ch_squeeze
=
960
elif
model_name
==
"small"
:
...
...
@@ -75,14 +75,14 @@ class MobileNetV3(nn.Layer):
[
3
,
16
,
16
,
True
,
'relu'
,
2
],
[
3
,
72
,
24
,
False
,
'relu'
,
2
],
[
3
,
88
,
24
,
False
,
'relu'
,
1
],
[
5
,
96
,
40
,
True
,
'hard
_
swish'
,
2
],
[
5
,
240
,
40
,
True
,
'hard
_
swish'
,
1
],
[
5
,
240
,
40
,
True
,
'hard
_
swish'
,
1
],
[
5
,
120
,
48
,
True
,
'hard
_
swish'
,
1
],
[
5
,
144
,
48
,
True
,
'hard
_
swish'
,
1
],
[
5
,
288
,
96
,
True
,
'hard
_
swish'
,
2
],
[
5
,
576
,
96
,
True
,
'hard
_
swish'
,
1
],
[
5
,
576
,
96
,
True
,
'hard
_
swish'
,
1
],
[
5
,
96
,
40
,
True
,
'hardswish'
,
2
],
[
5
,
240
,
40
,
True
,
'hardswish'
,
1
],
[
5
,
240
,
40
,
True
,
'hardswish'
,
1
],
[
5
,
120
,
48
,
True
,
'hardswish'
,
1
],
[
5
,
144
,
48
,
True
,
'hardswish'
,
1
],
[
5
,
288
,
96
,
True
,
'hardswish'
,
2
],
[
5
,
576
,
96
,
True
,
'hardswish'
,
1
],
[
5
,
576
,
96
,
True
,
'hardswish'
,
1
],
]
cls_ch_squeeze
=
576
else
:
...
...
@@ -102,7 +102,7 @@ class MobileNetV3(nn.Layer):
padding
=
1
,
groups
=
1
,
if_act
=
True
,
act
=
'hard
_
swish'
,
act
=
'hardswish'
,
name
=
'conv1'
)
self
.
stages
=
[]
...
...
@@ -137,7 +137,7 @@ class MobileNetV3(nn.Layer):
padding
=
0
,
groups
=
1
,
if_act
=
True
,
act
=
'hard
_
swish'
,
act
=
'hardswish'
,
name
=
'conv_last'
))
self
.
stages
.
append
(
nn
.
Sequential
(
*
block_list
))
self
.
out_channels
.
append
(
make_divisible
(
scale
*
cls_ch_squeeze
))
...
...
@@ -191,10 +191,11 @@ class ConvBNLayer(nn.Layer):
if
self
.
if_act
:
if
self
.
act
==
"relu"
:
x
=
F
.
relu
(
x
)
elif
self
.
act
==
"hard
_
swish"
:
x
=
F
.
activation
.
hard_
swish
(
x
)
elif
self
.
act
==
"hardswish"
:
x
=
F
.
hard
swish
(
x
)
else
:
print
(
"The activation function is selected incorrectly."
)
print
(
"The activation function({}) is selected incorrectly."
.
format
(
self
.
act
))
exit
()
return
x
...
...
@@ -281,5 +282,5 @@ class SEModule(nn.Layer):
outputs
=
self
.
conv1
(
outputs
)
outputs
=
F
.
relu
(
outputs
)
outputs
=
self
.
conv2
(
outputs
)
outputs
=
F
.
activation
.
hard_sigmoid
(
outputs
)
outputs
=
F
.
hardsigmoid
(
outputs
,
slope
=
0.2
,
offset
=
0.5
)
return
inputs
*
outputs
ppocr/modeling/backbones/rec_mobilenet_v3.py
浏览文件 @
95ad4d10
...
...
@@ -51,15 +51,15 @@ class MobileNetV3(nn.Layer):
[
5
,
72
,
40
,
True
,
'relu'
,
(
large_stride
[
2
],
1
)],
[
5
,
120
,
40
,
True
,
'relu'
,
1
],
[
5
,
120
,
40
,
True
,
'relu'
,
1
],
[
3
,
240
,
80
,
False
,
'hard
_
swish'
,
1
],
[
3
,
200
,
80
,
False
,
'hard
_
swish'
,
1
],
[
3
,
184
,
80
,
False
,
'hard
_
swish'
,
1
],
[
3
,
184
,
80
,
False
,
'hard
_
swish'
,
1
],
[
3
,
480
,
112
,
True
,
'hard
_
swish'
,
1
],
[
3
,
672
,
112
,
True
,
'hard
_
swish'
,
1
],
[
5
,
672
,
160
,
True
,
'hard
_
swish'
,
(
large_stride
[
3
],
1
)],
[
5
,
960
,
160
,
True
,
'hard
_
swish'
,
1
],
[
5
,
960
,
160
,
True
,
'hard
_
swish'
,
1
],
[
3
,
240
,
80
,
False
,
'hardswish'
,
1
],
[
3
,
200
,
80
,
False
,
'hardswish'
,
1
],
[
3
,
184
,
80
,
False
,
'hardswish'
,
1
],
[
3
,
184
,
80
,
False
,
'hardswish'
,
1
],
[
3
,
480
,
112
,
True
,
'hardswish'
,
1
],
[
3
,
672
,
112
,
True
,
'hardswish'
,
1
],
[
5
,
672
,
160
,
True
,
'hardswish'
,
(
large_stride
[
3
],
1
)],
[
5
,
960
,
160
,
True
,
'hardswish'
,
1
],
[
5
,
960
,
160
,
True
,
'hardswish'
,
1
],
]
cls_ch_squeeze
=
960
elif
model_name
==
"small"
:
...
...
@@ -68,14 +68,14 @@ class MobileNetV3(nn.Layer):
[
3
,
16
,
16
,
True
,
'relu'
,
(
small_stride
[
0
],
1
)],
[
3
,
72
,
24
,
False
,
'relu'
,
(
small_stride
[
1
],
1
)],
[
3
,
88
,
24
,
False
,
'relu'
,
1
],
[
5
,
96
,
40
,
True
,
'hard
_
swish'
,
(
small_stride
[
2
],
1
)],
[
5
,
240
,
40
,
True
,
'hard
_
swish'
,
1
],
[
5
,
240
,
40
,
True
,
'hard
_
swish'
,
1
],
[
5
,
120
,
48
,
True
,
'hard
_
swish'
,
1
],
[
5
,
144
,
48
,
True
,
'hard
_
swish'
,
1
],
[
5
,
288
,
96
,
True
,
'hard
_
swish'
,
(
small_stride
[
3
],
1
)],
[
5
,
576
,
96
,
True
,
'hard
_
swish'
,
1
],
[
5
,
576
,
96
,
True
,
'hard
_
swish'
,
1
],
[
5
,
96
,
40
,
True
,
'hardswish'
,
(
small_stride
[
2
],
1
)],
[
5
,
240
,
40
,
True
,
'hardswish'
,
1
],
[
5
,
240
,
40
,
True
,
'hardswish'
,
1
],
[
5
,
120
,
48
,
True
,
'hardswish'
,
1
],
[
5
,
144
,
48
,
True
,
'hardswish'
,
1
],
[
5
,
288
,
96
,
True
,
'hardswish'
,
(
small_stride
[
3
],
1
)],
[
5
,
576
,
96
,
True
,
'hardswish'
,
1
],
[
5
,
576
,
96
,
True
,
'hardswish'
,
1
],
]
cls_ch_squeeze
=
576
else
:
...
...
@@ -96,7 +96,7 @@ class MobileNetV3(nn.Layer):
padding
=
1
,
groups
=
1
,
if_act
=
True
,
act
=
'hard
_
swish'
,
act
=
'hardswish'
,
name
=
'conv1'
)
i
=
0
block_list
=
[]
...
...
@@ -124,7 +124,7 @@ class MobileNetV3(nn.Layer):
padding
=
0
,
groups
=
1
,
if_act
=
True
,
act
=
'hard
_
swish'
,
act
=
'hardswish'
,
name
=
'conv_last'
)
self
.
pool
=
nn
.
MaxPool2D
(
kernel_size
=
2
,
stride
=
2
,
padding
=
0
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录