__init__.py 4.3 KB

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