__init__.py 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138
  1. # copyright (c) 2020 PaddlePaddle Authors. All Rights Reserve.
  2. #
  3. # Licensed under the Apache License, Version 2.0 (the "License");
  4. # you may not use this file except in compliance with the License.
  5. # You may obtain a copy of the License at
  6. #
  7. # http://www.apache.org/licenses/LICENSE-2.0
  8. #
  9. # Unless required by applicable law or agreed to in writing, software
  10. # distributed under the License is distributed on an "AS IS" BASIS,
  11. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  12. # See the License for the specific language governing permissions and
  13. # limitations under the License.
  14. from .resnet import ResNet
  15. from .darknet import DarkNet
  16. from .detection import FasterRCNN
  17. from .mobilenet_v1 import MobileNetV1
  18. from .mobilenet_v2 import MobileNetV2
  19. from .mobilenet_v3 import MobileNetV3
  20. from .segmentation import UNet
  21. from .segmentation import DeepLabv3p
  22. from .xception import Xception
  23. from .densenet import DenseNet
  24. from .shufflenet_v2 import ShuffleNetV2
  25. def resnet18(input, num_classes=1000):
  26. model = ResNet(layers=18, num_classes=num_classes)
  27. return model(input)
  28. def resnet34(input, num_classes=1000):
  29. model = ResNet(layers=34, num_classes=num_classes)
  30. return model(input)
  31. def resnet50(input, num_classes=1000):
  32. model = ResNet(layers=50, num_classes=num_classes)
  33. return model(input)
  34. def resnet101(input, num_classes=1000):
  35. model = ResNet(layers=101, num_classes=num_classes)
  36. return model(input)
  37. def resnet50_vd(input, num_classes=1000):
  38. model = ResNet(layers=50, num_classes=num_classes, variant='d')
  39. return model(input)
  40. def resnet50_vd_ssld(input, num_classes=1000):
  41. model = ResNet(layers=50, num_classes=num_classes,
  42. variant='d', lr_mult_list=[1.0, 0.1, 0.2, 0.2, 0.3])
  43. return model(input)
  44. def resnet101_vd_ssld(input, num_classes=1000):
  45. model = ResNet(layers=101, num_classes=num_classes,
  46. variant='d', lr_mult_list=[1.0, 0.1, 0.2, 0.2, 0.3])
  47. return model(input)
  48. def resnet101_vd(input, num_classes=1000):
  49. model = ResNet(layers=101, num_classes=num_classes, variant='d')
  50. return model(input)
  51. def darknet53(input, num_classes=1000):
  52. model = DarkNet(depth=53, num_classes=num_classes, bn_act='relu')
  53. return model(input)
  54. def mobilenetv1(input, num_classes=1000):
  55. model = MobileNetV1(num_classes=num_classes)
  56. return model(input)
  57. def mobilenetv2(input, num_classes=1000):
  58. model = MobileNetV2(num_classes=num_classes)
  59. return model(input)
  60. def mobilenetv3_small(input, num_classes=1000):
  61. model = MobileNetV3(num_classes=num_classes, model_name='small')
  62. return model(input)
  63. def mobilenetv3_large(input, num_classes=1000):
  64. model = MobileNetV3(num_classes=num_classes, model_name='large')
  65. return model(input)
  66. def mobilenetv3_small_ssld(input, num_classes=1000):
  67. model = MobileNetV3(num_classes=num_classes, model_name='small',
  68. lr_mult_list=[0.25, 0.25, 0.5, 0.5, 0.75])
  69. return model(input)
  70. def mobilenetv3_large_ssld(input, num_classes=1000):
  71. model = MobileNetV3(num_classes=num_classes, model_name='large',
  72. lr_mult_list=[0.25, 0.25, 0.5, 0.5, 0.75])
  73. return model(input)
  74. def xception65(input, num_classes=1000):
  75. model = Xception(layers=65, num_classes=num_classes)
  76. return model(input)
  77. def xception71(input, num_classes=1000):
  78. model = Xception(layers=71, num_classes=num_classes)
  79. return model(input)
  80. def xception41(input, num_classes=1000):
  81. model = Xception(layers=41, num_classes=num_classes)
  82. return model(input)
  83. def densenet121(input, num_classes=1000):
  84. model = DenseNet(layers=121, num_classes=num_classes)
  85. return model(input)
  86. def densenet161(input, num_classes=1000):
  87. model = DenseNet(layers=161, num_classes=num_classes)
  88. return model(input)
  89. def densenet201(input, num_classes=1000):
  90. model = DenseNet(layers=201, num_classes=num_classes)
  91. return model(input)
  92. def shufflenetv2(input, num_classes=1000):
  93. model = ShuffleNetV2(num_classes=num_classes)
  94. return model(input)