Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
PaddleClas
提交
7db32e7a
P
PaddleClas
项目概览
PaddlePaddle
/
PaddleClas
接近 2 年 前同步成功
通知
116
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看板
提交
7db32e7a
编写于
8月 23, 2022
作者:
H
HydrogenSulfate
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'develop' into android_demo_doc
上级
9d69160d
b77de4e1
变更
92
隐藏空白更改
内联
并排
Showing
92 changed file
with
368 addition
and
347 deletion
+368
-347
MANIFEST.in
MANIFEST.in
+3
-3
__init__.py
__init__.py
+1
-1
deploy/python/build_gallery.py
deploy/python/build_gallery.py
+3
-8
deploy/python/predict_cls.py
deploy/python/predict_cls.py
+6
-10
deploy/python/predict_det.py
deploy/python/predict_det.py
+9
-15
deploy/python/predict_rec.py
deploy/python/predict_rec.py
+5
-10
deploy/python/predict_system.py
deploy/python/predict_system.py
+7
-13
deploy/python/preprocess.py
deploy/python/preprocess.py
+1
-1
deploy/utils/config.py
deploy/utils/config.py
+1
-1
docs/en/algorithm_introduction/ImageNet_models_en.md
docs/en/algorithm_introduction/ImageNet_models_en.md
+9
-9
docs/en/installation/install_paddleclas_en.md
docs/en/installation/install_paddleclas_en.md
+7
-1
docs/zh_CN/algorithm_introduction/ImageNet_models.md
docs/zh_CN/algorithm_introduction/ImageNet_models.md
+9
-9
docs/zh_CN/inference_deployment/whl_deploy.md
docs/zh_CN/inference_deployment/whl_deploy.md
+0
-1
docs/zh_CN/installation/install_paddleclas.md
docs/zh_CN/installation/install_paddleclas.md
+8
-4
paddleclas.py
paddleclas.py
+25
-14
ppcls/arch/__init__.py
ppcls/arch/__init__.py
+5
-5
ppcls/arch/backbone/__init__.py
ppcls/arch/backbone/__init__.py
+57
-57
ppcls/arch/backbone/base/theseus_layer.py
ppcls/arch/backbone/base/theseus_layer.py
+1
-1
ppcls/arch/backbone/legendary_models/esnet.py
ppcls/arch/backbone/legendary_models/esnet.py
+2
-2
ppcls/arch/backbone/legendary_models/hrnet.py
ppcls/arch/backbone/legendary_models/hrnet.py
+2
-2
ppcls/arch/backbone/legendary_models/inception_v3.py
ppcls/arch/backbone/legendary_models/inception_v3.py
+2
-2
ppcls/arch/backbone/legendary_models/mobilenet_v1.py
ppcls/arch/backbone/legendary_models/mobilenet_v1.py
+2
-2
ppcls/arch/backbone/legendary_models/mobilenet_v3.py
ppcls/arch/backbone/legendary_models/mobilenet_v3.py
+3
-2
ppcls/arch/backbone/legendary_models/pp_hgnet.py
ppcls/arch/backbone/legendary_models/pp_hgnet.py
+4
-3
ppcls/arch/backbone/legendary_models/pp_lcnet.py
ppcls/arch/backbone/legendary_models/pp_lcnet.py
+18
-22
ppcls/arch/backbone/legendary_models/pp_lcnet_v2.py
ppcls/arch/backbone/legendary_models/pp_lcnet_v2.py
+3
-2
ppcls/arch/backbone/legendary_models/resnet.py
ppcls/arch/backbone/legendary_models/resnet.py
+4
-4
ppcls/arch/backbone/legendary_models/swin_transformer.py
ppcls/arch/backbone/legendary_models/swin_transformer.py
+9
-9
ppcls/arch/backbone/legendary_models/vgg.py
ppcls/arch/backbone/legendary_models/vgg.py
+2
-2
ppcls/arch/backbone/model_zoo/alexnet.py
ppcls/arch/backbone/model_zoo/alexnet.py
+1
-1
ppcls/arch/backbone/model_zoo/convnext.py
ppcls/arch/backbone/model_zoo/convnext.py
+2
-2
ppcls/arch/backbone/model_zoo/cspnet.py
ppcls/arch/backbone/model_zoo/cspnet.py
+1
-1
ppcls/arch/backbone/model_zoo/cswin_transformer.py
ppcls/arch/backbone/model_zoo/cswin_transformer.py
+1
-1
ppcls/arch/backbone/model_zoo/darknet.py
ppcls/arch/backbone/model_zoo/darknet.py
+1
-1
ppcls/arch/backbone/model_zoo/densenet.py
ppcls/arch/backbone/model_zoo/densenet.py
+1
-1
ppcls/arch/backbone/model_zoo/distilled_vision_transformer.py
...s/arch/backbone/model_zoo/distilled_vision_transformer.py
+1
-1
ppcls/arch/backbone/model_zoo/dla.py
ppcls/arch/backbone/model_zoo/dla.py
+2
-2
ppcls/arch/backbone/model_zoo/dpn.py
ppcls/arch/backbone/model_zoo/dpn.py
+1
-1
ppcls/arch/backbone/model_zoo/efficientnet.py
ppcls/arch/backbone/model_zoo/efficientnet.py
+1
-1
ppcls/arch/backbone/model_zoo/ghostnet.py
ppcls/arch/backbone/model_zoo/ghostnet.py
+1
-1
ppcls/arch/backbone/model_zoo/googlenet.py
ppcls/arch/backbone/model_zoo/googlenet.py
+1
-1
ppcls/arch/backbone/model_zoo/gvt.py
ppcls/arch/backbone/model_zoo/gvt.py
+1
-1
ppcls/arch/backbone/model_zoo/hardnet.py
ppcls/arch/backbone/model_zoo/hardnet.py
+1
-1
ppcls/arch/backbone/model_zoo/inception_v4.py
ppcls/arch/backbone/model_zoo/inception_v4.py
+1
-1
ppcls/arch/backbone/model_zoo/levit.py
ppcls/arch/backbone/model_zoo/levit.py
+1
-1
ppcls/arch/backbone/model_zoo/mixnet.py
ppcls/arch/backbone/model_zoo/mixnet.py
+1
-1
ppcls/arch/backbone/model_zoo/mobilenet_v2.py
ppcls/arch/backbone/model_zoo/mobilenet_v2.py
+1
-1
ppcls/arch/backbone/model_zoo/mobilevit.py
ppcls/arch/backbone/model_zoo/mobilevit.py
+1
-1
ppcls/arch/backbone/model_zoo/peleenet.py
ppcls/arch/backbone/model_zoo/peleenet.py
+61
-29
ppcls/arch/backbone/model_zoo/pvt_v2.py
ppcls/arch/backbone/model_zoo/pvt_v2.py
+1
-1
ppcls/arch/backbone/model_zoo/rednet.py
ppcls/arch/backbone/model_zoo/rednet.py
+1
-1
ppcls/arch/backbone/model_zoo/regnet.py
ppcls/arch/backbone/model_zoo/regnet.py
+1
-1
ppcls/arch/backbone/model_zoo/repvgg.py
ppcls/arch/backbone/model_zoo/repvgg.py
+1
-1
ppcls/arch/backbone/model_zoo/res2net.py
ppcls/arch/backbone/model_zoo/res2net.py
+1
-1
ppcls/arch/backbone/model_zoo/res2net_vd.py
ppcls/arch/backbone/model_zoo/res2net_vd.py
+1
-1
ppcls/arch/backbone/model_zoo/resnest.py
ppcls/arch/backbone/model_zoo/resnest.py
+1
-1
ppcls/arch/backbone/model_zoo/resnet_vc.py
ppcls/arch/backbone/model_zoo/resnet_vc.py
+1
-1
ppcls/arch/backbone/model_zoo/resnext.py
ppcls/arch/backbone/model_zoo/resnext.py
+1
-1
ppcls/arch/backbone/model_zoo/resnext101_wsl.py
ppcls/arch/backbone/model_zoo/resnext101_wsl.py
+1
-1
ppcls/arch/backbone/model_zoo/resnext_vd.py
ppcls/arch/backbone/model_zoo/resnext_vd.py
+1
-1
ppcls/arch/backbone/model_zoo/rexnet.py
ppcls/arch/backbone/model_zoo/rexnet.py
+1
-1
ppcls/arch/backbone/model_zoo/se_resnet_vd.py
ppcls/arch/backbone/model_zoo/se_resnet_vd.py
+1
-1
ppcls/arch/backbone/model_zoo/se_resnext.py
ppcls/arch/backbone/model_zoo/se_resnext.py
+1
-1
ppcls/arch/backbone/model_zoo/se_resnext_vd.py
ppcls/arch/backbone/model_zoo/se_resnext_vd.py
+1
-1
ppcls/arch/backbone/model_zoo/shufflenet_v2.py
ppcls/arch/backbone/model_zoo/shufflenet_v2.py
+1
-1
ppcls/arch/backbone/model_zoo/squeezenet.py
ppcls/arch/backbone/model_zoo/squeezenet.py
+1
-1
ppcls/arch/backbone/model_zoo/tnt.py
ppcls/arch/backbone/model_zoo/tnt.py
+2
-2
ppcls/arch/backbone/model_zoo/van.py
ppcls/arch/backbone/model_zoo/van.py
+1
-1
ppcls/arch/backbone/model_zoo/vision_transformer.py
ppcls/arch/backbone/model_zoo/vision_transformer.py
+1
-1
ppcls/arch/backbone/model_zoo/xception.py
ppcls/arch/backbone/model_zoo/xception.py
+1
-1
ppcls/arch/backbone/model_zoo/xception_deeplab.py
ppcls/arch/backbone/model_zoo/xception_deeplab.py
+1
-1
ppcls/arch/backbone/variant_models/pp_lcnet_variant.py
ppcls/arch/backbone/variant_models/pp_lcnet_variant.py
+1
-1
ppcls/arch/backbone/variant_models/resnet_variant.py
ppcls/arch/backbone/variant_models/resnet_variant.py
+1
-1
ppcls/arch/backbone/variant_models/vgg_variant.py
ppcls/arch/backbone/variant_models/vgg_variant.py
+1
-1
ppcls/arch/gears/bnneck.py
ppcls/arch/gears/bnneck.py
+1
-1
ppcls/arch/gears/fc.py
ppcls/arch/gears/fc.py
+1
-1
ppcls/arch/slim/__init__.py
ppcls/arch/slim/__init__.py
+2
-2
ppcls/arch/slim/prune.py
ppcls/arch/slim/prune.py
+1
-2
ppcls/arch/slim/quant.py
ppcls/arch/slim/quant.py
+1
-1
ppcls/configs/ImageNet/Distillation/mv3_large_x1_0_distill_mv3_small_x1_0.yaml
...t/Distillation/mv3_large_x1_0_distill_mv3_small_x1_0.yaml
+1
-2
ppcls/configs/ImageNet/Distillation/res2net200_vd_distill_pphgnet_base.yaml
...eNet/Distillation/res2net200_vd_distill_pphgnet_base.yaml
+1
-2
ppcls/configs/ImageNet/Distillation/resnet34_distill_resnet18_afd.yaml
.../ImageNet/Distillation/resnet34_distill_resnet18_afd.yaml
+1
-2
ppcls/configs/ImageNet/Distillation/resnet34_distill_resnet18_dkd.yaml
.../ImageNet/Distillation/resnet34_distill_resnet18_dkd.yaml
+1
-2
ppcls/data/dataloader/DistributedRandomIdentitySampler.py
ppcls/data/dataloader/DistributedRandomIdentitySampler.py
+12
-9
ppcls/data/dataloader/pk_sampler.py
ppcls/data/dataloader/pk_sampler.py
+14
-15
ppcls/utils/check.py
ppcls/utils/check.py
+2
-4
ppcls/utils/config.py
ppcls/utils/config.py
+3
-2
ppcls/utils/download.py
ppcls/utils/download.py
+1
-1
ppcls/utils/gallery2fc.py
ppcls/utils/gallery2fc.py
+6
-6
ppcls/utils/model_zoo.py
ppcls/utils/model_zoo.py
+2
-2
ppcls/utils/save_load.py
ppcls/utils/save_load.py
+1
-1
setup.py
setup.py
+1
-1
未找到文件。
MANIFEST.in
浏览文件 @
7db32e7a
...
@@ -2,7 +2,7 @@ include LICENSE.txt
...
@@ -2,7 +2,7 @@ include LICENSE.txt
include README.md
include README.md
include docs/en/whl_en.md
include docs/en/whl_en.md
recursive-include deploy/python *.py
recursive-include deploy/python *.py
recursive-include deploy/utils *.py
recursive-include ppcls/arch *.py
recursive-include ppcls/utils *.py *.txt
recursive-include deploy/configs *.yaml
recursive-include deploy/configs *.yaml
recursive-include deploy/utils get_image_list.py config.py logger.py predictor.py
recursive-include ppcls/ *.py *.txt
\ No newline at end of file
__init__.py
浏览文件 @
7db32e7a
...
@@ -14,4 +14,4 @@
...
@@ -14,4 +14,4 @@
__all__
=
[
'PaddleClas'
]
__all__
=
[
'PaddleClas'
]
from
.paddleclas
import
PaddleClas
from
.paddleclas
import
PaddleClas
from
ppcls.arch.backbone
import
*
from
.
ppcls.arch.backbone
import
*
deploy/python/build_gallery.py
浏览文件 @
7db32e7a
...
@@ -12,10 +12,6 @@
...
@@ -12,10 +12,6 @@
# See the License for the specific language governing permissions and
# See the License for the specific language governing permissions and
# limitations under the License.
# limitations under the License.
import
os
import
os
import
sys
__dir__
=
os
.
path
.
dirname
(
os
.
path
.
abspath
(
__file__
))
sys
.
path
.
append
(
os
.
path
.
abspath
(
os
.
path
.
join
(
__dir__
,
'../'
)))
import
cv2
import
cv2
import
faiss
import
faiss
...
@@ -23,10 +19,9 @@ import numpy as np
...
@@ -23,10 +19,9 @@ import numpy as np
from
tqdm
import
tqdm
from
tqdm
import
tqdm
import
pickle
import
pickle
from
python.predict_rec
import
RecPredictor
from
paddleclas.deploy.utils
import
logger
,
config
from
paddleclas.deploy.python.predict_rec
import
RecPredictor
from
utils
import
logger
from
paddleclas.deploy.python.predict_rec
import
RecPredictor
from
utils
import
config
def
split_datafile
(
data_file
,
image_root
,
delimiter
=
"
\t
"
):
def
split_datafile
(
data_file
,
image_root
,
delimiter
=
"
\t
"
):
...
...
deploy/python/predict_cls.py
浏览文件 @
7db32e7a
...
@@ -11,21 +11,17 @@
...
@@ -11,21 +11,17 @@
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# See the License for the specific language governing permissions and
# limitations under the License.
# limitations under the License.
import
os
import
sys
__dir__
=
os
.
path
.
dirname
(
os
.
path
.
abspath
(
__file__
))
import
os
sys
.
path
.
append
(
os
.
path
.
abspath
(
os
.
path
.
join
(
__dir__
,
'../'
)))
import
cv2
import
cv2
import
numpy
as
np
import
numpy
as
np
from
utils
import
logger
from
paddleclas.deploy.utils
import
logger
,
config
from
utils
import
config
from
paddleclas.deploy.utils.predictor
import
Predictor
from
utils.predictor
import
Predictor
from
paddleclas.deploy.utils.get_image_list
import
get_image_list
from
utils.get_image_list
import
get_image_list
from
paddleclas.deploy.python.preprocess
import
create_operators
from
python.preprocess
import
create_operators
from
paddleclas.deploy.python.postprocess
import
build_postprocess
from
python.postprocess
import
build_postprocess
class
ClsPredictor
(
Predictor
):
class
ClsPredictor
(
Predictor
):
...
...
deploy/python/predict_det.py
浏览文件 @
7db32e7a
...
@@ -11,29 +11,23 @@
...
@@ -11,29 +11,23 @@
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# See the License for the specific language governing permissions and
# limitations under the License.
# limitations under the License.
import
os
import
sys
__dir__
=
os
.
path
.
dirname
(
os
.
path
.
abspath
(
__file__
))
sys
.
path
.
append
(
os
.
path
.
abspath
(
os
.
path
.
join
(
__dir__
,
'../'
)))
from
utils
import
logger
from
utils
import
config
from
utils.predictor
import
Predictor
from
utils.get_image_list
import
get_image_list
from
det_preprocess
import
det_preprocess
from
preprocess
import
create_operators
import
os
import
os
import
argparse
import
argparse
import
time
import
time
from
functools
import
reduce
import
yaml
import
yaml
import
ast
import
ast
from
functools
import
reduce
import
cv2
import
numpy
as
np
import
numpy
as
np
import
cv2
import
paddle
import
paddle
from
paddleclas.deploy.utils
import
logger
,
config
from
paddleclas.deploy.utils.predictor
import
Predictor
from
paddleclas.deploy.utils.get_image_list
import
get_image_list
from
paddleclas.deploy.python.preprocess
import
create_operators
from
paddleclas.deploy.python.det_preprocess
import
det_preprocess
class
DetPredictor
(
Predictor
):
class
DetPredictor
(
Predictor
):
def
__init__
(
self
,
config
):
def
__init__
(
self
,
config
):
...
...
deploy/python/predict_rec.py
浏览文件 @
7db32e7a
...
@@ -12,20 +12,15 @@
...
@@ -12,20 +12,15 @@
# See the License for the specific language governing permissions and
# See the License for the specific language governing permissions and
# limitations under the License.
# limitations under the License.
import
os
import
os
import
sys
__dir__
=
os
.
path
.
dirname
(
os
.
path
.
abspath
(
__file__
))
sys
.
path
.
append
(
os
.
path
.
abspath
(
os
.
path
.
join
(
__dir__
,
'../'
)))
import
cv2
import
cv2
import
numpy
as
np
import
numpy
as
np
from
utils
import
logger
from
paddleclas.deploy.utils
import
logger
,
config
from
utils
import
config
from
paddleclas.deploy.utils.predictor
import
Predictor
from
utils.predictor
import
Predictor
from
paddleclas.deploy.utils.get_image_list
import
get_image_list
from
utils.get_image_list
import
get_image_list
from
paddleclas.deploy.python.preprocess
import
create_operators
from
preprocess
import
create_operators
from
paddleclas.deploy.python.postprocess
import
build_postprocess
from
postprocess
import
build_postprocess
class
RecPredictor
(
Predictor
):
class
RecPredictor
(
Predictor
):
...
...
deploy/python/predict_system.py
浏览文件 @
7db32e7a
...
@@ -12,24 +12,18 @@
...
@@ -12,24 +12,18 @@
# See the License for the specific language governing permissions and
# See the License for the specific language governing permissions and
# limitations under the License.
# limitations under the License.
import
os
import
os
import
sys
__dir__
=
os
.
path
.
dirname
(
os
.
path
.
abspath
(
__file__
))
sys
.
path
.
append
(
os
.
path
.
abspath
(
os
.
path
.
join
(
__dir__
,
'../'
)))
import
copy
import
copy
import
cv2
import
numpy
as
np
import
numpy
as
np
import
cv2
import
faiss
import
faiss
import
pickle
import
pickle
from
python.predict_rec
import
RecPredictor
from
paddleclas.deploy.utils
import
logger
,
config
from
python.predict_det
import
DetPredictor
from
paddleclas.deploy.utils.get_image_list
import
get_image_list
from
paddleclas.deploy.utils.draw_bbox
import
draw_bbox_results
from
utils
import
logger
from
paddleclas.deploy.python.predict_rec
import
RecPredictor
from
utils
import
config
from
paddleclas.deploy.python.predict_det
import
DetPredictor
from
utils.get_image_list
import
get_image_list
from
utils.draw_bbox
import
draw_bbox_results
class
SystemPredictor
(
object
):
class
SystemPredictor
(
object
):
...
...
deploy/python/preprocess.py
浏览文件 @
7db32e7a
...
@@ -29,7 +29,7 @@ import importlib
...
@@ -29,7 +29,7 @@ import importlib
from
PIL
import
Image
from
PIL
import
Image
from
paddle.vision.transforms
import
ToTensor
,
Normalize
from
paddle.vision.transforms
import
ToTensor
,
Normalize
from
python.det_preprocess
import
DetNormalizeImage
,
DetPadStride
,
DetPermute
,
DetResize
from
p
addleclas.deploy.p
ython.det_preprocess
import
DetNormalizeImage
,
DetPadStride
,
DetPermute
,
DetResize
def
create_operators
(
params
):
def
create_operators
(
params
):
...
...
deploy/utils/config.py
浏览文件 @
7db32e7a
...
@@ -17,7 +17,7 @@ import copy
...
@@ -17,7 +17,7 @@ import copy
import
argparse
import
argparse
import
yaml
import
yaml
from
utils
import
logger
from
.
import
logger
__all__
=
[
'get_config'
]
__all__
=
[
'get_config'
]
...
...
docs/en/algorithm_introduction/ImageNet_models_en.md
浏览文件 @
7db32e7a
...
@@ -27,7 +27,7 @@
...
@@ -27,7 +27,7 @@
-
[
20. DLA series
](
#20
)
-
[
20. DLA series
](
#20
)
-
[
21. RedNet series
](
#21
)
-
[
21. RedNet series
](
#21
)
-
[
22. TNT series
](
#22
)
-
[
22. TNT series
](
#22
)
-
[
23. CS
w
inTransformer series
](
#23
)
-
[
23. CS
W
inTransformer series
](
#23
)
-
[
24. PVTV2 series
](
#24
)
-
[
24. PVTV2 series
](
#24
)
-
[
25. MobileViT series
](
#25
)
-
[
25. MobileViT series
](
#25
)
-
[
26. Other models
](
#26
)
-
[
26. Other models
](
#26
)
...
@@ -400,14 +400,14 @@ The accuracy and speed indicators of SwinTransformer series models are shown in
...
@@ -400,14 +400,14 @@ The accuracy and speed indicators of SwinTransformer series models are shown in
| Model | Top-1 Acc | Top-5 Acc | time(ms)
<br>
bs=1 | time(ms)
<br>
bs=4 | time(ms)
<br/>
bs=8 | FLOPs(G) | Params(M) | Pretrained Model Download Address | Inference Model Download Address |
| Model | Top-1 Acc | Top-5 Acc | time(ms)
<br>
bs=1 | time(ms)
<br>
bs=4 | time(ms)
<br/>
bs=8 | FLOPs(G) | Params(M) | Pretrained Model Download Address | Inference Model Download Address |
| ---------- | --------- | --------- | ---------------- | ---------------- | -------- | --------- | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ |
| ---------- | --------- | --------- | ---------------- | ---------------- | -------- | --------- | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ |
| SwinTransformer_tiny_patch4_window7_224 | 0.8069 | 0.9534 | 6.59 | 9.68 | 16.32 | 4.35 | 28.26 |
[
Download link
](
https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/SwinTransformer_tiny_patch4_window7_224_pretrained.pdparams
)
|
[
Download link
](
https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/inference/SwinTransformer_tiny_patch4_window7_224_infer.tar
)
|
| SwinTransformer_tiny_patch4_window7_224 | 0.8069 | 0.9534 | 6.59 | 9.68 | 16.32 | 4.35 | 28.26 |
[
Download link
](
https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/
legendary_models/
SwinTransformer_tiny_patch4_window7_224_pretrained.pdparams
)
|
[
Download link
](
https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/inference/SwinTransformer_tiny_patch4_window7_224_infer.tar
)
|
| SwinTransformer_small_patch4_window7_224 | 0.8275 | 0.9613 | 12.54 | 17.07 | 28.08 | 8.51 | 49.56 |
[
Download link
](
https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/SwinTransformer_small_patch4_window7_224_pretrained.pdparams
)
|
[
Download link
](
https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/inference/SwinTransformer_small_patch4_window7_224_infer.tar
)
|
| SwinTransformer_small_patch4_window7_224 | 0.8275 | 0.9613 | 12.54 | 17.07 | 28.08 | 8.51 | 49.56 |
[
Download link
](
https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/
legendary_models/
SwinTransformer_small_patch4_window7_224_pretrained.pdparams
)
|
[
Download link
](
https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/inference/SwinTransformer_small_patch4_window7_224_infer.tar
)
|
| SwinTransformer_base_patch4_window7_224 | 0.8300 | 0.9626 | 13.37 | 23.53 | 39.11 | 15.13 | 87.70 |
[
Download link
](
https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/SwinTransformer_base_patch4_window7_224_pretrained.pdparams
)
|
[
Download link
](
https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/inference/SwinTransformer_base_patch4_window7_224_infer.tar
)
|
| SwinTransformer_base_patch4_window7_224 | 0.8300 | 0.9626 | 13.37 | 23.53 | 39.11 | 15.13 | 87.70 |
[
Download link
](
https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/
legendary_models/
SwinTransformer_base_patch4_window7_224_pretrained.pdparams
)
|
[
Download link
](
https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/inference/SwinTransformer_base_patch4_window7_224_infer.tar
)
|
| SwinTransformer_base_patch4_window12_384 | 0.8439 | 0.9693 | 19.52 | 64.56 | 123.30 | 44.45 | 87.70 |
[
Download link
](
https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/SwinTransformer_base_patch4_window12_384_pretrained.pdparams
)
|
[
Download link
](
https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/inference/SwinTransformer_base_patch4_window12_384_infer.tar
)
|
| SwinTransformer_base_patch4_window12_384 | 0.8439 | 0.9693 | 19.52 | 64.56 | 123.30 | 44.45 | 87.70 |
[
Download link
](
https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/
legendary_models/
SwinTransformer_base_patch4_window12_384_pretrained.pdparams
)
|
[
Download link
](
https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/inference/SwinTransformer_base_patch4_window12_384_infer.tar
)
|
| SwinTransformer_base_patch4_window7_224
<sup>
[
1]</sup> | 0.8487 | 0.9746 | 13.53 | 23.46 | 39.13 | 15.13 | 87.70 | [Download link
](
https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/SwinTransformer_base_patch4_window7_224_22kto1k_pretrained.pdparams
)
|
[
Download link
](
https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/inference/SwinTransformer_base_patch4_window7_224_infer.tar
)
|
| SwinTransformer_base_patch4_window7_224
<sup>
[
1]</sup> | 0.8487 | 0.9746 | 13.53 | 23.46 | 39.13 | 15.13 | 87.70 | [Download link
](
https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/
legendary_models/
SwinTransformer_base_patch4_window7_224_22kto1k_pretrained.pdparams
)
|
[
Download link
](
https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/inference/SwinTransformer_base_patch4_window7_224_infer.tar
)
|
| SwinTransformer_base_patch4_window12_384
<sup>
[
1]</sup> | 0.8642 | 0.9807 | 19.65 | 64.72 | 123.42 | 44.45 | 87.70 | [Download link
](
https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/SwinTransformer_base_patch4_window12_384_22kto1k_pretrained.pdparams
)
|
[
Download link
](
https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/inference/SwinTransformer_base_patch4_window12_384_infer.tar
)
|
| SwinTransformer_base_patch4_window12_384
<sup>
[
1]</sup> | 0.8642 | 0.9807 | 19.65 | 64.72 | 123.42 | 44.45 | 87.70 | [Download link
](
https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/
legendary_models/
SwinTransformer_base_patch4_window12_384_22kto1k_pretrained.pdparams
)
|
[
Download link
](
https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/inference/SwinTransformer_base_patch4_window12_384_infer.tar
)
|
| SwinTransformer_large_patch4_window7_224
<sup>
[
1]</sup> | 0.8596 | 0.9783 | 15.74 | 38.57 | 71.49 | 34.02 | 196.43 | [Download link
](
https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/SwinTransformer_large_patch4_window7_224_22kto1k_pretrained.pdparams
)
|
[
Download link
](
https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/inference/SwinTransformer_large_patch4_window7_224_22kto1k_infer.tar
)
|
| SwinTransformer_large_patch4_window7_224
<sup>
[
1]</sup> | 0.8596 | 0.9783 | 15.74 | 38.57 | 71.49 | 34.02 | 196.43 | [Download link
](
https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/
legendary_models/
SwinTransformer_large_patch4_window7_224_22kto1k_pretrained.pdparams
)
|
[
Download link
](
https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/inference/SwinTransformer_large_patch4_window7_224_22kto1k_infer.tar
)
|
| SwinTransformer_large_patch4_window12_384
<sup>
[
1]</sup> | 0.8719 | 0.9823 | 32.61 | 116.59 | 223.23 | 99.97 | 196.43 | [Download link
](
https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/SwinTransformer_large_patch4_window12_384_22kto1k_pretrained.pdparams
)
|
[
Download link
](
https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/inference/SwinTransformer_large_patch4_window12_384_22kto1k_infer.tar
)
|
| SwinTransformer_large_patch4_window12_384
<sup>
[
1]</sup> | 0.8719 | 0.9823 | 32.61 | 116.59 | 223.23 | 99.97 | 196.43 | [Download link
](
https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/
legendary_models/
SwinTransformer_large_patch4_window12_384_22kto1k_pretrained.pdparams
)
|
[
Download link
](
https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/inference/SwinTransformer_large_patch4_window12_384_22kto1k_infer.tar
)
|
[1]:It is pre-trained based on the ImageNet22k dataset, and then transferred and learned from the ImageNet1k dataset.
[1]:It is pre-trained based on the ImageNet22k dataset, and then transferred and learned from the ImageNet1k dataset.
...
...
docs/en/installation/install_paddleclas_en.md
浏览文件 @
7db32e7a
...
@@ -23,7 +23,13 @@ git clone https://gitee.com/paddlepaddle/PaddleClas.git -b develop
...
@@ -23,7 +23,13 @@ git clone https://gitee.com/paddlepaddle/PaddleClas.git -b develop
<a
name=
'2'
></a>
<a
name=
'2'
></a>
## 2. Install requirements
## 2. Install PaddleClas and requirements
It is recommanded that installing from PyPI:
```
shell
pip
install
paddleclas
```
PaddleClas dependencies are listed in file
`requirements.txt`
, you can use the following command to install the dependencies.
PaddleClas dependencies are listed in file
`requirements.txt`
, you can use the following command to install the dependencies.
...
...
docs/zh_CN/algorithm_introduction/ImageNet_models.md
浏览文件 @
7db32e7a
...
@@ -31,7 +31,7 @@
...
@@ -31,7 +31,7 @@
-
[
DLA 系列
](
#DLA
)
-
[
DLA 系列
](
#DLA
)
-
[
RedNet 系列
](
#RedNet
)
-
[
RedNet 系列
](
#RedNet
)
-
[
TNT 系列
](
#TNT
)
-
[
TNT 系列
](
#TNT
)
-
[
CS
winTransformer 系列
](
#CSw
inTransformer
)
-
[
CS
WinTransformer 系列
](
#CSW
inTransformer
)
-
[
PVTV2 系列
](
#PVTV2
)
-
[
PVTV2 系列
](
#PVTV2
)
-
[
MobileViT 系列
](
#MobileViT
)
-
[
MobileViT 系列
](
#MobileViT
)
-
[
其他模型
](
#Others
)
-
[
其他模型
](
#Others
)
...
@@ -426,14 +426,14 @@ ViT(Vision Transformer) 与 DeiT(Data-efficient Image Transformers)系列模
...
@@ -426,14 +426,14 @@ ViT(Vision Transformer) 与 DeiT(Data-efficient Image Transformers)系列模
| 模型 | Top-1 Acc | Top-5 Acc | time(ms)
<br>
bs=1 | time(ms)
<br>
bs=4 | time(ms)
<br/>
bs=8 | FLOPs(G) | Params(M) | 预训练模型下载地址 | inference模型下载地址 |
| 模型 | Top-1 Acc | Top-5 Acc | time(ms)
<br>
bs=1 | time(ms)
<br>
bs=4 | time(ms)
<br/>
bs=8 | FLOPs(G) | Params(M) | 预训练模型下载地址 | inference模型下载地址 |
| ---------- | --------- | --------- | ---------------- | ---------------- | -------- | --------- | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ |
| ---------- | --------- | --------- | ---------------- | ---------------- | -------- | --------- | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ |
| SwinTransformer_tiny_patch4_window7_224 | 0.8069 | 0.9534 | 6.59 | 9.68 | 16.32 | 4.35 | 28.26 |
[
下载链接
](
https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/SwinTransformer_tiny_patch4_window7_224_pretrained.pdparams
)
|
[
下载链接
](
https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/inference/SwinTransformer_tiny_patch4_window7_224_infer.tar
)
|
| SwinTransformer_tiny_patch4_window7_224 | 0.8069 | 0.9534 | 6.59 | 9.68 | 16.32 | 4.35 | 28.26 |
[
下载链接
](
https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/
legendary_models/
SwinTransformer_tiny_patch4_window7_224_pretrained.pdparams
)
|
[
下载链接
](
https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/inference/SwinTransformer_tiny_patch4_window7_224_infer.tar
)
|
| SwinTransformer_small_patch4_window7_224 | 0.8275 | 0.9613 | 12.54 | 17.07 | 28.08 | 8.51 | 49.56 |
[
下载链接
](
https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/SwinTransformer_small_patch4_window7_224_pretrained.pdparams
)
|
[
下载链接
](
https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/inference/SwinTransformer_small_patch4_window7_224_infer.tar
)
|
| SwinTransformer_small_patch4_window7_224 | 0.8275 | 0.9613 | 12.54 | 17.07 | 28.08 | 8.51 | 49.56 |
[
下载链接
](
https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/
legendary_models/
SwinTransformer_small_patch4_window7_224_pretrained.pdparams
)
|
[
下载链接
](
https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/inference/SwinTransformer_small_patch4_window7_224_infer.tar
)
|
| SwinTransformer_base_patch4_window7_224 | 0.8300 | 0.9626 | 13.37 | 23.53 | 39.11 | 15.13 | 87.70 |
[
下载链接
](
https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/SwinTransformer_base_patch4_window7_224_pretrained.pdparams
)
|
[
下载链接
](
https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/inference/SwinTransformer_base_patch4_window7_224_infer.tar
)
|
| SwinTransformer_base_patch4_window7_224 | 0.8300 | 0.9626 | 13.37 | 23.53 | 39.11 | 15.13 | 87.70 |
[
下载链接
](
https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/
legendary_models/
SwinTransformer_base_patch4_window7_224_pretrained.pdparams
)
|
[
下载链接
](
https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/inference/SwinTransformer_base_patch4_window7_224_infer.tar
)
|
| SwinTransformer_base_patch4_window12_384 | 0.8439 | 0.9693 | 19.52 | 64.56 | 123.30 | 44.45 | 87.70 |
[
下载链接
](
https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/SwinTransformer_base_patch4_window12_384_pretrained.pdparams
)
|
[
下载链接
](
https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/inference/SwinTransformer_base_patch4_window12_384_infer.tar
)
|
| SwinTransformer_base_patch4_window12_384 | 0.8439 | 0.9693 | 19.52 | 64.56 | 123.30 | 44.45 | 87.70 |
[
下载链接
](
https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/
legendary_models/
SwinTransformer_base_patch4_window12_384_pretrained.pdparams
)
|
[
下载链接
](
https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/inference/SwinTransformer_base_patch4_window12_384_infer.tar
)
|
| SwinTransformer_base_patch4_window7_224
<sup>
[
1]</sup> | 0.8487 | 0.9746 | 13.53 | 23.46 | 39.13 | 15.13 | 87.70 | [下载链接
](
https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/SwinTransformer_base_patch4_window7_224_22kto1k_pretrained.pdparams
)
|
[
下载链接
](
https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/inference/SwinTransformer_base_patch4_window7_224_infer.tar
)
|
| SwinTransformer_base_patch4_window7_224
<sup>
[
1]</sup> | 0.8487 | 0.9746 | 13.53 | 23.46 | 39.13 | 15.13 | 87.70 | [下载链接
](
https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/
legendary_models/
SwinTransformer_base_patch4_window7_224_22kto1k_pretrained.pdparams
)
|
[
下载链接
](
https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/inference/SwinTransformer_base_patch4_window7_224_infer.tar
)
|
| SwinTransformer_base_patch4_window12_384
<sup>
[
1]</sup> | 0.8642 | 0.9807 | 19.65 | 64.72 | 123.42 | 44.45 | 87.70 | [下载链接
](
https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/SwinTransformer_base_patch4_window12_384_22kto1k_pretrained.pdparams
)
|
[
下载链接
](
https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/inference/SwinTransformer_base_patch4_window12_384_infer.tar
)
|
| SwinTransformer_base_patch4_window12_384
<sup>
[
1]</sup> | 0.8642 | 0.9807 | 19.65 | 64.72 | 123.42 | 44.45 | 87.70 | [下载链接
](
https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/
legendary_models/
SwinTransformer_base_patch4_window12_384_22kto1k_pretrained.pdparams
)
|
[
下载链接
](
https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/inference/SwinTransformer_base_patch4_window12_384_infer.tar
)
|
| SwinTransformer_large_patch4_window7_224
<sup>
[
1]</sup> | 0.8596 | 0.9783 | 15.74 | 38.57 | 71.49 | 34.02 | 196.43 | [下载链接
](
https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/SwinTransformer_large_patch4_window7_224_22kto1k_pretrained.pdparams
)
|
[
下载链接
](
https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/inference/SwinTransformer_large_patch4_window7_224_22kto1k_infer.tar
)
|
| SwinTransformer_large_patch4_window7_224
<sup>
[
1]</sup> | 0.8596 | 0.9783 | 15.74 | 38.57 | 71.49 | 34.02 | 196.43 | [下载链接
](
https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/
legendary_models/
SwinTransformer_large_patch4_window7_224_22kto1k_pretrained.pdparams
)
|
[
下载链接
](
https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/inference/SwinTransformer_large_patch4_window7_224_22kto1k_infer.tar
)
|
| SwinTransformer_large_patch4_window12_384
<sup>
[
1]</sup> | 0.8719 | 0.9823 | 32.61 | 116.59 | 223.23 | 99.97 | 196.43 | [下载链接
](
https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/SwinTransformer_large_patch4_window12_384_22kto1k_pretrained.pdparams
)
|
[
下载链接
](
https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/inference/SwinTransformer_large_patch4_window12_384_22kto1k_infer.tar
)
|
| SwinTransformer_large_patch4_window12_384
<sup>
[
1]</sup> | 0.8719 | 0.9823 | 32.61 | 116.59 | 223.23 | 99.97 | 196.43 | [下载链接
](
https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/
legendary_models/
SwinTransformer_large_patch4_window12_384_22kto1k_pretrained.pdparams
)
|
[
下载链接
](
https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/inference/SwinTransformer_large_patch4_window12_384_22kto1k_infer.tar
)
|
[1]:基于 ImageNet22k 数据集预训练,然后在 ImageNet1k 数据集迁移学习得到。
[1]:基于 ImageNet22k 数据集预训练,然后在 ImageNet1k 数据集迁移学习得到。
...
...
docs/zh_CN/inference_deployment/whl_deploy.md
浏览文件 @
7db32e7a
...
@@ -92,7 +92,6 @@ Predict complete!
...
@@ -92,7 +92,6 @@ Predict complete!
*
命令行中
*
命令行中
```
bash
```
bash
from paddleclas import PaddleClas, get_default_confg
paddleclas
--model_name
=
ViT_base_patch16_384
--infer_imgs
=
'docs/images/inference_deployment/whl_demo.jpg'
--resize_short
=
384
--crop_size
=
384
paddleclas
--model_name
=
ViT_base_patch16_384
--infer_imgs
=
'docs/images/inference_deployment/whl_demo.jpg'
--resize_short
=
384
--crop_size
=
384
```
```
...
...
docs/zh_CN/installation/install_paddleclas.md
浏览文件 @
7db32e7a
...
@@ -26,7 +26,7 @@
...
@@ -26,7 +26,7 @@
#### 1.1.1 使用Paddle官方镜像
#### 1.1.1 使用Paddle官方镜像
*
切换到工作目录下,例如工作目录为
`/home/Projects`
,则运行命令:
*
切换到工作目录下,例如工作目录为
`/home/Projects`
,则运行命令:
```
shell
```
shell
cd
/home/Projects
cd
/home/Projects
...
@@ -96,7 +96,13 @@ git clone https://gitee.com/paddlepaddle/PaddleClas.git -b release/2.4
...
@@ -96,7 +96,13 @@ git clone https://gitee.com/paddlepaddle/PaddleClas.git -b release/2.4
```
```
<a
name=
'1.3'
></a>
<a
name=
'1.3'
></a>
### 1.3 安装 Python 依赖库
### 1.3 安装 PaddleClas 及其 Python 依赖库
建议直接从 PyPI 安装 PaddleClas:
```
shell
pip
install
paddleclas
```
PaddleClas 的 Python 依赖库在
`requirements.txt`
中给出,可通过如下命令安装:
PaddleClas 的 Python 依赖库在
`requirements.txt`
中给出,可通过如下命令安装:
...
@@ -114,5 +120,3 @@ pip install --upgrade -r requirements.txt -i https://mirror.baidu.com/pypi/simpl
...
@@ -114,5 +120,3 @@ pip install --upgrade -r requirements.txt -i https://mirror.baidu.com/pypi/simpl
如果您对自动化制作docker镜像感兴趣,或有自定义需求,请访问
[
PaddlePaddle/PaddleCloud
](
https://github.com/PaddlePaddle/PaddleCloud/tree/main/tekton
)
做进一步了解。
如果您对自动化制作docker镜像感兴趣,或有自定义需求,请访问
[
PaddlePaddle/PaddleCloud
](
https://github.com/PaddlePaddle/PaddleCloud/tree/main/tekton
)
做进一步了解。
**备注**
:当前的镜像中的 PaddleClas 代码默认使用最新的 release/2.4 分支。
**备注**
:当前的镜像中的 PaddleClas 代码默认使用最新的 release/2.4 分支。
paddleclas.py
浏览文件 @
7db32e7a
...
@@ -13,11 +13,6 @@
...
@@ -13,11 +13,6 @@
# limitations under the License.
# limitations under the License.
import
os
import
os
import
sys
__dir__
=
os
.
path
.
dirname
(
__file__
)
sys
.
path
.
append
(
os
.
path
.
join
(
__dir__
,
""
))
sys
.
path
.
append
(
os
.
path
.
join
(
__dir__
,
"deploy"
))
from
typing
import
Union
,
Generator
from
typing
import
Union
,
Generator
import
argparse
import
argparse
import
shutil
import
shutil
...
@@ -33,12 +28,16 @@ from tqdm import tqdm
...
@@ -33,12 +28,16 @@ from tqdm import tqdm
from
prettytable
import
PrettyTable
from
prettytable
import
PrettyTable
import
paddle
import
paddle
from
deploy.python.predict_cls
import
ClsPredictor
from
.ppcls.arch
import
backbone
from
deploy.utils.get_image_list
import
get_image_list
from
.ppcls.utils
import
logger
from
deploy.utils
import
config
from
.deploy.python.predict_cls
import
ClsPredictor
from
.deploy.utils.get_image_list
import
get_image_list
from
.deploy.utils
import
config
import
ppcls.arch.backbone
as
backbone
# for the PaddleClas Project
from
ppcls.utils
import
logger
from
.
import
deploy
from
.
import
ppcls
# for building model with loading pretrained weights from backbone
# for building model with loading pretrained weights from backbone
logger
.
init_logger
()
logger
.
init_logger
()
...
@@ -51,6 +50,11 @@ BASE_IMAGES_DIR = os.path.join(BASE_DIR, "images")
...
@@ -51,6 +50,11 @@ BASE_IMAGES_DIR = os.path.join(BASE_DIR, "images")
IMN_MODEL_BASE_DOWNLOAD_URL
=
"https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/inference/{}_infer.tar"
IMN_MODEL_BASE_DOWNLOAD_URL
=
"https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/inference/{}_infer.tar"
IMN_MODEL_SERIES
=
{
IMN_MODEL_SERIES
=
{
"AlexNet"
:
[
"AlexNet"
],
"AlexNet"
:
[
"AlexNet"
],
"CSWinTransformer"
:
[
"CSWinTransformer_tiny_224"
,
"CSWinTransformer_small_224"
,
"CSWinTransformer_base_224"
,
"CSWinTransformer_base_384"
,
"CSWinTransformer_large_224"
,
"CSWinTransformer_large_384"
],
"DarkNet"
:
[
"DarkNet53"
],
"DarkNet"
:
[
"DarkNet53"
],
"DeiT"
:
[
"DeiT"
:
[
"DeiT_base_distilled_patch16_224"
,
"DeiT_base_distilled_patch16_384"
,
"DeiT_base_distilled_patch16_224"
,
"DeiT_base_distilled_patch16_384"
,
...
@@ -82,6 +86,8 @@ IMN_MODEL_SERIES = {
...
@@ -82,6 +86,8 @@ IMN_MODEL_SERIES = {
"HRNet_W48_C_ssld"
"HRNet_W48_C_ssld"
],
],
"Inception"
:
[
"GoogLeNet"
,
"InceptionV3"
,
"InceptionV4"
],
"Inception"
:
[
"GoogLeNet"
,
"InceptionV3"
,
"InceptionV4"
],
"LeViT"
:
[
"LeViT_128S"
,
"LeViT_128"
,
"LeViT_192"
,
"LeViT_256"
,
"LeViT_384"
],
"MixNet"
:
[
"MixNet_S"
,
"MixNet_M"
,
"MixNet_L"
],
"MixNet"
:
[
"MixNet_S"
,
"MixNet_M"
,
"MixNet_L"
],
"MobileNetV1"
:
[
"MobileNetV1"
:
[
"MobileNetV1_x0_25"
,
"MobileNetV1_x0_5"
,
"MobileNetV1_x0_75"
,
"MobileNetV1_x0_25"
,
"MobileNetV1_x0_5"
,
"MobileNetV1_x0_75"
,
...
@@ -100,6 +106,7 @@ IMN_MODEL_SERIES = {
...
@@ -100,6 +106,7 @@ IMN_MODEL_SERIES = {
"MobileNetV3_large_x1_0"
,
"MobileNetV3_large_x1_25"
,
"MobileNetV3_large_x1_0"
,
"MobileNetV3_large_x1_25"
,
"MobileNetV3_small_x1_0_ssld"
,
"MobileNetV3_large_x1_0_ssld"
"MobileNetV3_small_x1_0_ssld"
,
"MobileNetV3_large_x1_0_ssld"
],
],
"MobileViT"
:
[
"MobileViT_XXS"
,
"MobileViT_XS"
,
"MobileViT_S"
],
"PPHGNet"
:
[
"PPHGNet"
:
[
"PPHGNet_tiny"
,
"PPHGNet_tiny"
,
"PPHGNet_small"
,
"PPHGNet_small"
,
...
@@ -111,6 +118,10 @@ IMN_MODEL_SERIES = {
...
@@ -111,6 +118,10 @@ IMN_MODEL_SERIES = {
"PPLCNet_x1_0"
,
"PPLCNet_x1_5"
,
"PPLCNet_x2_0"
,
"PPLCNet_x2_5"
"PPLCNet_x1_0"
,
"PPLCNet_x1_5"
,
"PPLCNet_x2_0"
,
"PPLCNet_x2_5"
],
],
"PPLCNetV2"
:
[
"PPLCNetV2_base"
],
"PPLCNetV2"
:
[
"PPLCNetV2_base"
],
"PVTV2"
:
[
"PVT_V2_B0"
,
"PVT_V2_B1"
,
"PVT_V2_B2"
,
"PVT_V2_B2_Linear"
,
"PVT_V2_B3"
,
"PVT_V2_B4"
,
"PVT_V2_B5"
],
"RedNet"
:
[
"RedNet26"
,
"RedNet38"
,
"RedNet50"
,
"RedNet101"
,
"RedNet152"
],
"RedNet"
:
[
"RedNet26"
,
"RedNet38"
,
"RedNet50"
,
"RedNet101"
,
"RedNet152"
],
"RegNet"
:
[
"RegNetX_4GF"
],
"RegNet"
:
[
"RegNetX_4GF"
],
"Res2Net"
:
[
"Res2Net"
:
[
...
@@ -163,6 +174,7 @@ IMN_MODEL_SERIES = {
...
@@ -163,6 +174,7 @@ IMN_MODEL_SERIES = {
"pcpvt_small"
,
"pcpvt_base"
,
"pcpvt_large"
,
"alt_gvt_small"
,
"pcpvt_small"
,
"pcpvt_base"
,
"pcpvt_large"
,
"alt_gvt_small"
,
"alt_gvt_base"
,
"alt_gvt_large"
"alt_gvt_base"
,
"alt_gvt_large"
],
],
"TNT"
:
[
"TNT_small"
],
"VGG"
:
[
"VGG11"
,
"VGG13"
,
"VGG16"
,
"VGG19"
],
"VGG"
:
[
"VGG11"
,
"VGG13"
,
"VGG16"
,
"VGG19"
],
"VisionTransformer"
:
[
"VisionTransformer"
:
[
"ViT_base_patch16_224"
,
"ViT_base_patch16_384"
,
"ViT_base_patch32_384"
,
"ViT_base_patch16_224"
,
"ViT_base_patch16_384"
,
"ViT_base_patch32_384"
,
...
@@ -202,6 +214,7 @@ class InputModelError(Exception):
...
@@ -202,6 +214,7 @@ class InputModelError(Exception):
def
init_config
(
model_type
,
model_name
,
inference_model_dir
,
**
kwargs
):
def
init_config
(
model_type
,
model_name
,
inference_model_dir
,
**
kwargs
):
cfg_path
=
f
"deploy/configs/PULC/
{
model_name
}
/inference_
{
model_name
}
.yaml"
if
model_type
==
"pulc"
else
"deploy/configs/inference_cls.yaml"
cfg_path
=
f
"deploy/configs/PULC/
{
model_name
}
/inference_
{
model_name
}
.yaml"
if
model_type
==
"pulc"
else
"deploy/configs/inference_cls.yaml"
__dir__
=
os
.
path
.
dirname
(
__file__
)
cfg_path
=
os
.
path
.
join
(
__dir__
,
cfg_path
)
cfg_path
=
os
.
path
.
join
(
__dir__
,
cfg_path
)
cfg
=
config
.
get_config
(
cfg_path
,
show
=
False
)
cfg
=
config
.
get_config
(
cfg_path
,
show
=
False
)
...
@@ -453,10 +466,6 @@ class PaddleClas(object):
...
@@ -453,10 +466,6 @@ class PaddleClas(object):
"""PaddleClas.
"""PaddleClas.
"""
"""
if
not
os
.
environ
.
get
(
'ppcls'
,
False
):
os
.
environ
.
setdefault
(
'ppcls'
,
'True'
)
print_info
()
def
__init__
(
self
,
def
__init__
(
self
,
model_name
:
str
=
None
,
model_name
:
str
=
None
,
inference_model_dir
:
str
=
None
,
inference_model_dir
:
str
=
None
,
...
@@ -471,6 +480,7 @@ class PaddleClas(object):
...
@@ -471,6 +480,7 @@ class PaddleClas(object):
topk (int, optional): Return the top k prediction results with the highest score. Defaults to 5.
topk (int, optional): Return the top k prediction results with the highest score. Defaults to 5.
"""
"""
super
().
__init__
()
super
().
__init__
()
self
.
model_type
,
inference_model_dir
=
self
.
_check_input_model
(
self
.
model_type
,
inference_model_dir
=
self
.
_check_input_model
(
model_name
,
inference_model_dir
)
model_name
,
inference_model_dir
)
self
.
_config
=
init_config
(
self
.
model_type
,
model_name
,
self
.
_config
=
init_config
(
self
.
model_type
,
model_name
,
...
@@ -595,6 +605,7 @@ class PaddleClas(object):
...
@@ -595,6 +605,7 @@ class PaddleClas(object):
def
main
():
def
main
():
"""Function API used for commad line.
"""Function API used for commad line.
"""
"""
print_info
()
cfg
=
args_cfg
()
cfg
=
args_cfg
()
clas_engine
=
PaddleClas
(
**
cfg
)
clas_engine
=
PaddleClas
(
**
cfg
)
res
=
clas_engine
.
predict
(
cfg
[
"infer_imgs"
],
print_pred
=
True
)
res
=
clas_engine
.
predict
(
cfg
[
"infer_imgs"
],
print_pred
=
True
)
...
...
ppcls/arch/__init__.py
浏览文件 @
7db32e7a
...
@@ -23,11 +23,11 @@ from . import backbone, gears
...
@@ -23,11 +23,11 @@ from . import backbone, gears
from
.backbone
import
*
from
.backbone
import
*
from
.gears
import
build_gear
from
.gears
import
build_gear
from
.utils
import
*
from
.utils
import
*
from
ppcls.arch
.backbone.base.theseus_layer
import
TheseusLayer
from
.backbone.base.theseus_layer
import
TheseusLayer
from
ppcls
.utils
import
logger
from
.
.utils
import
logger
from
ppcls
.utils.save_load
import
load_dygraph_pretrain
from
.
.utils.save_load
import
load_dygraph_pretrain
from
ppcls.arch
.slim
import
prune_model
,
quantize_model
from
.slim
import
prune_model
,
quantize_model
from
ppcls.arch
.distill.afd_attention
import
LinearTransformStudent
,
LinearTransformTeacher
from
.distill.afd_attention
import
LinearTransformStudent
,
LinearTransformTeacher
__all__
=
[
"build_model"
,
"RecModel"
,
"DistillationModel"
,
"AttentionModel"
]
__all__
=
[
"build_model"
,
"RecModel"
,
"DistillationModel"
,
"AttentionModel"
]
...
...
ppcls/arch/backbone/__init__.py
浏览文件 @
7db32e7a
...
@@ -15,65 +15,65 @@
...
@@ -15,65 +15,65 @@
import
sys
import
sys
import
inspect
import
inspect
from
ppcls.arch.backbone
.legendary_models.mobilenet_v1
import
MobileNetV1_x0_25
,
MobileNetV1_x0_5
,
MobileNetV1_x0_75
,
MobileNetV1
from
.legendary_models.mobilenet_v1
import
MobileNetV1_x0_25
,
MobileNetV1_x0_5
,
MobileNetV1_x0_75
,
MobileNetV1
from
ppcls.arch.backbone
.legendary_models.mobilenet_v3
import
MobileNetV3_small_x0_35
,
MobileNetV3_small_x0_5
,
MobileNetV3_small_x0_75
,
MobileNetV3_small_x1_0
,
MobileNetV3_small_x1_25
,
MobileNetV3_large_x0_35
,
MobileNetV3_large_x0_5
,
MobileNetV3_large_x0_75
,
MobileNetV3_large_x1_0
,
MobileNetV3_large_x1_25
from
.legendary_models.mobilenet_v3
import
MobileNetV3_small_x0_35
,
MobileNetV3_small_x0_5
,
MobileNetV3_small_x0_75
,
MobileNetV3_small_x1_0
,
MobileNetV3_small_x1_25
,
MobileNetV3_large_x0_35
,
MobileNetV3_large_x0_5
,
MobileNetV3_large_x0_75
,
MobileNetV3_large_x1_0
,
MobileNetV3_large_x1_25
from
ppcls.arch.backbone
.legendary_models.resnet
import
ResNet18
,
ResNet18_vd
,
ResNet34
,
ResNet34_vd
,
ResNet50
,
ResNet50_vd
,
ResNet101
,
ResNet101_vd
,
ResNet152
,
ResNet152_vd
,
ResNet200_vd
from
.legendary_models.resnet
import
ResNet18
,
ResNet18_vd
,
ResNet34
,
ResNet34_vd
,
ResNet50
,
ResNet50_vd
,
ResNet101
,
ResNet101_vd
,
ResNet152
,
ResNet152_vd
,
ResNet200_vd
from
ppcls.arch.backbone
.legendary_models.vgg
import
VGG11
,
VGG13
,
VGG16
,
VGG19
from
.legendary_models.vgg
import
VGG11
,
VGG13
,
VGG16
,
VGG19
from
ppcls.arch.backbone
.legendary_models.inception_v3
import
InceptionV3
from
.legendary_models.inception_v3
import
InceptionV3
from
ppcls.arch.backbone
.legendary_models.hrnet
import
HRNet_W18_C
,
HRNet_W30_C
,
HRNet_W32_C
,
HRNet_W40_C
,
HRNet_W44_C
,
HRNet_W48_C
,
HRNet_W60_C
,
HRNet_W64_C
,
SE_HRNet_W64_C
from
.legendary_models.hrnet
import
HRNet_W18_C
,
HRNet_W30_C
,
HRNet_W32_C
,
HRNet_W40_C
,
HRNet_W44_C
,
HRNet_W48_C
,
HRNet_W60_C
,
HRNet_W64_C
,
SE_HRNet_W64_C
from
ppcls.arch.backbone
.legendary_models.pp_lcnet
import
PPLCNet_x0_25
,
PPLCNet_x0_35
,
PPLCNet_x0_5
,
PPLCNet_x0_75
,
PPLCNet_x1_0
,
PPLCNet_x1_5
,
PPLCNet_x2_0
,
PPLCNet_x2_5
from
.legendary_models.pp_lcnet
import
PPLCNet_x0_25
,
PPLCNet_x0_35
,
PPLCNet_x0_5
,
PPLCNet_x0_75
,
PPLCNet_x1_0
,
PPLCNet_x1_5
,
PPLCNet_x2_0
,
PPLCNet_x2_5
from
ppcls.arch.backbone
.legendary_models.pp_lcnet_v2
import
PPLCNetV2_base
from
.legendary_models.pp_lcnet_v2
import
PPLCNetV2_base
from
ppcls.arch.backbone
.legendary_models.esnet
import
ESNet_x0_25
,
ESNet_x0_5
,
ESNet_x0_75
,
ESNet_x1_0
from
.legendary_models.esnet
import
ESNet_x0_25
,
ESNet_x0_5
,
ESNet_x0_75
,
ESNet_x1_0
from
ppcls.arch.backbone
.legendary_models.pp_hgnet
import
PPHGNet_tiny
,
PPHGNet_small
,
PPHGNet_base
from
.legendary_models.pp_hgnet
import
PPHGNet_tiny
,
PPHGNet_small
,
PPHGNet_base
from
ppcls.arch.backbone
.model_zoo.resnet_vc
import
ResNet50_vc
from
.model_zoo.resnet_vc
import
ResNet50_vc
from
ppcls.arch.backbone
.model_zoo.resnext
import
ResNeXt50_32x4d
,
ResNeXt50_64x4d
,
ResNeXt101_32x4d
,
ResNeXt101_64x4d
,
ResNeXt152_32x4d
,
ResNeXt152_64x4d
from
.model_zoo.resnext
import
ResNeXt50_32x4d
,
ResNeXt50_64x4d
,
ResNeXt101_32x4d
,
ResNeXt101_64x4d
,
ResNeXt152_32x4d
,
ResNeXt152_64x4d
from
ppcls.arch.backbone
.model_zoo.resnext_vd
import
ResNeXt50_vd_32x4d
,
ResNeXt50_vd_64x4d
,
ResNeXt101_vd_32x4d
,
ResNeXt101_vd_64x4d
,
ResNeXt152_vd_32x4d
,
ResNeXt152_vd_64x4d
from
.model_zoo.resnext_vd
import
ResNeXt50_vd_32x4d
,
ResNeXt50_vd_64x4d
,
ResNeXt101_vd_32x4d
,
ResNeXt101_vd_64x4d
,
ResNeXt152_vd_32x4d
,
ResNeXt152_vd_64x4d
from
ppcls.arch.backbone
.model_zoo.res2net
import
Res2Net50_26w_4s
,
Res2Net50_14w_8s
from
.model_zoo.res2net
import
Res2Net50_26w_4s
,
Res2Net50_14w_8s
from
ppcls.arch.backbone
.model_zoo.res2net_vd
import
Res2Net50_vd_26w_4s
,
Res2Net101_vd_26w_4s
,
Res2Net200_vd_26w_4s
from
.model_zoo.res2net_vd
import
Res2Net50_vd_26w_4s
,
Res2Net101_vd_26w_4s
,
Res2Net200_vd_26w_4s
from
ppcls.arch.backbone
.model_zoo.se_resnet_vd
import
SE_ResNet18_vd
,
SE_ResNet34_vd
,
SE_ResNet50_vd
from
.model_zoo.se_resnet_vd
import
SE_ResNet18_vd
,
SE_ResNet34_vd
,
SE_ResNet50_vd
from
ppcls.arch.backbone
.model_zoo.se_resnext_vd
import
SE_ResNeXt50_vd_32x4d
,
SE_ResNeXt50_vd_32x4d
,
SENet154_vd
from
.model_zoo.se_resnext_vd
import
SE_ResNeXt50_vd_32x4d
,
SE_ResNeXt50_vd_32x4d
,
SENet154_vd
from
ppcls.arch.backbone
.model_zoo.se_resnext
import
SE_ResNeXt50_32x4d
,
SE_ResNeXt101_32x4d
,
SE_ResNeXt152_64x4d
from
.model_zoo.se_resnext
import
SE_ResNeXt50_32x4d
,
SE_ResNeXt101_32x4d
,
SE_ResNeXt152_64x4d
from
ppcls.arch.backbone
.model_zoo.dpn
import
DPN68
,
DPN92
,
DPN98
,
DPN107
,
DPN131
from
.model_zoo.dpn
import
DPN68
,
DPN92
,
DPN98
,
DPN107
,
DPN131
from
ppcls.arch.backbone
.model_zoo.densenet
import
DenseNet121
,
DenseNet161
,
DenseNet169
,
DenseNet201
,
DenseNet264
from
.model_zoo.densenet
import
DenseNet121
,
DenseNet161
,
DenseNet169
,
DenseNet201
,
DenseNet264
from
ppcls.arch.backbone
.model_zoo.efficientnet
import
EfficientNetB0
,
EfficientNetB1
,
EfficientNetB2
,
EfficientNetB3
,
EfficientNetB4
,
EfficientNetB5
,
EfficientNetB6
,
EfficientNetB7
,
EfficientNetB0_small
from
.model_zoo.efficientnet
import
EfficientNetB0
,
EfficientNetB1
,
EfficientNetB2
,
EfficientNetB3
,
EfficientNetB4
,
EfficientNetB5
,
EfficientNetB6
,
EfficientNetB7
,
EfficientNetB0_small
from
ppcls.arch.backbone
.model_zoo.resnest
import
ResNeSt50_fast_1s1x64d
,
ResNeSt50
,
ResNeSt101
from
.model_zoo.resnest
import
ResNeSt50_fast_1s1x64d
,
ResNeSt50
,
ResNeSt101
from
ppcls.arch.backbone
.model_zoo.googlenet
import
GoogLeNet
from
.model_zoo.googlenet
import
GoogLeNet
from
ppcls.arch.backbone
.model_zoo.mobilenet_v2
import
MobileNetV2_x0_25
,
MobileNetV2_x0_5
,
MobileNetV2_x0_75
,
MobileNetV2
,
MobileNetV2_x1_5
,
MobileNetV2_x2_0
from
.model_zoo.mobilenet_v2
import
MobileNetV2_x0_25
,
MobileNetV2_x0_5
,
MobileNetV2_x0_75
,
MobileNetV2
,
MobileNetV2_x1_5
,
MobileNetV2_x2_0
from
ppcls.arch.backbone
.model_zoo.shufflenet_v2
import
ShuffleNetV2_x0_25
,
ShuffleNetV2_x0_33
,
ShuffleNetV2_x0_5
,
ShuffleNetV2_x1_0
,
ShuffleNetV2_x1_5
,
ShuffleNetV2_x2_0
,
ShuffleNetV2_swish
from
.model_zoo.shufflenet_v2
import
ShuffleNetV2_x0_25
,
ShuffleNetV2_x0_33
,
ShuffleNetV2_x0_5
,
ShuffleNetV2_x1_0
,
ShuffleNetV2_x1_5
,
ShuffleNetV2_x2_0
,
ShuffleNetV2_swish
from
ppcls.arch.backbone
.model_zoo.ghostnet
import
GhostNet_x0_5
,
GhostNet_x1_0
,
GhostNet_x1_3
from
.model_zoo.ghostnet
import
GhostNet_x0_5
,
GhostNet_x1_0
,
GhostNet_x1_3
from
ppcls.arch.backbone
.model_zoo.alexnet
import
AlexNet
from
.model_zoo.alexnet
import
AlexNet
from
ppcls.arch.backbone
.model_zoo.inception_v4
import
InceptionV4
from
.model_zoo.inception_v4
import
InceptionV4
from
ppcls.arch.backbone
.model_zoo.xception
import
Xception41
,
Xception65
,
Xception71
from
.model_zoo.xception
import
Xception41
,
Xception65
,
Xception71
from
ppcls.arch.backbone
.model_zoo.xception_deeplab
import
Xception41_deeplab
,
Xception65_deeplab
from
.model_zoo.xception_deeplab
import
Xception41_deeplab
,
Xception65_deeplab
from
ppcls.arch.backbone
.model_zoo.resnext101_wsl
import
ResNeXt101_32x8d_wsl
,
ResNeXt101_32x16d_wsl
,
ResNeXt101_32x32d_wsl
,
ResNeXt101_32x48d_wsl
from
.model_zoo.resnext101_wsl
import
ResNeXt101_32x8d_wsl
,
ResNeXt101_32x16d_wsl
,
ResNeXt101_32x32d_wsl
,
ResNeXt101_32x48d_wsl
from
ppcls.arch.backbone
.model_zoo.squeezenet
import
SqueezeNet1_0
,
SqueezeNet1_1
from
.model_zoo.squeezenet
import
SqueezeNet1_0
,
SqueezeNet1_1
from
ppcls.arch.backbone
.model_zoo.darknet
import
DarkNet53
from
.model_zoo.darknet
import
DarkNet53
from
ppcls.arch.backbone
.model_zoo.regnet
import
RegNetX_200MF
,
RegNetX_4GF
,
RegNetX_32GF
,
RegNetY_200MF
,
RegNetY_4GF
,
RegNetY_32GF
from
.model_zoo.regnet
import
RegNetX_200MF
,
RegNetX_4GF
,
RegNetX_32GF
,
RegNetY_200MF
,
RegNetY_4GF
,
RegNetY_32GF
from
ppcls.arch.backbone
.model_zoo.vision_transformer
import
ViT_small_patch16_224
,
ViT_base_patch16_224
,
ViT_base_patch16_384
,
ViT_base_patch32_384
,
ViT_large_patch16_224
,
ViT_large_patch16_384
,
ViT_large_patch32_384
from
.model_zoo.vision_transformer
import
ViT_small_patch16_224
,
ViT_base_patch16_224
,
ViT_base_patch16_384
,
ViT_base_patch32_384
,
ViT_large_patch16_224
,
ViT_large_patch16_384
,
ViT_large_patch32_384
from
ppcls.arch.backbone
.model_zoo.distilled_vision_transformer
import
DeiT_tiny_patch16_224
,
DeiT_small_patch16_224
,
DeiT_base_patch16_224
,
DeiT_tiny_distilled_patch16_224
,
DeiT_small_distilled_patch16_224
,
DeiT_base_distilled_patch16_224
,
DeiT_base_patch16_384
,
DeiT_base_distilled_patch16_384
from
.model_zoo.distilled_vision_transformer
import
DeiT_tiny_patch16_224
,
DeiT_small_patch16_224
,
DeiT_base_patch16_224
,
DeiT_tiny_distilled_patch16_224
,
DeiT_small_distilled_patch16_224
,
DeiT_base_distilled_patch16_224
,
DeiT_base_patch16_384
,
DeiT_base_distilled_patch16_384
from
ppcls.arch.backbone
.legendary_models.swin_transformer
import
SwinTransformer_tiny_patch4_window7_224
,
SwinTransformer_small_patch4_window7_224
,
SwinTransformer_base_patch4_window7_224
,
SwinTransformer_base_patch4_window12_384
,
SwinTransformer_large_patch4_window7_224
,
SwinTransformer_large_patch4_window12_384
from
.legendary_models.swin_transformer
import
SwinTransformer_tiny_patch4_window7_224
,
SwinTransformer_small_patch4_window7_224
,
SwinTransformer_base_patch4_window7_224
,
SwinTransformer_base_patch4_window12_384
,
SwinTransformer_large_patch4_window7_224
,
SwinTransformer_large_patch4_window12_384
from
ppcls.arch.backbone
.model_zoo.cswin_transformer
import
CSWinTransformer_tiny_224
,
CSWinTransformer_small_224
,
CSWinTransformer_base_224
,
CSWinTransformer_large_224
,
CSWinTransformer_base_384
,
CSWinTransformer_large_384
from
.model_zoo.cswin_transformer
import
CSWinTransformer_tiny_224
,
CSWinTransformer_small_224
,
CSWinTransformer_base_224
,
CSWinTransformer_large_224
,
CSWinTransformer_base_384
,
CSWinTransformer_large_384
from
ppcls.arch.backbone
.model_zoo.mixnet
import
MixNet_S
,
MixNet_M
,
MixNet_L
from
.model_zoo.mixnet
import
MixNet_S
,
MixNet_M
,
MixNet_L
from
ppcls.arch.backbone
.model_zoo.rexnet
import
ReXNet_1_0
,
ReXNet_1_3
,
ReXNet_1_5
,
ReXNet_2_0
,
ReXNet_3_0
from
.model_zoo.rexnet
import
ReXNet_1_0
,
ReXNet_1_3
,
ReXNet_1_5
,
ReXNet_2_0
,
ReXNet_3_0
from
ppcls.arch.backbone
.model_zoo.gvt
import
pcpvt_small
,
pcpvt_base
,
pcpvt_large
,
alt_gvt_small
,
alt_gvt_base
,
alt_gvt_large
from
.model_zoo.gvt
import
pcpvt_small
,
pcpvt_base
,
pcpvt_large
,
alt_gvt_small
,
alt_gvt_base
,
alt_gvt_large
from
ppcls.arch.backbone
.model_zoo.levit
import
LeViT_128S
,
LeViT_128
,
LeViT_192
,
LeViT_256
,
LeViT_384
from
.model_zoo.levit
import
LeViT_128S
,
LeViT_128
,
LeViT_192
,
LeViT_256
,
LeViT_384
from
ppcls.arch.backbone
.model_zoo.dla
import
DLA34
,
DLA46_c
,
DLA46x_c
,
DLA60
,
DLA60x
,
DLA60x_c
,
DLA102
,
DLA102x
,
DLA102x2
,
DLA169
from
.model_zoo.dla
import
DLA34
,
DLA46_c
,
DLA46x_c
,
DLA60
,
DLA60x
,
DLA60x_c
,
DLA102
,
DLA102x
,
DLA102x2
,
DLA169
from
ppcls.arch.backbone
.model_zoo.rednet
import
RedNet26
,
RedNet38
,
RedNet50
,
RedNet101
,
RedNet152
from
.model_zoo.rednet
import
RedNet26
,
RedNet38
,
RedNet50
,
RedNet101
,
RedNet152
from
ppcls.arch.backbone
.model_zoo.tnt
import
TNT_small
from
.model_zoo.tnt
import
TNT_small
from
ppcls.arch.backbone
.model_zoo.hardnet
import
HarDNet68
,
HarDNet85
,
HarDNet39_ds
,
HarDNet68_ds
from
.model_zoo.hardnet
import
HarDNet68
,
HarDNet85
,
HarDNet39_ds
,
HarDNet68_ds
from
ppcls.arch.backbone
.model_zoo.cspnet
import
CSPDarkNet53
from
.model_zoo.cspnet
import
CSPDarkNet53
from
ppcls.arch.backbone
.model_zoo.pvt_v2
import
PVT_V2_B0
,
PVT_V2_B1
,
PVT_V2_B2_Linear
,
PVT_V2_B2
,
PVT_V2_B3
,
PVT_V2_B4
,
PVT_V2_B5
from
.model_zoo.pvt_v2
import
PVT_V2_B0
,
PVT_V2_B1
,
PVT_V2_B2_Linear
,
PVT_V2_B2
,
PVT_V2_B3
,
PVT_V2_B4
,
PVT_V2_B5
from
ppcls.arch.backbone
.model_zoo.mobilevit
import
MobileViT_XXS
,
MobileViT_XS
,
MobileViT_S
from
.model_zoo.mobilevit
import
MobileViT_XXS
,
MobileViT_XS
,
MobileViT_S
from
ppcls.arch.backbone
.model_zoo.repvgg
import
RepVGG_A0
,
RepVGG_A1
,
RepVGG_A2
,
RepVGG_B0
,
RepVGG_B1
,
RepVGG_B2
,
RepVGG_B1g2
,
RepVGG_B1g4
,
RepVGG_B2g4
,
RepVGG_B3g4
from
.model_zoo.repvgg
import
RepVGG_A0
,
RepVGG_A1
,
RepVGG_A2
,
RepVGG_B0
,
RepVGG_B1
,
RepVGG_B2
,
RepVGG_B1g2
,
RepVGG_B1g4
,
RepVGG_B2g4
,
RepVGG_B3g4
from
ppcls.arch.backbone
.model_zoo.van
import
VAN_tiny
from
.model_zoo.van
import
VAN_tiny
from
ppcls.arch.backbone
.model_zoo.peleenet
import
PeleeNet
from
.model_zoo.peleenet
import
PeleeNet
from
ppcls.arch.backbone
.model_zoo.convnext
import
ConvNeXt_tiny
from
.model_zoo.convnext
import
ConvNeXt_tiny
from
ppcls.arch.backbone
.variant_models.resnet_variant
import
ResNet50_last_stage_stride1
from
.variant_models.resnet_variant
import
ResNet50_last_stage_stride1
from
ppcls.arch.backbone
.variant_models.vgg_variant
import
VGG19Sigmoid
from
.variant_models.vgg_variant
import
VGG19Sigmoid
from
ppcls.arch.backbone
.variant_models.pp_lcnet_variant
import
PPLCNet_x2_5_Tanh
from
.variant_models.pp_lcnet_variant
import
PPLCNet_x2_5_Tanh
from
ppcls.arch.backbone
.model_zoo.adaface_ir_net
import
AdaFace_IR_18
,
AdaFace_IR_34
,
AdaFace_IR_50
,
AdaFace_IR_101
,
AdaFace_IR_152
,
AdaFace_IR_SE_50
,
AdaFace_IR_SE_101
,
AdaFace_IR_SE_152
,
AdaFace_IR_SE_200
from
.model_zoo.adaface_ir_net
import
AdaFace_IR_18
,
AdaFace_IR_34
,
AdaFace_IR_50
,
AdaFace_IR_101
,
AdaFace_IR_152
,
AdaFace_IR_SE_50
,
AdaFace_IR_SE_101
,
AdaFace_IR_SE_152
,
AdaFace_IR_SE_200
# help whl get all the models' api (class type) and components' api (func type)
# help whl get all the models' api (class type) and components' api (func type)
...
...
ppcls/arch/backbone/base/theseus_layer.py
浏览文件 @
7db32e7a
...
@@ -15,7 +15,7 @@
...
@@ -15,7 +15,7 @@
from
typing
import
Tuple
,
List
,
Dict
,
Union
,
Callable
,
Any
from
typing
import
Tuple
,
List
,
Dict
,
Union
,
Callable
,
Any
from
paddle
import
nn
from
paddle
import
nn
from
ppcls
.utils
import
logger
from
...
.utils
import
logger
class
Identity
(
nn
.
Layer
):
class
Identity
(
nn
.
Layer
):
...
...
ppcls/arch/backbone/legendary_models/esnet.py
浏览文件 @
7db32e7a
...
@@ -22,8 +22,8 @@ from paddle.nn import AdaptiveAvgPool2D, MaxPool2D
...
@@ -22,8 +22,8 @@ from paddle.nn import AdaptiveAvgPool2D, MaxPool2D
from
paddle.nn.initializer
import
KaimingNormal
from
paddle.nn.initializer
import
KaimingNormal
from
paddle.regularizer
import
L2Decay
from
paddle.regularizer
import
L2Decay
from
ppcls.arch.backbone
.base.theseus_layer
import
TheseusLayer
from
.
.base.theseus_layer
import
TheseusLayer
from
ppcls
.utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
from
...
.utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
MODEL_URLS
=
{
MODEL_URLS
=
{
"ESNet_x0_25"
:
"ESNet_x0_25"
:
...
...
ppcls/arch/backbone/legendary_models/hrnet.py
浏览文件 @
7db32e7a
...
@@ -25,8 +25,8 @@ from paddle import ParamAttr
...
@@ -25,8 +25,8 @@ from paddle import ParamAttr
from
paddle.nn.functional
import
upsample
from
paddle.nn.functional
import
upsample
from
paddle.nn.initializer
import
Uniform
from
paddle.nn.initializer
import
Uniform
from
ppcls.arch.backbone
.base.theseus_layer
import
TheseusLayer
,
Identity
from
.
.base.theseus_layer
import
TheseusLayer
,
Identity
from
ppcls
.utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
from
...
.utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
MODEL_URLS
=
{
MODEL_URLS
=
{
"HRNet_W18_C"
:
"HRNet_W18_C"
:
...
...
ppcls/arch/backbone/legendary_models/inception_v3.py
浏览文件 @
7db32e7a
...
@@ -23,8 +23,8 @@ from paddle.nn import Conv2D, BatchNorm, Linear, Dropout
...
@@ -23,8 +23,8 @@ from paddle.nn import Conv2D, BatchNorm, Linear, Dropout
from
paddle.nn
import
AdaptiveAvgPool2D
,
MaxPool2D
,
AvgPool2D
from
paddle.nn
import
AdaptiveAvgPool2D
,
MaxPool2D
,
AvgPool2D
from
paddle.nn.initializer
import
Uniform
from
paddle.nn.initializer
import
Uniform
from
ppcls.arch.backbone
.base.theseus_layer
import
TheseusLayer
from
.
.base.theseus_layer
import
TheseusLayer
from
ppcls
.utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
from
...
.utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
MODEL_URLS
=
{
MODEL_URLS
=
{
"InceptionV3"
:
"InceptionV3"
:
...
...
ppcls/arch/backbone/legendary_models/mobilenet_v1.py
浏览文件 @
7db32e7a
...
@@ -22,8 +22,8 @@ from paddle.nn import Conv2D, BatchNorm, Linear, ReLU, Flatten
...
@@ -22,8 +22,8 @@ from paddle.nn import Conv2D, BatchNorm, Linear, ReLU, Flatten
from
paddle.nn
import
AdaptiveAvgPool2D
from
paddle.nn
import
AdaptiveAvgPool2D
from
paddle.nn.initializer
import
KaimingNormal
from
paddle.nn.initializer
import
KaimingNormal
from
ppcls.arch.backbone
.base.theseus_layer
import
TheseusLayer
from
.
.base.theseus_layer
import
TheseusLayer
from
ppcls
.utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
from
...
.utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
MODEL_URLS
=
{
MODEL_URLS
=
{
"MobileNetV1_x0_25"
:
"MobileNetV1_x0_25"
:
...
...
ppcls/arch/backbone/legendary_models/mobilenet_v3.py
浏览文件 @
7db32e7a
...
@@ -21,8 +21,9 @@ import paddle.nn as nn
...
@@ -21,8 +21,9 @@ import paddle.nn as nn
from
paddle
import
ParamAttr
from
paddle
import
ParamAttr
from
paddle.nn
import
AdaptiveAvgPool2D
,
BatchNorm
,
Conv2D
,
Dropout
,
Linear
from
paddle.nn
import
AdaptiveAvgPool2D
,
BatchNorm
,
Conv2D
,
Dropout
,
Linear
from
paddle.regularizer
import
L2Decay
from
paddle.regularizer
import
L2Decay
from
ppcls.arch.backbone.base.theseus_layer
import
TheseusLayer
from
ppcls.utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
from
..base.theseus_layer
import
TheseusLayer
from
....utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
MODEL_URLS
=
{
MODEL_URLS
=
{
"MobileNetV3_small_x0_35"
:
"MobileNetV3_small_x0_35"
:
...
...
ppcls/arch/backbone/legendary_models/pp_hgnet.py
浏览文件 @
7db32e7a
...
@@ -20,8 +20,8 @@ from paddle.nn import Conv2D, BatchNorm2D, ReLU, AdaptiveAvgPool2D, MaxPool2D
...
@@ -20,8 +20,8 @@ from paddle.nn import Conv2D, BatchNorm2D, ReLU, AdaptiveAvgPool2D, MaxPool2D
from
paddle.regularizer
import
L2Decay
from
paddle.regularizer
import
L2Decay
from
paddle
import
ParamAttr
from
paddle
import
ParamAttr
from
ppcls.arch.backbone
.base.theseus_layer
import
TheseusLayer
from
.
.base.theseus_layer
import
TheseusLayer
from
ppcls
.utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
from
...
.utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
MODEL_URLS
=
{
MODEL_URLS
=
{
"PPHGNet_tiny"
:
"PPHGNet_tiny"
:
...
@@ -199,6 +199,7 @@ class PPHGNet(TheseusLayer):
...
@@ -199,6 +199,7 @@ class PPHGNet(TheseusLayer):
Returns:
Returns:
model: nn.Layer. Specific PPHGNet model depends on args.
model: nn.Layer. Specific PPHGNet model depends on args.
"""
"""
def
__init__
(
self
,
def
__init__
(
self
,
stem_channels
,
stem_channels
,
stage_config
,
stage_config
,
...
@@ -230,7 +231,7 @@ class PPHGNet(TheseusLayer):
...
@@ -230,7 +231,7 @@ class PPHGNet(TheseusLayer):
k
]
k
]
self
.
stages
.
append
(
self
.
stages
.
append
(
HG_Stage
(
in_channels
,
mid_channels
,
out_channels
,
block_num
,
HG_Stage
(
in_channels
,
mid_channels
,
out_channels
,
block_num
,
layer_num
,
downsample
))
layer_num
,
downsample
))
self
.
avg_pool
=
AdaptiveAvgPool2D
(
1
)
self
.
avg_pool
=
AdaptiveAvgPool2D
(
1
)
if
self
.
use_last_conv
:
if
self
.
use_last_conv
:
...
...
ppcls/arch/backbone/legendary_models/pp_lcnet.py
浏览文件 @
7db32e7a
...
@@ -20,8 +20,9 @@ from paddle import ParamAttr
...
@@ -20,8 +20,9 @@ from paddle import ParamAttr
from
paddle.nn
import
AdaptiveAvgPool2D
,
BatchNorm2D
,
Conv2D
,
Dropout
,
Linear
from
paddle.nn
import
AdaptiveAvgPool2D
,
BatchNorm2D
,
Conv2D
,
Dropout
,
Linear
from
paddle.regularizer
import
L2Decay
from
paddle.regularizer
import
L2Decay
from
paddle.nn.initializer
import
KaimingNormal
from
paddle.nn.initializer
import
KaimingNormal
from
ppcls.arch.backbone.base.theseus_layer
import
TheseusLayer
from
ppcls.utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
from
..base.theseus_layer
import
TheseusLayer
from
....utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
MODEL_URLS
=
{
MODEL_URLS
=
{
"PPLCNet_x0_25"
:
"PPLCNet_x0_25"
:
...
@@ -229,64 +230,59 @@ class PPLCNet(TheseusLayer):
...
@@ -229,64 +230,59 @@ class PPLCNet(TheseusLayer):
stride
=
stride_list
[
0
],
stride
=
stride_list
[
0
],
lr_mult
=
self
.
lr_mult_list
[
0
])
lr_mult
=
self
.
lr_mult_list
[
0
])
self
.
blocks2
=
nn
.
Sequential
(
*
[
self
.
blocks2
=
nn
.
Sequential
(
*
[
DepthwiseSeparable
(
DepthwiseSeparable
(
num_channels
=
make_divisible
(
in_c
*
scale
),
num_channels
=
make_divisible
(
in_c
*
scale
),
num_filters
=
make_divisible
(
out_c
*
scale
),
num_filters
=
make_divisible
(
out_c
*
scale
),
dw_size
=
k
,
dw_size
=
k
,
stride
=
s
,
stride
=
s
,
use_se
=
se
,
use_se
=
se
,
lr_mult
=
self
.
lr_mult_list
[
1
])
lr_mult
=
self
.
lr_mult_list
[
1
])
for
i
,
(
k
,
in_c
,
out_c
,
s
,
se
)
in
for
i
,
(
k
,
in_c
,
out_c
,
s
,
se
enumerate
(
self
.
net_config
[
"blocks2"
])
)
in
enumerate
(
self
.
net_config
[
"blocks2"
])
])
])
self
.
blocks3
=
nn
.
Sequential
(
*
[
self
.
blocks3
=
nn
.
Sequential
(
*
[
DepthwiseSeparable
(
DepthwiseSeparable
(
num_channels
=
make_divisible
(
in_c
*
scale
),
num_channels
=
make_divisible
(
in_c
*
scale
),
num_filters
=
make_divisible
(
out_c
*
scale
),
num_filters
=
make_divisible
(
out_c
*
scale
),
dw_size
=
k
,
dw_size
=
k
,
stride
=
s
,
stride
=
s
,
use_se
=
se
,
use_se
=
se
,
lr_mult
=
self
.
lr_mult_list
[
2
])
lr_mult
=
self
.
lr_mult_list
[
2
])
for
i
,
(
k
,
in_c
,
out_c
,
s
,
se
)
in
for
i
,
(
k
,
in_c
,
out_c
,
s
,
se
enumerate
(
self
.
net_config
[
"blocks3"
])
)
in
enumerate
(
self
.
net_config
[
"blocks3"
])
])
])
self
.
blocks4
=
nn
.
Sequential
(
*
[
self
.
blocks4
=
nn
.
Sequential
(
*
[
DepthwiseSeparable
(
DepthwiseSeparable
(
num_channels
=
make_divisible
(
in_c
*
scale
),
num_channels
=
make_divisible
(
in_c
*
scale
),
num_filters
=
make_divisible
(
out_c
*
scale
),
num_filters
=
make_divisible
(
out_c
*
scale
),
dw_size
=
k
,
dw_size
=
k
,
stride
=
s
,
stride
=
s
,
use_se
=
se
,
use_se
=
se
,
lr_mult
=
self
.
lr_mult_list
[
3
])
lr_mult
=
self
.
lr_mult_list
[
3
])
for
i
,
(
k
,
in_c
,
out_c
,
s
,
se
)
in
for
i
,
(
k
,
in_c
,
out_c
,
s
,
se
enumerate
(
self
.
net_config
[
"blocks4"
])
)
in
enumerate
(
self
.
net_config
[
"blocks4"
])
])
])
self
.
blocks5
=
nn
.
Sequential
(
*
[
self
.
blocks5
=
nn
.
Sequential
(
*
[
DepthwiseSeparable
(
DepthwiseSeparable
(
num_channels
=
make_divisible
(
in_c
*
scale
),
num_channels
=
make_divisible
(
in_c
*
scale
),
num_filters
=
make_divisible
(
out_c
*
scale
),
num_filters
=
make_divisible
(
out_c
*
scale
),
dw_size
=
k
,
dw_size
=
k
,
stride
=
s
,
stride
=
s
,
use_se
=
se
,
use_se
=
se
,
lr_mult
=
self
.
lr_mult_list
[
4
])
lr_mult
=
self
.
lr_mult_list
[
4
])
for
i
,
(
k
,
in_c
,
out_c
,
s
,
se
)
in
for
i
,
(
k
,
in_c
,
out_c
,
s
,
se
enumerate
(
self
.
net_config
[
"blocks5"
])
)
in
enumerate
(
self
.
net_config
[
"blocks5"
])
])
])
self
.
blocks6
=
nn
.
Sequential
(
*
[
self
.
blocks6
=
nn
.
Sequential
(
*
[
DepthwiseSeparable
(
DepthwiseSeparable
(
num_channels
=
make_divisible
(
in_c
*
scale
),
num_channels
=
make_divisible
(
in_c
*
scale
),
num_filters
=
make_divisible
(
out_c
*
scale
),
num_filters
=
make_divisible
(
out_c
*
scale
),
dw_size
=
k
,
dw_size
=
k
,
stride
=
s
,
stride
=
s
,
use_se
=
se
,
use_se
=
se
,
lr_mult
=
self
.
lr_mult_list
[
5
])
lr_mult
=
self
.
lr_mult_list
[
5
])
for
i
,
(
k
,
in_c
,
out_c
,
s
,
se
)
in
for
i
,
(
k
,
in_c
,
out_c
,
s
,
se
enumerate
(
self
.
net_config
[
"blocks6"
])
)
in
enumerate
(
self
.
net_config
[
"blocks6"
])
])
])
self
.
avg_pool
=
AdaptiveAvgPool2D
(
1
)
self
.
avg_pool
=
AdaptiveAvgPool2D
(
1
)
...
...
ppcls/arch/backbone/legendary_models/pp_lcnet_v2.py
浏览文件 @
7db32e7a
...
@@ -21,8 +21,9 @@ from paddle import ParamAttr
...
@@ -21,8 +21,9 @@ from paddle import ParamAttr
from
paddle.nn
import
AdaptiveAvgPool2D
,
BatchNorm2D
,
Conv2D
,
Dropout
,
Linear
from
paddle.nn
import
AdaptiveAvgPool2D
,
BatchNorm2D
,
Conv2D
,
Dropout
,
Linear
from
paddle.regularizer
import
L2Decay
from
paddle.regularizer
import
L2Decay
from
paddle.nn.initializer
import
KaimingNormal
from
paddle.nn.initializer
import
KaimingNormal
from
ppcls.arch.backbone.base.theseus_layer
import
TheseusLayer
from
ppcls.utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
from
..base.theseus_layer
import
TheseusLayer
from
....utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
MODEL_URLS
=
{
MODEL_URLS
=
{
"PPLCNetV2_base"
:
"PPLCNetV2_base"
:
...
...
ppcls/arch/backbone/legendary_models/resnet.py
浏览文件 @
7db32e7a
...
@@ -26,9 +26,9 @@ from paddle.nn.initializer import Uniform
...
@@ -26,9 +26,9 @@ from paddle.nn.initializer import Uniform
from
paddle.regularizer
import
L2Decay
from
paddle.regularizer
import
L2Decay
import
math
import
math
from
ppcls
.utils
import
logger
from
...
.utils
import
logger
from
ppcls.arch.backbone
.base.theseus_layer
import
TheseusLayer
from
.
.base.theseus_layer
import
TheseusLayer
from
ppcls
.utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
from
...
.utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
MODEL_URLS
=
{
MODEL_URLS
=
{
"ResNet18"
:
"ResNet18"
:
...
@@ -328,7 +328,7 @@ class ResNet(TheseusLayer):
...
@@ -328,7 +328,7 @@ class ResNet(TheseusLayer):
[
32
,
32
,
3
,
1
],
[
32
,
64
,
3
,
1
]]
[
32
,
32
,
3
,
1
],
[
32
,
64
,
3
,
1
]]
}
}
self
.
stem
=
nn
.
Sequential
(
*
[
self
.
stem
=
nn
.
Sequential
(
*
[
ConvBNLayer
(
ConvBNLayer
(
num_channels
=
in_c
,
num_channels
=
in_c
,
num_filters
=
out_c
,
num_filters
=
out_c
,
...
...
ppcls/arch/backbone/legendary_models/swin_transformer.py
浏览文件 @
7db32e7a
...
@@ -21,23 +21,23 @@ import paddle.nn as nn
...
@@ -21,23 +21,23 @@ import paddle.nn as nn
import
paddle.nn.functional
as
F
import
paddle.nn.functional
as
F
from
paddle.nn.initializer
import
TruncatedNormal
,
Constant
from
paddle.nn.initializer
import
TruncatedNormal
,
Constant
from
ppcls.arch.backbone.base.theseus_layer
import
TheseusLayer
from
..model_zoo.vision_transformer
import
trunc_normal_
,
zeros_
,
ones_
,
to_2tuple
,
DropPath
,
Identity
from
ppcls.arch.backbone.model_zoo.vision_transformer
import
trunc_normal_
,
zeros_
,
ones_
,
to_2tuple
,
DropPath
,
Identity
from
..base.theseus_layer
import
TheseusLayer
from
ppcls
.utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
from
...
.utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
MODEL_URLS
=
{
MODEL_URLS
=
{
"SwinTransformer_tiny_patch4_window7_224"
:
"SwinTransformer_tiny_patch4_window7_224"
:
"https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/SwinTransformer_tiny_patch4_window7_224_pretrained.pdparams"
,
"https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/
legendary_models/
SwinTransformer_tiny_patch4_window7_224_pretrained.pdparams"
,
"SwinTransformer_small_patch4_window7_224"
:
"SwinTransformer_small_patch4_window7_224"
:
"https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/SwinTransformer_small_patch4_window7_224_pretrained.pdparams"
,
"https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/
legendary_models/
SwinTransformer_small_patch4_window7_224_pretrained.pdparams"
,
"SwinTransformer_base_patch4_window7_224"
:
"SwinTransformer_base_patch4_window7_224"
:
"https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/SwinTransformer_base_patch4_window7_224_pretrained.pdparams"
,
"https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/
legendary_models/
SwinTransformer_base_patch4_window7_224_pretrained.pdparams"
,
"SwinTransformer_base_patch4_window12_384"
:
"SwinTransformer_base_patch4_window12_384"
:
"https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/SwinTransformer_base_patch4_window12_384_pretrained.pdparams"
,
"https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/
legendary_models/
SwinTransformer_base_patch4_window12_384_pretrained.pdparams"
,
"SwinTransformer_large_patch4_window7_224"
:
"SwinTransformer_large_patch4_window7_224"
:
"https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/SwinTransformer_large_patch4_window7_224_22kto1k_pretrained.pdparams"
,
"https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/
legendary_models/
SwinTransformer_large_patch4_window7_224_22kto1k_pretrained.pdparams"
,
"SwinTransformer_large_patch4_window12_384"
:
"SwinTransformer_large_patch4_window12_384"
:
"https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/SwinTransformer_large_patch4_window12_384_22kto1k_pretrained.pdparams"
,
"https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/
legendary_models/
SwinTransformer_large_patch4_window12_384_22kto1k_pretrained.pdparams"
,
}
}
__all__
=
list
(
MODEL_URLS
.
keys
())
__all__
=
list
(
MODEL_URLS
.
keys
())
...
...
ppcls/arch/backbone/legendary_models/vgg.py
浏览文件 @
7db32e7a
...
@@ -20,8 +20,8 @@ import paddle.nn as nn
...
@@ -20,8 +20,8 @@ import paddle.nn as nn
from
paddle.nn
import
Conv2D
,
BatchNorm
,
Linear
,
Dropout
from
paddle.nn
import
Conv2D
,
BatchNorm
,
Linear
,
Dropout
from
paddle.nn
import
MaxPool2D
from
paddle.nn
import
MaxPool2D
from
ppcls.arch.backbone
.base.theseus_layer
import
TheseusLayer
from
.
.base.theseus_layer
import
TheseusLayer
from
ppcls
.utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
from
...
.utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
MODEL_URLS
=
{
MODEL_URLS
=
{
"VGG11"
:
"VGG11"
:
...
...
ppcls/arch/backbone/model_zoo/alexnet.py
浏览文件 @
7db32e7a
...
@@ -23,7 +23,7 @@ from paddle.nn import AdaptiveAvgPool2D, MaxPool2D, AvgPool2D
...
@@ -23,7 +23,7 @@ from paddle.nn import AdaptiveAvgPool2D, MaxPool2D, AvgPool2D
from
paddle.nn.initializer
import
Uniform
from
paddle.nn.initializer
import
Uniform
import
math
import
math
from
ppcls
.utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
from
...
.utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
MODEL_URLS
=
{
MODEL_URLS
=
{
"AlexNet"
:
"AlexNet"
:
...
...
ppcls/arch/backbone/model_zoo/convnext.py
浏览文件 @
7db32e7a
...
@@ -18,7 +18,7 @@ import paddle
...
@@ -18,7 +18,7 @@ import paddle
import
paddle.nn
as
nn
import
paddle.nn
as
nn
from
paddle.nn.initializer
import
TruncatedNormal
,
Constant
from
paddle.nn.initializer
import
TruncatedNormal
,
Constant
from
ppcls
.utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
from
...
.utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
MODEL_URLS
=
{
MODEL_URLS
=
{
"ConvNeXt_tiny"
:
""
,
# TODO
"ConvNeXt_tiny"
:
""
,
# TODO
...
@@ -176,7 +176,7 @@ class ConvNeXt(nn.Layer):
...
@@ -176,7 +176,7 @@ class ConvNeXt(nn.Layer):
]
]
cur
=
0
cur
=
0
for
i
in
range
(
4
):
for
i
in
range
(
4
):
stage
=
nn
.
Sequential
(
*
[
stage
=
nn
.
Sequential
(
*
[
Block
(
Block
(
dim
=
dims
[
i
],
dim
=
dims
[
i
],
drop_path
=
dp_rates
[
cur
+
j
],
drop_path
=
dp_rates
[
cur
+
j
],
...
...
ppcls/arch/backbone/model_zoo/cspnet.py
浏览文件 @
7db32e7a
...
@@ -20,7 +20,7 @@ import paddle.nn as nn
...
@@ -20,7 +20,7 @@ import paddle.nn as nn
import
paddle.nn.functional
as
F
import
paddle.nn.functional
as
F
from
paddle
import
ParamAttr
from
paddle
import
ParamAttr
from
ppcls
.utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
from
...
.utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
MODEL_URLS
=
{
MODEL_URLS
=
{
"CSPDarkNet53"
:
"CSPDarkNet53"
:
...
...
ppcls/arch/backbone/model_zoo/cswin_transformer.py
浏览文件 @
7db32e7a
...
@@ -21,7 +21,7 @@ import paddle
...
@@ -21,7 +21,7 @@ import paddle
import
paddle.nn
as
nn
import
paddle.nn
as
nn
from
.vision_transformer
import
trunc_normal_
,
zeros_
,
ones_
,
to_2tuple
,
DropPath
,
Identity
from
.vision_transformer
import
trunc_normal_
,
zeros_
,
ones_
,
to_2tuple
,
DropPath
,
Identity
from
ppcls
.utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
from
...
.utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
MODEL_URLS
=
{
MODEL_URLS
=
{
"CSWinTransformer_tiny_224"
:
"CSWinTransformer_tiny_224"
:
...
...
ppcls/arch/backbone/model_zoo/darknet.py
浏览文件 @
7db32e7a
...
@@ -23,7 +23,7 @@ from paddle.nn import AdaptiveAvgPool2D, MaxPool2D, AvgPool2D
...
@@ -23,7 +23,7 @@ from paddle.nn import AdaptiveAvgPool2D, MaxPool2D, AvgPool2D
from
paddle.nn.initializer
import
Uniform
from
paddle.nn.initializer
import
Uniform
import
math
import
math
from
ppcls
.utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
from
...
.utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
MODEL_URLS
=
{
MODEL_URLS
=
{
"DarkNet53"
:
"DarkNet53"
:
...
...
ppcls/arch/backbone/model_zoo/densenet.py
浏览文件 @
7db32e7a
...
@@ -28,7 +28,7 @@ from paddle.nn.initializer import Uniform
...
@@ -28,7 +28,7 @@ from paddle.nn.initializer import Uniform
import
math
import
math
from
ppcls
.utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
from
...
.utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
MODEL_URLS
=
{
MODEL_URLS
=
{
"DenseNet121"
:
"DenseNet121"
:
...
...
ppcls/arch/backbone/model_zoo/distilled_vision_transformer.py
浏览文件 @
7db32e7a
...
@@ -19,7 +19,7 @@ import paddle
...
@@ -19,7 +19,7 @@ import paddle
import
paddle.nn
as
nn
import
paddle.nn
as
nn
from
.vision_transformer
import
VisionTransformer
,
Identity
,
trunc_normal_
,
zeros_
from
.vision_transformer
import
VisionTransformer
,
Identity
,
trunc_normal_
,
zeros_
from
ppcls
.utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
from
...
.utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
MODEL_URLS
=
{
MODEL_URLS
=
{
"DeiT_tiny_patch16_224"
:
"DeiT_tiny_patch16_224"
:
...
...
ppcls/arch/backbone/model_zoo/dla.py
浏览文件 @
7db32e7a
...
@@ -23,8 +23,8 @@ import paddle.nn.functional as F
...
@@ -23,8 +23,8 @@ import paddle.nn.functional as F
from
paddle.nn.initializer
import
Normal
,
Constant
from
paddle.nn.initializer
import
Normal
,
Constant
from
ppcls.arch.backbone
.base.theseus_layer
import
Identity
from
.
.base.theseus_layer
import
Identity
from
ppcls
.utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
from
...
.utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
MODEL_URLS
=
{
MODEL_URLS
=
{
"DLA34"
:
"DLA34"
:
...
...
ppcls/arch/backbone/model_zoo/dpn.py
浏览文件 @
7db32e7a
...
@@ -29,7 +29,7 @@ from paddle.nn.initializer import Uniform
...
@@ -29,7 +29,7 @@ from paddle.nn.initializer import Uniform
import
math
import
math
from
ppcls
.utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
from
...
.utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
MODEL_URLS
=
{
MODEL_URLS
=
{
"DPN68"
:
"DPN68"
:
...
...
ppcls/arch/backbone/model_zoo/efficientnet.py
浏览文件 @
7db32e7a
...
@@ -26,7 +26,7 @@ import collections
...
@@ -26,7 +26,7 @@ import collections
import
re
import
re
import
copy
import
copy
from
ppcls
.utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
from
...
.utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
MODEL_URLS
=
{
MODEL_URLS
=
{
"EfficientNetB0_small"
:
"EfficientNetB0_small"
:
...
...
ppcls/arch/backbone/model_zoo/ghostnet.py
浏览文件 @
7db32e7a
...
@@ -24,7 +24,7 @@ from paddle.nn import Conv2D, BatchNorm, AdaptiveAvgPool2D, Linear
...
@@ -24,7 +24,7 @@ from paddle.nn import Conv2D, BatchNorm, AdaptiveAvgPool2D, Linear
from
paddle.regularizer
import
L2Decay
from
paddle.regularizer
import
L2Decay
from
paddle.nn.initializer
import
Uniform
,
KaimingNormal
from
paddle.nn.initializer
import
Uniform
,
KaimingNormal
from
ppcls
.utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
from
...
.utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
MODEL_URLS
=
{
MODEL_URLS
=
{
"GhostNet_x0_5"
:
"GhostNet_x0_5"
:
...
...
ppcls/arch/backbone/model_zoo/googlenet.py
浏览文件 @
7db32e7a
...
@@ -24,7 +24,7 @@ from paddle.nn.initializer import Uniform
...
@@ -24,7 +24,7 @@ from paddle.nn.initializer import Uniform
import
math
import
math
from
ppcls
.utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
from
...
.utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
MODEL_URLS
=
{
MODEL_URLS
=
{
"GoogLeNet"
:
"GoogLeNet"
:
...
...
ppcls/arch/backbone/model_zoo/gvt.py
浏览文件 @
7db32e7a
...
@@ -25,7 +25,7 @@ from paddle.regularizer import L2Decay
...
@@ -25,7 +25,7 @@ from paddle.regularizer import L2Decay
from
.vision_transformer
import
trunc_normal_
,
normal_
,
zeros_
,
ones_
,
to_2tuple
,
DropPath
,
Identity
,
Mlp
from
.vision_transformer
import
trunc_normal_
,
normal_
,
zeros_
,
ones_
,
to_2tuple
,
DropPath
,
Identity
,
Mlp
from
.vision_transformer
import
Block
as
ViTBlock
from
.vision_transformer
import
Block
as
ViTBlock
from
ppcls
.utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
from
...
.utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
MODEL_URLS
=
{
MODEL_URLS
=
{
"pcpvt_small"
:
"pcpvt_small"
:
...
...
ppcls/arch/backbone/model_zoo/hardnet.py
浏览文件 @
7db32e7a
...
@@ -18,7 +18,7 @@
...
@@ -18,7 +18,7 @@
import
paddle
import
paddle
import
paddle.nn
as
nn
import
paddle.nn
as
nn
from
ppcls
.utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
from
...
.utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
MODEL_URLS
=
{
MODEL_URLS
=
{
'HarDNet39_ds'
:
'HarDNet39_ds'
:
...
...
ppcls/arch/backbone/model_zoo/inception_v4.py
浏览文件 @
7db32e7a
...
@@ -23,7 +23,7 @@ from paddle.nn import AdaptiveAvgPool2D, MaxPool2D, AvgPool2D
...
@@ -23,7 +23,7 @@ from paddle.nn import AdaptiveAvgPool2D, MaxPool2D, AvgPool2D
from
paddle.nn.initializer
import
Uniform
from
paddle.nn.initializer
import
Uniform
import
math
import
math
from
ppcls
.utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
from
...
.utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
MODEL_URLS
=
{
MODEL_URLS
=
{
"InceptionV4"
:
"InceptionV4"
:
...
...
ppcls/arch/backbone/model_zoo/levit.py
浏览文件 @
7db32e7a
...
@@ -27,7 +27,7 @@ from paddle.regularizer import L2Decay
...
@@ -27,7 +27,7 @@ from paddle.regularizer import L2Decay
from
.vision_transformer
import
trunc_normal_
,
zeros_
,
ones_
,
Identity
from
.vision_transformer
import
trunc_normal_
,
zeros_
,
ones_
,
Identity
from
ppcls
.utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
from
...
.utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
MODEL_URLS
=
{
MODEL_URLS
=
{
"LeViT_128S"
:
"LeViT_128S"
:
...
...
ppcls/arch/backbone/model_zoo/mixnet.py
浏览文件 @
7db32e7a
...
@@ -20,7 +20,7 @@ from functools import reduce
...
@@ -20,7 +20,7 @@ from functools import reduce
import
paddle
import
paddle
import
paddle.nn
as
nn
import
paddle.nn
as
nn
from
ppcls
.utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
from
...
.utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
MODEL_URLS
=
{
MODEL_URLS
=
{
"MixNet_S"
:
"MixNet_S"
:
...
...
ppcls/arch/backbone/model_zoo/mobilenet_v2.py
浏览文件 @
7db32e7a
...
@@ -28,7 +28,7 @@ from paddle.nn import AdaptiveAvgPool2D, MaxPool2D, AvgPool2D
...
@@ -28,7 +28,7 @@ from paddle.nn import AdaptiveAvgPool2D, MaxPool2D, AvgPool2D
import
math
import
math
from
ppcls
.utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
from
...
.utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
MODEL_URLS
=
{
MODEL_URLS
=
{
"MobileNetV2_x0_25"
:
"MobileNetV2_x0_25"
:
...
...
ppcls/arch/backbone/model_zoo/mobilevit.py
浏览文件 @
7db32e7a
...
@@ -23,7 +23,7 @@ import paddle.nn.functional as F
...
@@ -23,7 +23,7 @@ import paddle.nn.functional as F
from
paddle.nn.initializer
import
KaimingUniform
,
TruncatedNormal
,
Constant
from
paddle.nn.initializer
import
KaimingUniform
,
TruncatedNormal
,
Constant
import
math
import
math
from
ppcls
.utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
from
...
.utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
MODEL_URLS
=
{
MODEL_URLS
=
{
"MobileViT_XXS"
:
"MobileViT_XXS"
:
...
...
ppcls/arch/backbone/model_zoo/peleenet.py
浏览文件 @
7db32e7a
...
@@ -22,7 +22,7 @@ import paddle.nn as nn
...
@@ -22,7 +22,7 @@ import paddle.nn as nn
import
paddle.nn.functional
as
F
import
paddle.nn.functional
as
F
from
paddle.nn.initializer
import
Normal
,
Constant
from
paddle.nn.initializer
import
Normal
,
Constant
from
ppcls
.utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
from
...
.utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
MODEL_URLS
=
{
MODEL_URLS
=
{
"PeleeNet"
:
""
# TODO
"PeleeNet"
:
""
# TODO
...
@@ -37,7 +37,8 @@ ones_ = Constant(value=1.)
...
@@ -37,7 +37,8 @@ ones_ = Constant(value=1.)
class
_DenseLayer
(
nn
.
Layer
):
class
_DenseLayer
(
nn
.
Layer
):
def
__init__
(
self
,
num_input_features
,
growth_rate
,
bottleneck_width
,
drop_rate
):
def
__init__
(
self
,
num_input_features
,
growth_rate
,
bottleneck_width
,
drop_rate
):
super
(
_DenseLayer
,
self
).
__init__
()
super
(
_DenseLayer
,
self
).
__init__
()
growth_rate
=
int
(
growth_rate
/
2
)
growth_rate
=
int
(
growth_rate
/
2
)
...
@@ -71,11 +72,12 @@ class _DenseLayer(nn.Layer):
...
@@ -71,11 +72,12 @@ class _DenseLayer(nn.Layer):
class
_DenseBlock
(
nn
.
Sequential
):
class
_DenseBlock
(
nn
.
Sequential
):
def
__init__
(
self
,
num_layers
,
num_input_features
,
bn_size
,
growth_rate
,
drop_rate
):
def
__init__
(
self
,
num_layers
,
num_input_features
,
bn_size
,
growth_rate
,
drop_rate
):
super
(
_DenseBlock
,
self
).
__init__
()
super
(
_DenseBlock
,
self
).
__init__
()
for
i
in
range
(
num_layers
):
for
i
in
range
(
num_layers
):
layer
=
_DenseLayer
(
num_input_features
+
i
*
layer
=
_DenseLayer
(
num_input_features
+
i
*
growth_rate
,
growth_rate
,
growth_rate
,
bn_size
,
drop_rate
)
growth_rate
,
bn_size
,
drop_rate
)
setattr
(
self
,
'denselayer%d'
%
(
i
+
1
),
layer
)
setattr
(
self
,
'denselayer%d'
%
(
i
+
1
),
layer
)
...
@@ -83,16 +85,32 @@ class _StemBlock(nn.Layer):
...
@@ -83,16 +85,32 @@ class _StemBlock(nn.Layer):
def
__init__
(
self
,
num_input_channels
,
num_init_features
):
def
__init__
(
self
,
num_input_channels
,
num_init_features
):
super
(
_StemBlock
,
self
).
__init__
()
super
(
_StemBlock
,
self
).
__init__
()
num_stem_features
=
int
(
num_init_features
/
2
)
num_stem_features
=
int
(
num_init_features
/
2
)
self
.
stem1
=
BasicConv2D
(
self
.
stem1
=
BasicConv2D
(
num_input_channels
,
num_init_features
,
kernel_size
=
3
,
stride
=
2
,
padding
=
1
)
num_input_channels
,
num_init_features
,
kernel_size
=
3
,
stride
=
2
,
padding
=
1
)
self
.
stem2a
=
BasicConv2D
(
self
.
stem2a
=
BasicConv2D
(
num_init_features
,
num_stem_features
,
kernel_size
=
1
,
stride
=
1
,
padding
=
0
)
num_init_features
,
num_stem_features
,
kernel_size
=
1
,
stride
=
1
,
padding
=
0
)
self
.
stem2b
=
BasicConv2D
(
self
.
stem2b
=
BasicConv2D
(
num_stem_features
,
num_init_features
,
kernel_size
=
3
,
stride
=
2
,
padding
=
1
)
num_stem_features
,
num_init_features
,
kernel_size
=
3
,
stride
=
2
,
padding
=
1
)
self
.
stem3
=
BasicConv2D
(
self
.
stem3
=
BasicConv2D
(
2
*
num_init_features
,
num_init_features
,
kernel_size
=
1
,
stride
=
1
,
padding
=
0
)
2
*
num_init_features
,
num_init_features
,
kernel_size
=
1
,
stride
=
1
,
padding
=
0
)
self
.
pool
=
nn
.
MaxPool2D
(
kernel_size
=
2
,
stride
=
2
)
self
.
pool
=
nn
.
MaxPool2D
(
kernel_size
=
2
,
stride
=
2
)
def
forward
(
self
,
x
):
def
forward
(
self
,
x
):
...
@@ -109,11 +127,10 @@ class _StemBlock(nn.Layer):
...
@@ -109,11 +127,10 @@ class _StemBlock(nn.Layer):
class
BasicConv2D
(
nn
.
Layer
):
class
BasicConv2D
(
nn
.
Layer
):
def
__init__
(
self
,
in_channels
,
out_channels
,
activation
=
True
,
**
kwargs
):
def
__init__
(
self
,
in_channels
,
out_channels
,
activation
=
True
,
**
kwargs
):
super
(
BasicConv2D
,
self
).
__init__
()
super
(
BasicConv2D
,
self
).
__init__
()
self
.
conv
=
nn
.
Conv2D
(
in_channels
,
out_channels
,
self
.
conv
=
nn
.
Conv2D
(
bias_attr
=
False
,
**
kwargs
)
in_channels
,
out_channels
,
bias_attr
=
False
,
**
kwargs
)
self
.
norm
=
nn
.
BatchNorm2D
(
out_channels
)
self
.
norm
=
nn
.
BatchNorm2D
(
out_channels
)
self
.
activation
=
activation
self
.
activation
=
activation
...
@@ -141,15 +158,18 @@ class PeleeNetDY(nn.Layer):
...
@@ -141,15 +158,18 @@ class PeleeNetDY(nn.Layer):
class_num (int) - number of classification classes
class_num (int) - number of classification classes
"""
"""
def
__init__
(
self
,
growth_rate
=
32
,
block_config
=
[
3
,
4
,
8
,
6
],
def
__init__
(
self
,
num_init_features
=
32
,
bottleneck_width
=
[
1
,
2
,
4
,
4
],
growth_rate
=
32
,
drop_rate
=
0.05
,
class_num
=
1000
):
block_config
=
[
3
,
4
,
8
,
6
],
num_init_features
=
32
,
bottleneck_width
=
[
1
,
2
,
4
,
4
],
drop_rate
=
0.05
,
class_num
=
1000
):
super
(
PeleeNetDY
,
self
).
__init__
()
super
(
PeleeNetDY
,
self
).
__init__
()
self
.
features
=
nn
.
Sequential
(
*
[
self
.
features
=
nn
.
Sequential
(
*
[(
'stemblock'
,
_StemBlock
(
(
'stemblock'
,
_StemBlock
(
3
,
num_init_features
)),
3
,
num_init_features
)),
])
])
if
type
(
growth_rate
)
is
list
:
if
type
(
growth_rate
)
is
list
:
growth_rates
=
growth_rate
growth_rates
=
growth_rate
...
@@ -168,20 +188,31 @@ class PeleeNetDY(nn.Layer):
...
@@ -168,20 +188,31 @@ class PeleeNetDY(nn.Layer):
# Each denseblock
# Each denseblock
num_features
=
num_init_features
num_features
=
num_init_features
for
i
,
num_layers
in
enumerate
(
block_config
):
for
i
,
num_layers
in
enumerate
(
block_config
):
block
=
_DenseBlock
(
num_layers
=
num_layers
,
block
=
_DenseBlock
(
num_input_features
=
num_features
,
num_layers
=
num_layers
,
bn_size
=
bottleneck_widths
[
i
],
num_input_features
=
num_features
,
growth_rate
=
growth_rates
[
i
],
bn_size
=
bottleneck_widths
[
i
],
drop_rate
=
drop_rate
)
growth_rate
=
growth_rates
[
i
],
drop_rate
=
drop_rate
)
setattr
(
self
.
features
,
'denseblock%d'
%
(
i
+
1
),
block
)
setattr
(
self
.
features
,
'denseblock%d'
%
(
i
+
1
),
block
)
num_features
=
num_features
+
num_layers
*
growth_rates
[
i
]
num_features
=
num_features
+
num_layers
*
growth_rates
[
i
]
setattr
(
self
.
features
,
'transition%d'
%
(
i
+
1
),
BasicConv2D
(
setattr
(
num_features
,
num_features
,
kernel_size
=
1
,
stride
=
1
,
padding
=
0
))
self
.
features
,
'transition%d'
%
(
i
+
1
),
BasicConv2D
(
num_features
,
num_features
,
kernel_size
=
1
,
stride
=
1
,
padding
=
0
))
if
i
!=
len
(
block_config
)
-
1
:
if
i
!=
len
(
block_config
)
-
1
:
setattr
(
self
.
features
,
'transition%d_pool'
%
setattr
(
(
i
+
1
),
nn
.
AvgPool2D
(
kernel_size
=
2
,
stride
=
2
))
self
.
features
,
'transition%d_pool'
%
(
i
+
1
),
nn
.
AvgPool2D
(
kernel_size
=
2
,
stride
=
2
))
num_features
=
num_features
num_features
=
num_features
# Linear layer
# Linear layer
...
@@ -192,7 +223,8 @@ class PeleeNetDY(nn.Layer):
...
@@ -192,7 +223,8 @@ class PeleeNetDY(nn.Layer):
def
forward
(
self
,
x
):
def
forward
(
self
,
x
):
features
=
self
.
features
(
x
)
features
=
self
.
features
(
x
)
out
=
F
.
avg_pool2d
(
features
,
kernel_size
=
features
.
shape
[
2
:
4
]).
flatten
(
1
)
out
=
F
.
avg_pool2d
(
features
,
kernel_size
=
features
.
shape
[
2
:
4
]).
flatten
(
1
)
if
self
.
drop_rate
>
0
:
if
self
.
drop_rate
>
0
:
out
=
F
.
dropout
(
out
,
p
=
self
.
drop_rate
,
training
=
self
.
training
)
out
=
F
.
dropout
(
out
,
p
=
self
.
drop_rate
,
training
=
self
.
training
)
out
=
self
.
classifier
(
out
)
out
=
self
.
classifier
(
out
)
...
...
ppcls/arch/backbone/model_zoo/pvt_v2.py
浏览文件 @
7db32e7a
...
@@ -24,7 +24,7 @@ from paddle.nn.initializer import TruncatedNormal, Constant
...
@@ -24,7 +24,7 @@ from paddle.nn.initializer import TruncatedNormal, Constant
from
.vision_transformer
import
trunc_normal_
,
zeros_
,
ones_
,
to_2tuple
,
DropPath
,
Identity
,
drop_path
from
.vision_transformer
import
trunc_normal_
,
zeros_
,
ones_
,
to_2tuple
,
DropPath
,
Identity
,
drop_path
from
ppcls
.utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
from
...
.utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
MODEL_URLS
=
{
MODEL_URLS
=
{
"PVT_V2_B0"
:
"PVT_V2_B0"
:
...
...
ppcls/arch/backbone/model_zoo/rednet.py
浏览文件 @
7db32e7a
...
@@ -20,7 +20,7 @@ import paddle.nn as nn
...
@@ -20,7 +20,7 @@ import paddle.nn as nn
from
paddle.vision.models
import
resnet
from
paddle.vision.models
import
resnet
from
ppcls
.utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
from
...
.utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
MODEL_URLS
=
{
MODEL_URLS
=
{
"RedNet26"
:
"RedNet26"
:
...
...
ppcls/arch/backbone/model_zoo/regnet.py
浏览文件 @
7db32e7a
...
@@ -29,7 +29,7 @@ from paddle.nn import AdaptiveAvgPool2D, MaxPool2D, AvgPool2D
...
@@ -29,7 +29,7 @@ from paddle.nn import AdaptiveAvgPool2D, MaxPool2D, AvgPool2D
from
paddle.nn.initializer
import
Uniform
from
paddle.nn.initializer
import
Uniform
import
math
import
math
from
ppcls
.utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
from
...
.utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
MODEL_URLS
=
{
MODEL_URLS
=
{
"RegNetX_200MF"
:
"RegNetX_200MF"
:
...
...
ppcls/arch/backbone/model_zoo/repvgg.py
浏览文件 @
7db32e7a
...
@@ -19,7 +19,7 @@ import paddle.nn as nn
...
@@ -19,7 +19,7 @@ import paddle.nn as nn
import
paddle
import
paddle
import
numpy
as
np
import
numpy
as
np
from
ppcls
.utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
from
...
.utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
MODEL_URLS
=
{
MODEL_URLS
=
{
"RepVGG_A0"
:
"RepVGG_A0"
:
...
...
ppcls/arch/backbone/model_zoo/res2net.py
浏览文件 @
7db32e7a
...
@@ -29,7 +29,7 @@ from paddle.nn.initializer import Uniform
...
@@ -29,7 +29,7 @@ from paddle.nn.initializer import Uniform
import
math
import
math
from
ppcls
.utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
from
...
.utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
MODEL_URLS
=
{
MODEL_URLS
=
{
"Res2Net50_26w_4s"
:
"Res2Net50_26w_4s"
:
...
...
ppcls/arch/backbone/model_zoo/res2net_vd.py
浏览文件 @
7db32e7a
...
@@ -29,7 +29,7 @@ from paddle.nn.initializer import Uniform
...
@@ -29,7 +29,7 @@ from paddle.nn.initializer import Uniform
import
math
import
math
from
ppcls
.utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
from
...
.utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
MODEL_URLS
=
{
MODEL_URLS
=
{
"Res2Net50_vd_26w_4s"
:
"Res2Net50_vd_26w_4s"
:
...
...
ppcls/arch/backbone/model_zoo/resnest.py
浏览文件 @
7db32e7a
...
@@ -30,7 +30,7 @@ from paddle.nn import Conv2D, BatchNorm, Linear, Dropout
...
@@ -30,7 +30,7 @@ from paddle.nn import Conv2D, BatchNorm, Linear, Dropout
from
paddle.nn
import
AdaptiveAvgPool2D
,
MaxPool2D
,
AvgPool2D
from
paddle.nn
import
AdaptiveAvgPool2D
,
MaxPool2D
,
AvgPool2D
from
paddle.regularizer
import
L2Decay
from
paddle.regularizer
import
L2Decay
from
ppcls
.utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
from
...
.utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
MODEL_URLS
=
{
MODEL_URLS
=
{
"ResNeSt50_fast_1s1x64d"
:
"ResNeSt50_fast_1s1x64d"
:
...
...
ppcls/arch/backbone/model_zoo/resnet_vc.py
浏览文件 @
7db32e7a
...
@@ -29,7 +29,7 @@ from paddle.nn.initializer import Uniform
...
@@ -29,7 +29,7 @@ from paddle.nn.initializer import Uniform
import
math
import
math
from
ppcls
.utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
from
...
.utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
MODEL_URLS
=
{
MODEL_URLS
=
{
"ResNet50_vc"
:
"ResNet50_vc"
:
...
...
ppcls/arch/backbone/model_zoo/resnext.py
浏览文件 @
7db32e7a
...
@@ -29,7 +29,7 @@ from paddle.nn.initializer import Uniform
...
@@ -29,7 +29,7 @@ from paddle.nn.initializer import Uniform
import
math
import
math
from
ppcls
.utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
from
...
.utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
MODEL_URLS
=
{
MODEL_URLS
=
{
"ResNeXt50_32x4d"
:
"ResNeXt50_32x4d"
:
...
...
ppcls/arch/backbone/model_zoo/resnext101_wsl.py
浏览文件 @
7db32e7a
...
@@ -22,7 +22,7 @@ from paddle.nn import Conv2D, BatchNorm, Linear, Dropout
...
@@ -22,7 +22,7 @@ from paddle.nn import Conv2D, BatchNorm, Linear, Dropout
from
paddle.nn
import
AdaptiveAvgPool2D
,
MaxPool2D
,
AvgPool2D
from
paddle.nn
import
AdaptiveAvgPool2D
,
MaxPool2D
,
AvgPool2D
from
paddle.nn.initializer
import
Uniform
from
paddle.nn.initializer
import
Uniform
from
ppcls
.utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
from
...
.utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
MODEL_URLS
=
{
MODEL_URLS
=
{
"ResNeXt101_32x8d_wsl"
:
"ResNeXt101_32x8d_wsl"
:
...
...
ppcls/arch/backbone/model_zoo/resnext_vd.py
浏览文件 @
7db32e7a
...
@@ -29,7 +29,7 @@ from paddle.nn.initializer import Uniform
...
@@ -29,7 +29,7 @@ from paddle.nn.initializer import Uniform
import
math
import
math
from
ppcls
.utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
from
...
.utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
MODEL_URLS
=
{
MODEL_URLS
=
{
"ResNeXt50_vd_32x4d"
:
"ResNeXt50_vd_32x4d"
:
...
...
ppcls/arch/backbone/model_zoo/rexnet.py
浏览文件 @
7db32e7a
...
@@ -24,7 +24,7 @@ from paddle import ParamAttr
...
@@ -24,7 +24,7 @@ from paddle import ParamAttr
import
paddle.nn
as
nn
import
paddle.nn
as
nn
from
math
import
ceil
from
math
import
ceil
from
ppcls
.utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
from
...
.utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
MODEL_URLS
=
{
MODEL_URLS
=
{
"ReXNet_1_0"
:
"ReXNet_1_0"
:
...
...
ppcls/arch/backbone/model_zoo/se_resnet_vd.py
浏览文件 @
7db32e7a
...
@@ -28,7 +28,7 @@ from paddle.nn.initializer import Uniform
...
@@ -28,7 +28,7 @@ from paddle.nn.initializer import Uniform
import
math
import
math
from
ppcls
.utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
from
...
.utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
MODEL_URLS
=
{
MODEL_URLS
=
{
"SE_ResNet18_vd"
:
"SE_ResNet18_vd"
:
...
...
ppcls/arch/backbone/model_zoo/se_resnext.py
浏览文件 @
7db32e7a
...
@@ -29,7 +29,7 @@ from paddle.nn.initializer import Uniform
...
@@ -29,7 +29,7 @@ from paddle.nn.initializer import Uniform
import
math
import
math
from
ppcls
.utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
from
...
.utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
MODEL_URLS
=
{
MODEL_URLS
=
{
"SE_ResNeXt50_32x4d"
:
"SE_ResNeXt50_32x4d"
:
...
...
ppcls/arch/backbone/model_zoo/se_resnext_vd.py
浏览文件 @
7db32e7a
...
@@ -29,7 +29,7 @@ from paddle.nn.initializer import Uniform
...
@@ -29,7 +29,7 @@ from paddle.nn.initializer import Uniform
import
math
import
math
from
ppcls
.utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
from
...
.utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
MODEL_URLS
=
{
MODEL_URLS
=
{
"SE_ResNeXt50_vd_32x4d"
:
"SE_ResNeXt50_vd_32x4d"
:
...
...
ppcls/arch/backbone/model_zoo/shufflenet_v2.py
浏览文件 @
7db32e7a
...
@@ -24,7 +24,7 @@ from paddle.nn import Layer, Conv2D, MaxPool2D, AdaptiveAvgPool2D, BatchNorm, Li
...
@@ -24,7 +24,7 @@ from paddle.nn import Layer, Conv2D, MaxPool2D, AdaptiveAvgPool2D, BatchNorm, Li
from
paddle.nn.initializer
import
KaimingNormal
from
paddle.nn.initializer
import
KaimingNormal
from
paddle.nn.functional
import
swish
from
paddle.nn.functional
import
swish
from
ppcls
.utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
from
...
.utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
MODEL_URLS
=
{
MODEL_URLS
=
{
"ShuffleNetV2_x0_25"
:
"ShuffleNetV2_x0_25"
:
...
...
ppcls/arch/backbone/model_zoo/squeezenet.py
浏览文件 @
7db32e7a
...
@@ -21,7 +21,7 @@ import paddle.nn.functional as F
...
@@ -21,7 +21,7 @@ import paddle.nn.functional as F
from
paddle.nn
import
Conv2D
,
BatchNorm
,
Linear
,
Dropout
from
paddle.nn
import
Conv2D
,
BatchNorm
,
Linear
,
Dropout
from
paddle.nn
import
AdaptiveAvgPool2D
,
MaxPool2D
,
AvgPool2D
from
paddle.nn
import
AdaptiveAvgPool2D
,
MaxPool2D
,
AvgPool2D
from
ppcls
.utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
from
...
.utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
MODEL_URLS
=
{
MODEL_URLS
=
{
"SqueezeNet1_0"
:
"SqueezeNet1_0"
:
...
...
ppcls/arch/backbone/model_zoo/tnt.py
浏览文件 @
7db32e7a
...
@@ -23,8 +23,8 @@ import paddle.nn as nn
...
@@ -23,8 +23,8 @@ import paddle.nn as nn
from
paddle.nn.initializer
import
TruncatedNormal
,
Constant
from
paddle.nn.initializer
import
TruncatedNormal
,
Constant
from
ppcls.arch.backbone
.base.theseus_layer
import
Identity
from
.
.base.theseus_layer
import
Identity
from
ppcls
.utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
from
...
.utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
MODEL_URLS
=
{
MODEL_URLS
=
{
"TNT_small"
:
"TNT_small"
:
...
...
ppcls/arch/backbone/model_zoo/van.py
浏览文件 @
7db32e7a
...
@@ -21,7 +21,7 @@ import paddle
...
@@ -21,7 +21,7 @@ import paddle
import
paddle.nn
as
nn
import
paddle.nn
as
nn
from
paddle.nn.initializer
import
TruncatedNormal
,
Constant
from
paddle.nn.initializer
import
TruncatedNormal
,
Constant
from
ppcls
.utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
from
...
.utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
MODEL_URLS
=
{
MODEL_URLS
=
{
"VAN_tiny"
:
""
,
# TODO
"VAN_tiny"
:
""
,
# TODO
...
...
ppcls/arch/backbone/model_zoo/vision_transformer.py
浏览文件 @
7db32e7a
...
@@ -22,7 +22,7 @@ import paddle
...
@@ -22,7 +22,7 @@ import paddle
import
paddle.nn
as
nn
import
paddle.nn
as
nn
from
paddle.nn.initializer
import
TruncatedNormal
,
Constant
,
Normal
from
paddle.nn.initializer
import
TruncatedNormal
,
Constant
,
Normal
from
ppcls
.utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
from
...
.utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
MODEL_URLS
=
{
MODEL_URLS
=
{
"ViT_small_patch16_224"
:
"ViT_small_patch16_224"
:
...
...
ppcls/arch/backbone/model_zoo/xception.py
浏览文件 @
7db32e7a
...
@@ -24,7 +24,7 @@ from paddle.nn.initializer import Uniform
...
@@ -24,7 +24,7 @@ from paddle.nn.initializer import Uniform
import
math
import
math
import
sys
import
sys
from
ppcls
.utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
from
...
.utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
MODEL_URLS
=
{
MODEL_URLS
=
{
"Xception41"
:
"Xception41"
:
...
...
ppcls/arch/backbone/model_zoo/xception_deeplab.py
浏览文件 @
7db32e7a
...
@@ -21,7 +21,7 @@ import paddle.nn.functional as F
...
@@ -21,7 +21,7 @@ import paddle.nn.functional as F
from
paddle.nn
import
Conv2D
,
BatchNorm
,
Linear
,
Dropout
from
paddle.nn
import
Conv2D
,
BatchNorm
,
Linear
,
Dropout
from
paddle.nn
import
AdaptiveAvgPool2D
,
MaxPool2D
,
AvgPool2D
from
paddle.nn
import
AdaptiveAvgPool2D
,
MaxPool2D
,
AvgPool2D
from
ppcls
.utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
from
...
.utils.save_load
import
load_dygraph_pretrain
,
load_dygraph_pretrain_from_url
MODEL_URLS
=
{
MODEL_URLS
=
{
"Xception41_deeplab"
:
"Xception41_deeplab"
:
...
...
ppcls/arch/backbone/variant_models/pp_lcnet_variant.py
浏览文件 @
7db32e7a
import
paddle
import
paddle
from
paddle.nn
import
Sigmoid
from
paddle.nn
import
Sigmoid
from
paddle.nn
import
Tanh
from
paddle.nn
import
Tanh
from
ppcls.arch.backbone
.legendary_models.pp_lcnet
import
PPLCNet_x2_5
from
.
.legendary_models.pp_lcnet
import
PPLCNet_x2_5
__all__
=
[
"PPLCNet_x2_5_Tanh"
]
__all__
=
[
"PPLCNet_x2_5_Tanh"
]
...
...
ppcls/arch/backbone/variant_models/resnet_variant.py
浏览文件 @
7db32e7a
from
paddle.nn
import
Conv2D
from
paddle.nn
import
Conv2D
from
ppcls.arch.backbone
.legendary_models.resnet
import
ResNet50
,
MODEL_URLS
,
_load_pretrained
from
.
.legendary_models.resnet
import
ResNet50
,
MODEL_URLS
,
_load_pretrained
__all__
=
[
"ResNet50_last_stage_stride1"
]
__all__
=
[
"ResNet50_last_stage_stride1"
]
...
...
ppcls/arch/backbone/variant_models/vgg_variant.py
浏览文件 @
7db32e7a
import
paddle
import
paddle
from
paddle.nn
import
Sigmoid
from
paddle.nn
import
Sigmoid
from
ppcls.arch.backbone
.legendary_models.vgg
import
VGG19
from
.
.legendary_models.vgg
import
VGG19
__all__
=
[
"VGG19Sigmoid"
]
__all__
=
[
"VGG19Sigmoid"
]
...
...
ppcls/arch/gears/bnneck.py
浏览文件 @
7db32e7a
...
@@ -17,7 +17,7 @@ from __future__ import absolute_import, division, print_function
...
@@ -17,7 +17,7 @@ from __future__ import absolute_import, division, print_function
import
paddle
import
paddle
import
paddle.nn
as
nn
import
paddle.nn
as
nn
from
ppcls.arch
.utils
import
get_param_attr_dict
from
.
.utils
import
get_param_attr_dict
class
BNNeck
(
nn
.
Layer
):
class
BNNeck
(
nn
.
Layer
):
...
...
ppcls/arch/gears/fc.py
浏览文件 @
7db32e7a
...
@@ -19,7 +19,7 @@ from __future__ import print_function
...
@@ -19,7 +19,7 @@ from __future__ import print_function
import
paddle
import
paddle
import
paddle.nn
as
nn
import
paddle.nn
as
nn
from
ppcls.arch
.utils
import
get_param_attr_dict
from
.
.utils
import
get_param_attr_dict
class
FC
(
nn
.
Layer
):
class
FC
(
nn
.
Layer
):
...
...
ppcls/arch/slim/__init__.py
浏览文件 @
7db32e7a
...
@@ -12,5 +12,5 @@
...
@@ -12,5 +12,5 @@
# See the License for the specific language governing permissions and
# See the License for the specific language governing permissions and
# limitations under the License.
# limitations under the License.
from
ppcls.arch.slim
.prune
import
prune_model
from
.prune
import
prune_model
from
ppcls.arch.slim
.quant
import
quantize_model
from
.quant
import
quantize_model
ppcls/arch/slim/prune.py
浏览文件 @
7db32e7a
...
@@ -14,7 +14,7 @@
...
@@ -14,7 +14,7 @@
from
__future__
import
absolute_import
,
division
,
print_function
from
__future__
import
absolute_import
,
division
,
print_function
import
paddle
import
paddle
from
ppcls
.utils
import
logger
from
..
.utils
import
logger
def
prune_model
(
config
,
model
):
def
prune_model
(
config
,
model
):
...
@@ -37,7 +37,6 @@ def prune_model(config, model):
...
@@ -37,7 +37,6 @@ def prune_model(config, model):
model
.
pruner
=
None
model
.
pruner
=
None
def
_prune_model
(
config
,
model
):
def
_prune_model
(
config
,
model
):
from
paddleslim.analysis
import
dygraph_flops
as
flops
from
paddleslim.analysis
import
dygraph_flops
as
flops
logger
.
info
(
"FLOPs before pruning: {}GFLOPs"
.
format
(
logger
.
info
(
"FLOPs before pruning: {}GFLOPs"
.
format
(
...
...
ppcls/arch/slim/quant.py
浏览文件 @
7db32e7a
...
@@ -14,7 +14,7 @@
...
@@ -14,7 +14,7 @@
from
__future__
import
absolute_import
,
division
,
print_function
from
__future__
import
absolute_import
,
division
,
print_function
import
paddle
import
paddle
from
ppcls
.utils
import
logger
from
..
.utils
import
logger
QUANT_CONFIG
=
{
QUANT_CONFIG
=
{
# weight preprocess type, default is None and no preprocessing is performed.
# weight preprocess type, default is None and no preprocessing is performed.
...
...
ppcls/configs/ImageNet/Distillation/mv3_large_x1_0_distill_mv3_small_x1_0.yaml
浏览文件 @
7db32e7a
...
@@ -140,8 +140,7 @@ Infer:
...
@@ -140,8 +140,7 @@ Infer:
order
:
'
'
order
:
'
'
-
ToCHWImage
:
-
ToCHWImage
:
PostProcess
:
PostProcess
:
name
:
DistillationPostProcess
name
:
Topk
func
:
Topk
topk
:
5
topk
:
5
class_id_map_file
:
"
ppcls/utils/imagenet1k_label_list.txt"
class_id_map_file
:
"
ppcls/utils/imagenet1k_label_list.txt"
...
...
ppcls/configs/ImageNet/Distillation/res2net200_vd_distill_pphgnet_base.yaml
浏览文件 @
7db32e7a
...
@@ -153,8 +153,7 @@ Infer:
...
@@ -153,8 +153,7 @@ Infer:
order
:
'
'
order
:
'
'
-
ToCHWImage
:
-
ToCHWImage
:
PostProcess
:
PostProcess
:
name
:
DistillationPostProcess
name
:
Topk
func
:
Topk
topk
:
5
topk
:
5
class_id_map_file
:
"
ppcls/utils/imagenet1k_label_list.txt"
class_id_map_file
:
"
ppcls/utils/imagenet1k_label_list.txt"
...
...
ppcls/configs/ImageNet/Distillation/resnet34_distill_resnet18_afd.yaml
浏览文件 @
7db32e7a
...
@@ -184,8 +184,7 @@ Infer:
...
@@ -184,8 +184,7 @@ Infer:
order
:
'
'
order
:
'
'
-
ToCHWImage
:
-
ToCHWImage
:
PostProcess
:
PostProcess
:
name
:
DistillationPostProcess
name
:
Topk
func
:
Topk
topk
:
5
topk
:
5
class_id_map_file
:
"
ppcls/utils/imagenet1k_label_list.txt"
class_id_map_file
:
"
ppcls/utils/imagenet1k_label_list.txt"
...
...
ppcls/configs/ImageNet/Distillation/resnet34_distill_resnet18_dkd.yaml
浏览文件 @
7db32e7a
...
@@ -139,8 +139,7 @@ Infer:
...
@@ -139,8 +139,7 @@ Infer:
order
:
'
'
order
:
'
'
-
ToCHWImage
:
-
ToCHWImage
:
PostProcess
:
PostProcess
:
name
:
DistillationPostProcess
name
:
Topk
func
:
Topk
topk
:
5
topk
:
5
class_id_map_file
:
"
ppcls/utils/imagenet1k_label_list.txt"
class_id_map_file
:
"
ppcls/utils/imagenet1k_label_list.txt"
...
...
ppcls/data/dataloader/DistributedRandomIdentitySampler.py
浏览文件 @
7db32e7a
...
@@ -14,24 +14,27 @@
...
@@ -14,24 +14,27 @@
from
__future__
import
absolute_import
from
__future__
import
absolute_import
from
__future__
import
division
from
__future__
import
division
from
collections
import
defaultdict
import
numpy
as
np
import
copy
import
copy
import
random
import
random
from
collections
import
defaultdict
import
numpy
as
np
from
paddle.io
import
DistributedBatchSampler
,
Sampler
from
paddle.io
import
DistributedBatchSampler
,
Sampler
class
DistributedRandomIdentitySampler
(
DistributedBatchSampler
):
class
DistributedRandomIdentitySampler
(
DistributedBatchSampler
):
"""
"""Randomly sample N identities, then for each identity,
Randomly sample N identities, then for each identity,
randomly sample K instances, therefore batch size equals to N * K.
randomly sample K instances, therefore batch size is N*K.
Args:
Args:
- data_source (list): list of (img_path, pid, camid).
dataset(Dataset): Dataset which contains list of (img_path, pid, camid))
- num_instances (int): number of instances per identity in a batch.
batch_size (int): batch size
- batch_size (int): number of examples in a batch.
num_instances (int): number of instance(s) within an class
drop_last (bool): whether to discard the data at the end
"""
"""
def
__init__
(
self
,
dataset
,
batch_size
,
num_instances
,
drop_last
,
**
args
):
def
__init__
(
self
,
dataset
,
batch_size
,
num_instances
,
drop_last
,
**
args
):
assert
batch_size
%
num_instances
==
0
,
\
f
"batch_size(
{
batch_size
}
) must be divisible by num_instances(
{
num_instances
}
) when using DistributedRandomIdentitySampler"
self
.
dataset
=
dataset
self
.
dataset
=
dataset
self
.
batch_size
=
batch_size
self
.
batch_size
=
batch_size
self
.
num_instances
=
num_instances
self
.
num_instances
=
num_instances
...
...
ppcls/data/dataloader/pk_sampler.py
浏览文件 @
7db32e7a
...
@@ -14,27 +14,27 @@
...
@@ -14,27 +14,27 @@
from
__future__
import
absolute_import
from
__future__
import
absolute_import
from
__future__
import
division
from
__future__
import
division
from
collections
import
defaultdict
from
collections
import
defaultdict
import
numpy
as
np
import
numpy
as
np
import
random
from
paddle.io
import
DistributedBatchSampler
from
paddle.io
import
DistributedBatchSampler
from
ppcls.utils
import
logger
from
ppcls.utils
import
logger
class
PKSampler
(
DistributedBatchSampler
):
class
PKSampler
(
DistributedBatchSampler
):
"""
"""
First, randomly sample P identities.
First, randomly sample P identiti
es.
Then for each identity randomly sample K instanc
es.
Then for each identity randomly sample K instances
.
Therefore batch size equals to P * K, and the sampler called PKSampler
.
Therefore batch size is P*K, and the sampler called PKSampler.
Args:
Args:
dataset (paddle.io.Dataset): list of (img_path, pid, cam_id).
dataset (Dataset): Dataset which contains list of (img_path, pid, camid))
sample_per_id(int): number of instances per identity in a batch.
batch_size (int): batch size
batch_size (int): number of examples in a batch.
sample_per_id (int): number of instance(s) within an class
shuffle(bool): whether to shuffle indices order before generating
shuffle (bool, optional): _description_. Defaults to True.
batch indices. Default False.
drop_last (bool, optional): whether to discard the data at the end. Defaults to True.
sample_method (str, optional): sample method when generating prob_list. Defaults to "sample_avg_prob".
"""
"""
def
__init__
(
self
,
def
__init__
(
self
,
dataset
,
dataset
,
batch_size
,
batch_size
,
...
@@ -42,10 +42,9 @@ class PKSampler(DistributedBatchSampler):
...
@@ -42,10 +42,9 @@ class PKSampler(DistributedBatchSampler):
shuffle
=
True
,
shuffle
=
True
,
drop_last
=
True
,
drop_last
=
True
,
sample_method
=
"sample_avg_prob"
):
sample_method
=
"sample_avg_prob"
):
super
().
__init__
(
super
().
__init__
(
dataset
,
batch_size
,
shuffle
=
shuffle
,
drop_last
=
drop_last
)
dataset
,
batch_size
,
shuffle
=
shuffle
,
drop_last
=
drop_last
)
assert
batch_size
%
sample_per_id
==
0
,
\
assert
batch_size
%
sample_per_id
==
0
,
\
"PKSampler configs error, Sample_per_id must be a divisor of batch_size
."
f
"PKSampler configs error, sample_per_id(
{
sample_per_id
}
) must be a divisor of batch_size(
{
batch_size
}
)
."
assert
hasattr
(
self
.
dataset
,
assert
hasattr
(
self
.
dataset
,
"labels"
),
"Dataset must have labels attribute."
"labels"
),
"Dataset must have labels attribute."
self
.
sample_per_label
=
sample_per_id
self
.
sample_per_label
=
sample_per_id
...
...
ppcls/utils/check.py
浏览文件 @
7db32e7a
...
@@ -22,10 +22,8 @@ import sys
...
@@ -22,10 +22,8 @@ import sys
import
paddle
import
paddle
from
paddle
import
is_compiled_with_cuda
from
paddle
import
is_compiled_with_cuda
from
ppcls.arch
import
get_architectures
from
..arch.utils
import
get_architectures
,
similar_architectures
,
get_blacklist_model_in_static_mode
from
ppcls.arch
import
similar_architectures
from
.
import
logger
from
ppcls.arch
import
get_blacklist_model_in_static_mode
from
ppcls.utils
import
logger
def
check_version
():
def
check_version
():
...
...
ppcls/utils/config.py
浏览文件 @
7db32e7a
...
@@ -16,8 +16,9 @@ import os
...
@@ -16,8 +16,9 @@ import os
import
copy
import
copy
import
argparse
import
argparse
import
yaml
import
yaml
from
ppcls.utils
import
logger
from
.
import
logger
from
ppcls.utils
import
check
from
.
import
check
__all__
=
[
'get_config'
]
__all__
=
[
'get_config'
]
...
...
ppcls/utils/download.py
浏览文件 @
7db32e7a
...
@@ -28,7 +28,7 @@ import time
...
@@ -28,7 +28,7 @@ import time
from
collections
import
OrderedDict
from
collections
import
OrderedDict
from
tqdm
import
tqdm
from
tqdm
import
tqdm
from
ppcls.utils
import
logger
from
.
import
logger
__all__
=
[
'get_weights_path_from_url'
]
__all__
=
[
'get_weights_path_from_url'
]
...
...
ppcls/utils/gallery2fc.py
浏览文件 @
7db32e7a
...
@@ -20,12 +20,12 @@ import sys
...
@@ -20,12 +20,12 @@ import sys
__dir__
=
os
.
path
.
dirname
(
os
.
path
.
abspath
(
__file__
))
__dir__
=
os
.
path
.
dirname
(
os
.
path
.
abspath
(
__file__
))
sys
.
path
.
append
(
os
.
path
.
abspath
(
os
.
path
.
join
(
__dir__
,
'../../'
)))
sys
.
path
.
append
(
os
.
path
.
abspath
(
os
.
path
.
join
(
__dir__
,
'../../'
)))
from
ppcls
.arch
import
build_model
from
.
.arch
import
build_model
from
ppcls.utils
.config
import
parse_config
,
parse_args
from
.config
import
parse_config
,
parse_args
from
ppcls.utils
.save_load
import
load_dygraph_pretrain
from
.save_load
import
load_dygraph_pretrain
from
ppcls.utils
.logger
import
init_logger
from
.logger
import
init_logger
from
ppcls
.data
import
create_operators
from
.
.data
import
create_operators
from
ppcls
.arch.slim
import
quantize_model
from
.
.arch.slim
import
quantize_model
class
GalleryLayer
(
paddle
.
nn
.
Layer
):
class
GalleryLayer
(
paddle
.
nn
.
Layer
):
...
...
ppcls/utils/model_zoo.py
浏览文件 @
7db32e7a
...
@@ -23,8 +23,8 @@ import tarfile
...
@@ -23,8 +23,8 @@ import tarfile
import
tqdm
import
tqdm
import
zipfile
import
zipfile
from
ppcls.arch
import
similar_architectures
from
..arch.utils
import
similar_architectures
from
ppcls.utils
import
logger
from
.
import
logger
__all__
=
[
'get'
]
__all__
=
[
'get'
]
...
...
ppcls/utils/save_load.py
浏览文件 @
7db32e7a
...
@@ -20,7 +20,7 @@ import errno
...
@@ -20,7 +20,7 @@ import errno
import
os
import
os
import
paddle
import
paddle
from
ppcls.utils
import
logger
from
.
import
logger
from
.download
import
get_weights_path_from_url
from
.download
import
get_weights_path_from_url
__all__
=
[
'init_model'
,
'save_model'
,
'load_dygraph_pretrain'
]
__all__
=
[
'init_model'
,
'save_model'
,
'load_dygraph_pretrain'
]
...
...
setup.py
浏览文件 @
7db32e7a
...
@@ -33,7 +33,7 @@ setup(
...
@@ -33,7 +33,7 @@ setup(
package_dir
=
{
'paddleclas'
:
''
},
package_dir
=
{
'paddleclas'
:
''
},
include_package_data
=
True
,
include_package_data
=
True
,
entry_points
=
{
entry_points
=
{
"console_scripts"
:
[
"paddleclas=
paddleclas.paddleclas:main"
]
"console_scripts"
:
[
"paddleclas=paddleclas.paddleclas:main"
]
},
},
version
=
'0.0.0'
,
version
=
'0.0.0'
,
install_requires
=
requirements
,
install_requires
=
requirements
,
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录