hubconf.py 22.5 KB
Newer Older
L
for hub  
lyuwenyu 已提交
1

L
lyuwenyu 已提交
2
dependencies = ['paddle', 'numpy']
L
for hub  
lyuwenyu 已提交
3

L
lyuwenyu 已提交
4
import paddle
L
for hub  
lyuwenyu 已提交
5

L
lyuwenyu 已提交
6 7
from ppcls.modeling.architectures import alexnet as _alexnet
from ppcls.modeling.architectures import vgg as _vgg 
L
lyuwenyu 已提交
8
from ppcls.modeling.architectures import resnet as _resnet 
L
lyuwenyu 已提交
9 10 11 12
from ppcls.modeling.architectures import squeezenet as _squeezenet
from ppcls.modeling.architectures import densenet as _densenet
from ppcls.modeling.architectures import inception_v3 as _inception_v3
from ppcls.modeling.architectures import inception_v4 as _inception_v4
L
lyuwenyu 已提交
13 14 15 16 17 18 19
from ppcls.modeling.architectures import googlenet as _googlenet
from ppcls.modeling.architectures import shufflenet_v2 as _shufflenet_v2
from ppcls.modeling.architectures import mobilenet_v1 as _mobilenet_v1
from ppcls.modeling.architectures import mobilenet_v2 as _mobilenet_v2
from ppcls.modeling.architectures import mobilenet_v3 as _mobilenet_v3
from ppcls.modeling.architectures import resnext as _resnext

L
lyuwenyu 已提交
20

L
lyuwenyu 已提交
21 22 23 24
# _checkpoints = {
#     'ResNet18': 'https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/ResNet18_pretrained.pdparams',
#     'ResNet34': 'https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/ResNet34_pretrained.pdparams',
# }
L
lyuwenyu 已提交
25

L
lyuwenyu 已提交
26

L
lyuwenyu 已提交
27 28 29 30
def _load_pretrained_urls():
    '''Load pretrained model parameters url from README.md
    '''
    import re
L
lyuwenyu 已提交
31
    import os
L
lyuwenyu 已提交
32 33
    from collections import OrderedDict

L
lyuwenyu 已提交
34 35 36
    readme_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'README.md')

    with open(readme_path, 'r') as f:
L
lyuwenyu 已提交
37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
        lines = f.readlines()
        lines = [lin for lin in lines if lin.strip().startswith('|') and 'Download link' in lin]
    
    urls = OrderedDict()
    for lin in lines:
        try:
            name = re.findall(r'\|(.*?)\|', lin)[0].strip().replace('<br>', '')
            url = re.findall(r'\((.*?)\)', lin)[-1].strip()
            if name in url:
                urls[name] = url
        except:
            pass

    return urls


_checkpoints = _load_pretrained_urls()
L
lyuwenyu 已提交
54

L
lyuwenyu 已提交
55

L
lyuwenyu 已提交
56

L
lyuwenyu 已提交
57
def AlexNet(pretrained=False, **kwargs):
L
lyuwenyu 已提交
58 59
    '''AlexNet
    '''
L
lyuwenyu 已提交
60
    # pretrained = kwargs.pop('pretrained', False)
L
lyuwenyu 已提交
61 62 63 64 65 66 67 68 69 70 71

    model = _alexnet.AlexNet(**kwargs)
    if pretrained:
        assert 'AlexNet' in _checkpoints, 'Not provide `AlexNet` pretrained model.'
        path = paddle.utils.download.get_weights_path_from_url(_checkpoints['AlexNet'])
        model.set_state_dict(paddle.load(path))

    return model



L
lyuwenyu 已提交
72
def VGG11(pretrained=False, **kwargs):
L
lyuwenyu 已提交
73 74
    '''VGG11
    '''
L
lyuwenyu 已提交
75
    # pretrained = kwargs.pop('pretrained', False)
L
lyuwenyu 已提交
76 77 78 79 80 81 82 83 84 85

    model = _vgg.VGG11(**kwargs)
    if pretrained:
        assert 'VGG11' in _checkpoints, 'Not provide `VGG11` pretrained model.'
        path = paddle.utils.download.get_weights_path_from_url(_checkpoints['VGG11'])
        model.set_state_dict(paddle.load(path))

    return model


L
lyuwenyu 已提交
86
def VGG13(pretrained=False, **kwargs):
L
lyuwenyu 已提交
87 88
    '''VGG13
    '''
L
lyuwenyu 已提交
89
    # pretrained = kwargs.pop('pretrained', False)
L
lyuwenyu 已提交
90 91 92 93 94 95 96 97 98 99

    model = _vgg.VGG13(**kwargs)
    if pretrained:
        assert 'VGG13' in _checkpoints, 'Not provide `VGG13` pretrained model.'
        path = paddle.utils.download.get_weights_path_from_url(_checkpoints['VGG13'])
        model.set_state_dict(paddle.load(path))

    return model


L
lyuwenyu 已提交
100
def VGG16(pretrained=False, **kwargs):
L
lyuwenyu 已提交
101 102
    '''VGG16
    '''
L
lyuwenyu 已提交
103
    # pretrained = kwargs.pop('pretrained', False)
L
lyuwenyu 已提交
104 105 106 107 108 109 110 111 112 113

    model = _vgg.VGG16(**kwargs)
    if pretrained:
        assert 'VGG16' in _checkpoints, 'Not provide `VGG16` pretrained model.'
        path = paddle.utils.download.get_weights_path_from_url(_checkpoints['VGG16'])
        model.set_state_dict(paddle.load(path))

    return model


L
lyuwenyu 已提交
114
def VGG19(pretrained=False, **kwargs):
L
lyuwenyu 已提交
115 116
    '''VGG19
    '''
L
lyuwenyu 已提交
117
    # pretrained = kwargs.pop('pretrained', False)
L
lyuwenyu 已提交
118 119 120 121 122 123 124 125 126 127 128 129

    model = _vgg.VGG19(**kwargs)
    if pretrained:
        assert 'VGG19' in _checkpoints, 'Not provide `VGG19` pretrained model.'
        path = paddle.utils.download.get_weights_path_from_url(_checkpoints['VGG19'])
        model.set_state_dict(paddle.load(path))

    return model




L
lyuwenyu 已提交
130
def ResNet18(pretrained=False, **kwargs):
L
lyuwenyu 已提交
131
    '''ResNet18
L
for hub  
lyuwenyu 已提交
132
    '''
L
lyuwenyu 已提交
133
    # pretrained = kwargs.pop('pretrained', False)
L
lyuwenyu 已提交
134

L
lyuwenyu 已提交
135
    model = _resnet.ResNet18(**kwargs)
L
lyuwenyu 已提交
136
    if pretrained:
L
lyuwenyu 已提交
137
        assert 'ResNet18' in _checkpoints, 'Not provide `ResNet18` pretrained model.'
L
lyuwenyu 已提交
138 139 140
        path = paddle.utils.download.get_weights_path_from_url(_checkpoints['ResNet18'])
        model.set_state_dict(paddle.load(path))

L
for hub  
lyuwenyu 已提交
141 142
    return model

L
lyuwenyu 已提交
143

L
lyuwenyu 已提交
144
def ResNet34(pretrained=False, **kwargs):
L
lyuwenyu 已提交
145 146
    '''ResNet34
    '''
L
lyuwenyu 已提交
147
    # pretrained = kwargs.pop('pretrained', False)
L
lyuwenyu 已提交
148 149 150 151 152 153

    model = _resnet.ResNet34(**kwargs)
    if pretrained:
        assert 'ResNet34' in _checkpoints, 'Not provide `ResNet34` pretrained model.'
        path = paddle.utils.download.get_weights_path_from_url(_checkpoints['ResNet34'])
        model.set_state_dict(paddle.load(path))
L
lyuwenyu 已提交
154

L
lyuwenyu 已提交
155
    return model
L
lyuwenyu 已提交
156 157


L
lyuwenyu 已提交
158
def ResNet50(pretrained=False, **kwargs):
L
lyuwenyu 已提交
159 160
    '''ResNet50
    '''
L
lyuwenyu 已提交
161
    # pretrained = kwargs.pop('pretrained', False)
L
lyuwenyu 已提交
162 163 164 165 166 167 168 169 170 171

    model = _resnet.ResNet50(**kwargs)
    if pretrained:
        assert 'ResNet50' in _checkpoints, 'Not provide `ResNet50` pretrained model.'
        path = paddle.utils.download.get_weights_path_from_url(_checkpoints['ResNet50'])
        model.set_state_dict(paddle.load(path))

    return model


L
lyuwenyu 已提交
172
def ResNet101(pretrained=False, **kwargs):
L
lyuwenyu 已提交
173 174
    '''ResNet101
    '''
L
lyuwenyu 已提交
175
    # pretrained = kwargs.pop('pretrained', False)
L
lyuwenyu 已提交
176 177 178 179 180 181 182 183 184 185

    model = _resnet.ResNet101(**kwargs)
    if pretrained:
        assert 'ResNet101' in _checkpoints, 'Not provide `ResNet101` pretrained model.'
        path = paddle.utils.download.get_weights_path_from_url(_checkpoints['ResNet101'])
        model.set_state_dict(paddle.load(path))

    return model


L
lyuwenyu 已提交
186
def ResNet152(pretrained=False, **kwargs):
L
lyuwenyu 已提交
187 188
    '''ResNet152
    '''
L
lyuwenyu 已提交
189
    # pretrained = kwargs.pop('pretrained', False)
L
lyuwenyu 已提交
190 191 192 193 194 195 196 197

    model = _resnet.ResNet152(**kwargs)
    if pretrained:
        assert 'ResNet152' in _checkpoints, 'Not provide `ResNet152` pretrained model.'
        path = paddle.utils.download.get_weights_path_from_url(_checkpoints['ResNet152'])
        model.set_state_dict(paddle.load(path))

    return model
L
lyuwenyu 已提交
198 199 200



L
lyuwenyu 已提交
201
def SqueezeNet1_0(pretrained=False, **kwargs):
L
lyuwenyu 已提交
202 203
    '''SqueezeNet1_0
    '''
L
lyuwenyu 已提交
204
    # pretrained = kwargs.pop('pretrained', False)
L
lyuwenyu 已提交
205 206 207 208 209 210 211 212 213 214

    model = _squeezenet.SqueezeNet1_0(**kwargs)
    if pretrained:
        assert 'SqueezeNet1_0' in _checkpoints, 'Not provide `SqueezeNet1_0` pretrained model.'
        path = paddle.utils.download.get_weights_path_from_url(_checkpoints['SqueezeNet1_0'])
        model.set_state_dict(paddle.load(path))

    return model


L
lyuwenyu 已提交
215
def SqueezeNet1_1(pretrained=False, **kwargs):
L
lyuwenyu 已提交
216 217
    '''SqueezeNet1_1
    '''
L
lyuwenyu 已提交
218
    # pretrained = kwargs.pop('pretrained', False)
L
lyuwenyu 已提交
219 220 221 222 223 224 225 226 227 228

    model = _squeezenet.SqueezeNet1_1(**kwargs)
    if pretrained:
        assert 'SqueezeNet1_1' in _checkpoints, 'Not provide `SqueezeNet1_1` pretrained model.'
        path = paddle.utils.download.get_weights_path_from_url(_checkpoints['SqueezeNet1_1'])
        model.set_state_dict(paddle.load(path))

    return model


L
lyuwenyu 已提交
229 230


L
lyuwenyu 已提交
231
def DenseNet121(pretrained=False, **kwargs):
L
lyuwenyu 已提交
232 233
    '''DenseNet121
    '''
L
lyuwenyu 已提交
234
    # pretrained = kwargs.pop('pretrained', False)
L
lyuwenyu 已提交
235 236 237 238 239 240 241 242 243 244

    model = _densenet.DenseNet121(**kwargs)
    if pretrained:
        assert 'DenseNet121' in _checkpoints, 'Not provide `DenseNet121` pretrained model.'
        path = paddle.utils.download.get_weights_path_from_url(_checkpoints['DenseNet121'])
        model.set_state_dict(paddle.load(path))

    return model


L
lyuwenyu 已提交
245
def DenseNet161(pretrained=False, **kwargs):
L
lyuwenyu 已提交
246 247
    '''DenseNet161
    '''
L
lyuwenyu 已提交
248
    # pretrained = kwargs.pop('pretrained', False)
L
lyuwenyu 已提交
249 250 251 252 253 254 255 256 257 258

    model = _densenet.DenseNet161(**kwargs)
    if pretrained:
        assert 'DenseNet161' in _checkpoints, 'Not provide `DenseNet161` pretrained model.'
        path = paddle.utils.download.get_weights_path_from_url(_checkpoints['DenseNet161'])
        model.set_state_dict(paddle.load(path))

    return model


L
lyuwenyu 已提交
259
def DenseNet169(pretrained=False, **kwargs):
L
lyuwenyu 已提交
260 261
    '''DenseNet169
    '''
L
lyuwenyu 已提交
262
    # pretrained = kwargs.pop('pretrained', False)
L
lyuwenyu 已提交
263 264 265 266 267 268 269 270 271 272

    model = _densenet.DenseNet169(**kwargs)
    if pretrained:
        assert 'DenseNet169' in _checkpoints, 'Not provide `DenseNet169` pretrained model.'
        path = paddle.utils.download.get_weights_path_from_url(_checkpoints['DenseNet169'])
        model.set_state_dict(paddle.load(path))

    return model


L
lyuwenyu 已提交
273
def DenseNet201(pretrained=False, **kwargs):
L
lyuwenyu 已提交
274 275
    '''DenseNet201
    '''
L
lyuwenyu 已提交
276
    # pretrained = kwargs.pop('pretrained', False)
L
lyuwenyu 已提交
277 278 279 280 281 282 283 284 285 286

    model = _densenet.DenseNet201(**kwargs)
    if pretrained:
        assert 'DenseNet201' in _checkpoints, 'Not provide `DenseNet201` pretrained model.'
        path = paddle.utils.download.get_weights_path_from_url(_checkpoints['DenseNet201'])
        model.set_state_dict(paddle.load(path))

    return model


L
lyuwenyu 已提交
287
def DenseNet264(pretrained=False, **kwargs):
L
lyuwenyu 已提交
288 289
    '''DenseNet264
    '''
L
lyuwenyu 已提交
290
    # pretrained = kwargs.pop('pretrained', False)
L
lyuwenyu 已提交
291 292 293 294 295 296 297 298 299 300

    model = _densenet.DenseNet264(**kwargs)
    if pretrained:
        assert 'DenseNet264' in _checkpoints, 'Not provide `DenseNet264` pretrained model.'
        path = paddle.utils.download.get_weights_path_from_url(_checkpoints['DenseNet264'])
        model.set_state_dict(paddle.load(path))

    return model


L
lyuwenyu 已提交
301

L
lyuwenyu 已提交
302
def InceptionV3(pretrained=False, **kwargs):
L
lyuwenyu 已提交
303 304
    '''InceptionV3
    '''
L
lyuwenyu 已提交
305
    # pretrained = kwargs.pop('pretrained', False)
L
lyuwenyu 已提交
306 307 308 309 310 311 312 313 314 315

    model = _inception_v3.InceptionV3(**kwargs)
    if pretrained:
        assert 'InceptionV3' in _checkpoints, 'Not provide `InceptionV3` pretrained model.'
        path = paddle.utils.download.get_weights_path_from_url(_checkpoints['InceptionV3'])
        model.set_state_dict(paddle.load(path))

    return model


L
lyuwenyu 已提交
316
def InceptionV4(pretrained=False, **kwargs):
L
lyuwenyu 已提交
317 318
    '''InceptionV4
    '''
L
lyuwenyu 已提交
319
    # pretrained = kwargs.pop('pretrained', False)
L
lyuwenyu 已提交
320 321 322 323 324 325 326

    model = _inception_v4.InceptionV4(**kwargs)
    if pretrained:
        assert 'InceptionV4' in _checkpoints, 'Not provide `InceptionV4` pretrained model.'
        path = paddle.utils.download.get_weights_path_from_url(_checkpoints['InceptionV4'])
        model.set_state_dict(paddle.load(path))

L
lyuwenyu 已提交
327 328 329 330
    return model



L
lyuwenyu 已提交
331
def GoogLeNet(pretrained=False, **kwargs):
L
lyuwenyu 已提交
332 333
    '''GoogLeNet
    '''
L
lyuwenyu 已提交
334
    # pretrained = kwargs.pop('pretrained', False)
L
lyuwenyu 已提交
335 336 337 338 339 340 341 342 343 344 345

    model = _googlenet.GoogLeNet(**kwargs)
    if pretrained:
        assert 'GoogLeNet' in _checkpoints, 'Not provide `GoogLeNet` pretrained model.'
        path = paddle.utils.download.get_weights_path_from_url(_checkpoints['GoogLeNet'])
        model.set_state_dict(paddle.load(path))

    return model



L
lyuwenyu 已提交
346
def ShuffleNet(pretrained=False, **kwargs):
L
lyuwenyu 已提交
347 348
    '''ShuffleNet
    '''
L
lyuwenyu 已提交
349
    # pretrained = kwargs.pop('pretrained', False)
L
lyuwenyu 已提交
350 351 352 353 354 355 356 357 358 359 360

    model = _shufflenet_v2.ShuffleNet(**kwargs)
    if pretrained:
        assert 'ShuffleNet' in _checkpoints, 'Not provide `ShuffleNet` pretrained model.'
        path = paddle.utils.download.get_weights_path_from_url(_checkpoints['ShuffleNet'])
        model.set_state_dict(paddle.load(path))

    return model



L
lyuwenyu 已提交
361
def MobileNetV1(pretrained=False, **kwargs):
L
lyuwenyu 已提交
362 363
    '''MobileNetV1
    '''
L
lyuwenyu 已提交
364
    # pretrained = kwargs.pop('pretrained', False)
L
lyuwenyu 已提交
365 366 367 368 369 370 371 372 373 374

    model = _mobilenet_v1.MobileNetV1(**kwargs)
    if pretrained:
        assert 'MobileNetV1' in _checkpoints, 'Not provide `MobileNetV1` pretrained model.'
        path = paddle.utils.download.get_weights_path_from_url(_checkpoints['MobileNetV1'])
        model.set_state_dict(paddle.load(path))

    return model


L
lyuwenyu 已提交
375
def MobileNetV1_x0_25(pretrained=False, **kwargs):
L
lyuwenyu 已提交
376 377
    '''MobileNetV1_x0_25
    '''
L
lyuwenyu 已提交
378
    # pretrained = kwargs.pop('pretrained', False)
L
lyuwenyu 已提交
379 380 381 382 383 384 385 386 387 388

    model = _mobilenet_v1.MobileNetV1_x0_25(**kwargs)
    if pretrained:
        assert 'MobileNetV1_x0_25' in _checkpoints, 'Not provide `MobileNetV1_x0_25` pretrained model.'
        path = paddle.utils.download.get_weights_path_from_url(_checkpoints['MobileNetV1_x0_25'])
        model.set_state_dict(paddle.load(path))

    return model


L
lyuwenyu 已提交
389
def MobileNetV1_x0_5(pretrained=False, **kwargs):
L
lyuwenyu 已提交
390 391
    '''MobileNetV1_x0_5
    '''
L
lyuwenyu 已提交
392
    # pretrained = kwargs.pop('pretrained', False)
L
lyuwenyu 已提交
393 394 395 396 397 398 399 400 401 402

    model = _mobilenet_v1.MobileNetV1_x0_5(**kwargs)
    if pretrained:
        assert 'MobileNetV1_x0_5' in _checkpoints, 'Not provide `MobileNetV1_x0_5` pretrained model.'
        path = paddle.utils.download.get_weights_path_from_url(_checkpoints['MobileNetV1_x0_5'])
        model.set_state_dict(paddle.load(path))

    return model


L
lyuwenyu 已提交
403
def MobileNetV1_x0_75(pretrained=False, **kwargs):
L
lyuwenyu 已提交
404 405
    '''MobileNetV1_x0_75
    '''
L
lyuwenyu 已提交
406
    # pretrained = kwargs.pop('pretrained', False)
L
lyuwenyu 已提交
407 408 409 410 411 412 413 414 415 416

    model = _mobilenet_v1.MobileNetV1_x0_75(**kwargs)
    if pretrained:
        assert 'MobileNetV1_x0_75' in _checkpoints, 'Not provide `MobileNetV1_x0_75` pretrained model.'
        path = paddle.utils.download.get_weights_path_from_url(_checkpoints['MobileNetV1_x0_75'])
        model.set_state_dict(paddle.load(path))

    return model


L
lyuwenyu 已提交
417
def MobileNetV2_x0_25(pretrained=False, **kwargs):
L
lyuwenyu 已提交
418 419
    '''MobileNetV2_x0_25
    '''
L
lyuwenyu 已提交
420
    # pretrained = kwargs.pop('pretrained', False)
L
lyuwenyu 已提交
421 422 423 424 425 426 427 428 429 430

    model = _mobilenet_v2.MobileNetV2_x0_25(**kwargs)
    if pretrained:
        assert 'MobileNetV2_x0_25' in _checkpoints, 'Not provide `MobileNetV2_x0_25` pretrained model.'
        path = paddle.utils.download.get_weights_path_from_url(_checkpoints['MobileNetV2_x0_25'])
        model.set_state_dict(paddle.load(path))

    return model


L
lyuwenyu 已提交
431
def MobileNetV2_x0_5(pretrained=False, **kwargs):
L
lyuwenyu 已提交
432 433
    '''MobileNetV2_x0_5
    '''
L
lyuwenyu 已提交
434
    # pretrained = kwargs.pop('pretrained', False)
L
lyuwenyu 已提交
435 436 437 438 439 440 441 442 443 444

    model = _mobilenet_v2.MobileNetV2_x0_5(**kwargs)
    if pretrained:
        assert 'MobileNetV2_x0_5' in _checkpoints, 'Not provide `MobileNetV2_x0_5` pretrained model.'
        path = paddle.utils.download.get_weights_path_from_url(_checkpoints['MobileNetV2_x0_5'])
        model.set_state_dict(paddle.load(path))

    return model


L
lyuwenyu 已提交
445
def MobileNetV2_x0_75(pretrained=False, **kwargs):
L
lyuwenyu 已提交
446 447
    '''MobileNetV2_x0_75
    '''
L
lyuwenyu 已提交
448
    # pretrained = kwargs.pop('pretrained', False)
L
lyuwenyu 已提交
449 450 451 452 453 454 455 456 457 458

    model = _mobilenet_v2.MobileNetV2_x0_75(**kwargs)
    if pretrained:
        assert 'MobileNetV2_x0_75' in _checkpoints, 'Not provide `MobileNetV2_x0_75` pretrained model.'
        path = paddle.utils.download.get_weights_path_from_url(_checkpoints['MobileNetV2_x0_75'])
        model.set_state_dict(paddle.load(path))

    return model


L
lyuwenyu 已提交
459
def MobileNetV2_x1_5(pretrained=False, **kwargs):
L
lyuwenyu 已提交
460 461
    '''MobileNetV2_x1_5
    '''
L
lyuwenyu 已提交
462
    # pretrained = kwargs.pop('pretrained', False)
L
lyuwenyu 已提交
463 464 465 466 467 468 469 470 471 472

    model = _mobilenet_v2.MobileNetV2_x1_5(**kwargs)
    if pretrained:
        assert 'MobileNetV2_x1_5' in _checkpoints, 'Not provide `MobileNetV2_x1_5` pretrained model.'
        path = paddle.utils.download.get_weights_path_from_url(_checkpoints['MobileNetV2_x1_5'])
        model.set_state_dict(paddle.load(path))

    return model


L
lyuwenyu 已提交
473
def MobileNetV2_x2_0(pretrained=False, **kwargs):
L
lyuwenyu 已提交
474 475
    '''MobileNetV2_x2_0
    '''
L
lyuwenyu 已提交
476
    # pretrained = kwargs.pop('pretrained', False)
L
lyuwenyu 已提交
477 478 479 480 481 482 483 484 485 486

    model = _mobilenet_v2.MobileNetV2_x2_0(**kwargs)
    if pretrained:
        assert 'MobileNetV2_x2_0' in _checkpoints, 'Not provide `MobileNetV2_x2_0` pretrained model.'
        path = paddle.utils.download.get_weights_path_from_url(_checkpoints['MobileNetV2_x2_0'])
        model.set_state_dict(paddle.load(path))

    return model


L
lyuwenyu 已提交
487
def MobileNetV3_large_x0_35(pretrained=False, **kwargs):
L
lyuwenyu 已提交
488 489
    '''MobileNetV3_large_x0_35
    '''
L
lyuwenyu 已提交
490
    # pretrained = kwargs.pop('pretrained', False)
L
lyuwenyu 已提交
491 492 493 494 495 496 497 498 499 500

    model = _mobilenet_v3.MobileNetV3_large_x0_35(**kwargs)
    if pretrained:
        assert 'MobileNetV3_large_x0_35' in _checkpoints, 'Not provide `MobileNetV3_large_x0_35` pretrained model.'
        path = paddle.utils.download.get_weights_path_from_url(_checkpoints['MobileNetV3_large_x0_35'])
        model.set_state_dict(paddle.load(path))

    return model


L
lyuwenyu 已提交
501
def MobileNetV3_large_x0_5(pretrained=False, **kwargs):
L
lyuwenyu 已提交
502 503
    '''MobileNetV3_large_x0_5
    '''
L
lyuwenyu 已提交
504
    # pretrained = kwargs.pop('pretrained', False)
L
lyuwenyu 已提交
505 506 507 508 509 510 511 512 513 514

    model = _mobilenet_v3.MobileNetV3_large_x0_5(**kwargs)
    if pretrained:
        assert 'MobileNetV3_large_x0_5' in _checkpoints, 'Not provide `MobileNetV3_large_x0_5` pretrained model.'
        path = paddle.utils.download.get_weights_path_from_url(_checkpoints['MobileNetV3_large_x0_5'])
        model.set_state_dict(paddle.load(path))

    return model


L
lyuwenyu 已提交
515
def MobileNetV3_large_x0_75(pretrained=False, **kwargs):
L
lyuwenyu 已提交
516 517
    '''MobileNetV3_large_x0_75
    '''
L
lyuwenyu 已提交
518
    # pretrained = kwargs.pop('pretrained', False)
L
lyuwenyu 已提交
519 520 521 522 523 524 525 526 527 528

    model = _mobilenet_v3.MobileNetV3_large_x0_75(**kwargs)
    if pretrained:
        assert 'MobileNetV3_large_x0_75' in _checkpoints, 'Not provide `MobileNetV3_large_x0_75` pretrained model.'
        path = paddle.utils.download.get_weights_path_from_url(_checkpoints['MobileNetV3_large_x0_75'])
        model.set_state_dict(paddle.load(path))

    return model


L
lyuwenyu 已提交
529
def MobileNetV3_large_x1_0(pretrained=False, **kwargs):
L
lyuwenyu 已提交
530 531
    '''MobileNetV3_large_x1_0
    '''
L
lyuwenyu 已提交
532
    # pretrained = kwargs.pop('pretrained', False)
L
lyuwenyu 已提交
533 534 535 536 537 538 539 540 541 542

    model = _mobilenet_v3.MobileNetV3_large_x1_0(**kwargs)
    if pretrained:
        assert 'MobileNetV3_large_x1_0' in _checkpoints, 'Not provide `MobileNetV3_large_x1_0` pretrained model.'
        path = paddle.utils.download.get_weights_path_from_url(_checkpoints['MobileNetV3_large_x1_0'])
        model.set_state_dict(paddle.load(path))

    return model


L
lyuwenyu 已提交
543
def MobileNetV3_large_x1_25(pretrained=False, **kwargs):
L
lyuwenyu 已提交
544 545
    '''MobileNetV3_large_x1_25
    '''
L
lyuwenyu 已提交
546
    # pretrained = kwargs.pop('pretrained', False)
L
lyuwenyu 已提交
547 548 549 550 551 552 553 554 555 556

    model = _mobilenet_v3.MobileNetV3_large_x1_25(**kwargs)
    if pretrained:
        assert 'MobileNetV3_large_x1_25' in _checkpoints, 'Not provide `MobileNetV3_large_x1_25` pretrained model.'
        path = paddle.utils.download.get_weights_path_from_url(_checkpoints['MobileNetV3_large_x1_25'])
        model.set_state_dict(paddle.load(path))

    return model


L
lyuwenyu 已提交
557
def MobileNetV3_small_x0_35(pretrained=False, **kwargs):
L
lyuwenyu 已提交
558 559
    '''MobileNetV3_small_x0_35
    '''
L
lyuwenyu 已提交
560
    # pretrained = kwargs.pop('pretrained', False)
L
lyuwenyu 已提交
561 562 563 564 565 566 567 568 569 570

    model = _mobilenet_v3.MobileNetV3_small_x0_35(**kwargs)
    if pretrained:
        assert 'MobileNetV3_small_x0_35' in _checkpoints, 'Not provide `MobileNetV3_small_x0_35` pretrained model.'
        path = paddle.utils.download.get_weights_path_from_url(_checkpoints['MobileNetV3_small_x0_35'])
        model.set_state_dict(paddle.load(path))

    return model


L
lyuwenyu 已提交
571
def MobileNetV3_small_x0_5(pretrained=False, **kwargs):
L
lyuwenyu 已提交
572 573
    '''MobileNetV3_small_x0_5
    '''
L
lyuwenyu 已提交
574
    # pretrained = kwargs.pop('pretrained', False)
L
lyuwenyu 已提交
575 576 577 578 579 580 581 582 583 584

    model = _mobilenet_v3.MobileNetV3_small_x0_5(**kwargs)
    if pretrained:
        assert 'MobileNetV3_small_x0_5' in _checkpoints, 'Not provide `MobileNetV3_small_x0_5` pretrained model.'
        path = paddle.utils.download.get_weights_path_from_url(_checkpoints['MobileNetV3_small_x0_5'])
        model.set_state_dict(paddle.load(path))

    return model


L
lyuwenyu 已提交
585
def MobileNetV3_small_x0_75(pretrained=False, **kwargs):
L
lyuwenyu 已提交
586 587
    '''MobileNetV3_small_x0_75
    '''
L
lyuwenyu 已提交
588
    # pretrained = kwargs.pop('pretrained', False)
L
lyuwenyu 已提交
589 590 591 592 593 594 595 596 597 598

    model = _mobilenet_v3.MobileNetV3_small_x0_75(**kwargs)
    if pretrained:
        assert 'MobileNetV3_small_x0_75' in _checkpoints, 'Not provide `MobileNetV3_small_x0_75` pretrained model.'
        path = paddle.utils.download.get_weights_path_from_url(_checkpoints['MobileNetV3_small_x0_75'])
        model.set_state_dict(paddle.load(path))

    return model


L
lyuwenyu 已提交
599
def MobileNetV3_small_x1_0(pretrained=False, **kwargs):
L
lyuwenyu 已提交
600 601
    '''MobileNetV3_small_x1_0
    '''
L
lyuwenyu 已提交
602
    # pretrained = kwargs.pop('pretrained', False)
L
lyuwenyu 已提交
603 604 605 606 607 608 609 610 611 612

    model = _mobilenet_v3.MobileNetV3_small_x1_0(**kwargs)
    if pretrained:
        assert 'MobileNetV3_small_x1_0' in _checkpoints, 'Not provide `MobileNetV3_small_x1_0` pretrained model.'
        path = paddle.utils.download.get_weights_path_from_url(_checkpoints['MobileNetV3_small_x1_0'])
        model.set_state_dict(paddle.load(path))

    return model


L
lyuwenyu 已提交
613
def MobileNetV3_small_x1_25(pretrained=False, **kwargs):
L
lyuwenyu 已提交
614 615
    '''MobileNetV3_small_x1_25
    '''
L
lyuwenyu 已提交
616
    # pretrained = kwargs.pop('pretrained', False)
L
lyuwenyu 已提交
617 618 619 620 621 622 623 624 625 626

    model = _mobilenet_v3.MobileNetV3_small_x1_25(**kwargs)
    if pretrained:
        assert 'MobileNetV3_small_x1_25' in _checkpoints, 'Not provide `MobileNetV3_small_x1_25` pretrained model.'
        path = paddle.utils.download.get_weights_path_from_url(_checkpoints['MobileNetV3_small_x1_25'])
        model.set_state_dict(paddle.load(path))

    return model


L
lyuwenyu 已提交
627

L
lyuwenyu 已提交
628
def ResNeXt101_32x4d(pretrained=False, **kwargs):
L
lyuwenyu 已提交
629 630
    '''ResNeXt101_32x4d
    '''
L
lyuwenyu 已提交
631
    # pretrained = kwargs.pop('pretrained', False)
L
lyuwenyu 已提交
632 633 634 635 636 637 638 639 640 641

    model = _resnext.ResNeXt101_32x4d(**kwargs)
    if pretrained:
        assert 'ResNeXt101_32x4d' in _checkpoints, 'Not provide `ResNeXt101_32x4d` pretrained model.'
        path = paddle.utils.download.get_weights_path_from_url(_checkpoints['ResNeXt101_32x4d'])
        model.set_state_dict(paddle.load(path))

    return model


L
lyuwenyu 已提交
642
def ResNeXt101_64x4d(pretrained=False, **kwargs):
L
lyuwenyu 已提交
643 644
    '''ResNeXt101_64x4d
    '''
L
lyuwenyu 已提交
645
    # pretrained = kwargs.pop('pretrained', False)
L
lyuwenyu 已提交
646 647 648 649 650 651 652 653 654 655

    model = _resnext.ResNeXt101_64x4d(**kwargs)
    if pretrained:
        assert 'ResNeXt101_64x4d' in _checkpoints, 'Not provide `ResNeXt101_64x4d` pretrained model.'
        path = paddle.utils.download.get_weights_path_from_url(_checkpoints['ResNeXt101_64x4d'])
        model.set_state_dict(paddle.load(path))

    return model


L
lyuwenyu 已提交
656
def ResNeXt152_32x4d(pretrained=False, **kwargs):
L
lyuwenyu 已提交
657 658
    '''ResNeXt152_32x4d
    '''
L
lyuwenyu 已提交
659
    # pretrained = kwargs.pop('pretrained', False)
L
lyuwenyu 已提交
660 661 662 663 664 665 666 667 668 669

    model = _resnext.ResNeXt152_32x4d(**kwargs)
    if pretrained:
        assert 'ResNeXt152_32x4d' in _checkpoints, 'Not provide `ResNeXt152_32x4d` pretrained model.'
        path = paddle.utils.download.get_weights_path_from_url(_checkpoints['ResNeXt152_32x4d'])
        model.set_state_dict(paddle.load(path))

    return model


L
lyuwenyu 已提交
670
def ResNeXt152_64x4d(pretrained=False, **kwargs):
L
lyuwenyu 已提交
671 672
    '''ResNeXt152_64x4d
    '''
L
lyuwenyu 已提交
673
    # pretrained = kwargs.pop('pretrained', False)
L
lyuwenyu 已提交
674 675 676 677 678 679 680 681 682 683

    model = _resnext.ResNeXt152_64x4d(**kwargs)
    if pretrained:
        assert 'ResNeXt152_64x4d' in _checkpoints, 'Not provide `ResNeXt152_64x4d` pretrained model.'
        path = paddle.utils.download.get_weights_path_from_url(_checkpoints['ResNeXt152_64x4d'])
        model.set_state_dict(paddle.load(path))

    return model


L
lyuwenyu 已提交
684
def ResNeXt50_32x4d(pretrained=False, **kwargs):
L
lyuwenyu 已提交
685 686
    '''ResNeXt50_32x4d
    '''
L
lyuwenyu 已提交
687
    # pretrained = kwargs.pop('pretrained', False)
L
lyuwenyu 已提交
688 689 690 691 692 693 694 695 696 697

    model = _resnext.ResNeXt50_32x4d(**kwargs)
    if pretrained:
        assert 'ResNeXt50_32x4d' in _checkpoints, 'Not provide `ResNeXt50_32x4d` pretrained model.'
        path = paddle.utils.download.get_weights_path_from_url(_checkpoints['ResNeXt50_32x4d'])
        model.set_state_dict(paddle.load(path))

    return model


L
lyuwenyu 已提交
698
def ResNeXt50_64x4d(pretrained=False, **kwargs):
L
lyuwenyu 已提交
699 700
    '''ResNeXt50_64x4d
    '''
L
lyuwenyu 已提交
701
    # pretrained = kwargs.pop('pretrained', False)
L
lyuwenyu 已提交
702 703 704 705 706 707 708 709

    model = _resnext.ResNeXt50_64x4d(**kwargs)
    if pretrained:
        assert 'ResNeXt50_64x4d' in _checkpoints, 'Not provide `ResNeXt50_64x4d` pretrained model.'
        path = paddle.utils.download.get_weights_path_from_url(_checkpoints['ResNeXt50_64x4d'])
        model.set_state_dict(paddle.load(path))

    return model