__init__.py 4.3 KB

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