__init__.py 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
  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. from .hrnet import HRNet
  26. def resnet18(input, num_classes=1000):
  27. model = ResNet(layers=18, num_classes=num_classes)
  28. return model(input)
  29. def resnet34(input, num_classes=1000):
  30. model = ResNet(layers=34, num_classes=num_classes)
  31. return model(input)
  32. def resnet50(input, num_classes=1000):
  33. model = ResNet(layers=50, num_classes=num_classes)
  34. return model(input)
  35. def resnet101(input, num_classes=1000):
  36. model = ResNet(layers=101, num_classes=num_classes)
  37. return model(input)
  38. def resnet50_vd(input, num_classes=1000):
  39. model = ResNet(layers=50, num_classes=num_classes, variant='d')
  40. return model(input)
  41. def resnet50_vd_ssld(input, num_classes=1000):
  42. model = ResNet(
  43. layers=50,
  44. num_classes=num_classes,
  45. variant='d',
  46. lr_mult_list=[1.0, 0.1, 0.2, 0.2, 0.3])
  47. return model(input)
  48. def resnet101_vd_ssld(input, num_classes=1000):
  49. model = ResNet(
  50. layers=101,
  51. num_classes=num_classes,
  52. variant='d',
  53. lr_mult_list=[1.0, 0.1, 0.2, 0.2, 0.3])
  54. return model(input)
  55. def resnet101_vd(input, num_classes=1000):
  56. model = ResNet(layers=101, num_classes=num_classes, variant='d')
  57. return model(input)
  58. def darknet53(input, num_classes=1000):
  59. model = DarkNet(depth=53, num_classes=num_classes, bn_act='relu')
  60. return model(input)
  61. def mobilenetv1(input, num_classes=1000):
  62. model = MobileNetV1(num_classes=num_classes)
  63. return model(input)
  64. def mobilenetv2(input, num_classes=1000):
  65. model = MobileNetV2(num_classes=num_classes)
  66. return model(input)
  67. def mobilenetv3_small(input, num_classes=1000):
  68. model = MobileNetV3(num_classes=num_classes, model_name='small')
  69. return model(input)
  70. def mobilenetv3_large(input, num_classes=1000):
  71. model = MobileNetV3(num_classes=num_classes, model_name='large')
  72. return model(input)
  73. def mobilenetv3_small_ssld(input, num_classes=1000):
  74. model = MobileNetV3(
  75. num_classes=num_classes,
  76. model_name='small',
  77. lr_mult_list=[0.25, 0.25, 0.5, 0.5, 0.75])
  78. return model(input)
  79. def mobilenetv3_large_ssld(input, num_classes=1000):
  80. model = MobileNetV3(
  81. num_classes=num_classes,
  82. model_name='large',
  83. lr_mult_list=[0.25, 0.25, 0.5, 0.5, 0.75])
  84. return model(input)
  85. def xception65(input, num_classes=1000):
  86. model = Xception(layers=65, num_classes=num_classes)
  87. return model(input)
  88. def xception71(input, num_classes=1000):
  89. model = Xception(layers=71, num_classes=num_classes)
  90. return model(input)
  91. def xception41(input, num_classes=1000):
  92. model = Xception(layers=41, num_classes=num_classes)
  93. return model(input)
  94. def densenet121(input, num_classes=1000):
  95. model = DenseNet(layers=121, num_classes=num_classes)
  96. return model(input)
  97. def densenet161(input, num_classes=1000):
  98. model = DenseNet(layers=161, num_classes=num_classes)
  99. return model(input)
  100. def densenet201(input, num_classes=1000):
  101. model = DenseNet(layers=201, num_classes=num_classes)
  102. return model(input)
  103. def shufflenetv2(input, num_classes=1000):
  104. model = ShuffleNetV2(num_classes=num_classes)
  105. return model(input)
  106. def hrnet_w18(input, num_classes=1000):
  107. model = HRNet(width=18, num_classes=num_classes)
  108. return model(input)