paddlex 2.0.0rc4__py3-none-any.whl → 3.0.0b2__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1087) hide show
  1. paddlex/.version +1 -0
  2. paddlex/__init__.py +51 -18
  3. paddlex/__main__.py +40 -0
  4. paddlex/configs/anomaly_detection/STFPM.yaml +41 -0
  5. paddlex/configs/doc_text_orientation/PP-LCNet_x1_0_doc_ori.yaml +41 -0
  6. paddlex/configs/face_detection/BlazeFace-FPN-SSH.yaml +40 -0
  7. paddlex/configs/face_detection/BlazeFace.yaml +40 -0
  8. paddlex/configs/face_detection/PP-YOLOE_plus-S_face.yaml +40 -0
  9. paddlex/configs/face_detection/PicoDet_LCNet_x2_5_face.yaml +40 -0
  10. paddlex/configs/face_recognition/MobileFaceNet.yaml +44 -0
  11. paddlex/configs/face_recognition/ResNet50_face.yaml +44 -0
  12. paddlex/configs/formula_recognition/LaTeX_OCR_rec.yaml +40 -0
  13. paddlex/configs/general_recognition/PP-ShiTuV2_rec.yaml +42 -0
  14. paddlex/configs/general_recognition/PP-ShiTuV2_rec_CLIP_vit_base.yaml +42 -0
  15. paddlex/configs/general_recognition/PP-ShiTuV2_rec_CLIP_vit_large.yaml +41 -0
  16. paddlex/configs/human_detection/PP-YOLOE-L_human.yaml +42 -0
  17. paddlex/configs/human_detection/PP-YOLOE-S_human.yaml +42 -0
  18. paddlex/configs/image_classification/CLIP_vit_base_patch16_224.yaml +41 -0
  19. paddlex/configs/image_classification/CLIP_vit_large_patch14_224.yaml +41 -0
  20. paddlex/configs/image_classification/ConvNeXt_base_224.yaml +41 -0
  21. paddlex/configs/image_classification/ConvNeXt_base_384.yaml +41 -0
  22. paddlex/configs/image_classification/ConvNeXt_large_224.yaml +41 -0
  23. paddlex/configs/image_classification/ConvNeXt_large_384.yaml +41 -0
  24. paddlex/configs/image_classification/ConvNeXt_small.yaml +41 -0
  25. paddlex/configs/image_classification/ConvNeXt_tiny.yaml +41 -0
  26. paddlex/configs/image_classification/FasterNet-L.yaml +40 -0
  27. paddlex/configs/image_classification/FasterNet-M.yaml +40 -0
  28. paddlex/configs/image_classification/FasterNet-S.yaml +40 -0
  29. paddlex/configs/image_classification/FasterNet-T0.yaml +40 -0
  30. paddlex/configs/image_classification/FasterNet-T1.yaml +40 -0
  31. paddlex/configs/image_classification/FasterNet-T2.yaml +40 -0
  32. paddlex/configs/image_classification/MobileNetV1_x0_25.yaml +41 -0
  33. paddlex/configs/image_classification/MobileNetV1_x0_5.yaml +41 -0
  34. paddlex/configs/image_classification/MobileNetV1_x0_75.yaml +41 -0
  35. paddlex/configs/image_classification/MobileNetV1_x1_0.yaml +41 -0
  36. paddlex/configs/image_classification/MobileNetV2_x0_25.yaml +41 -0
  37. paddlex/configs/image_classification/MobileNetV2_x0_5.yaml +41 -0
  38. paddlex/configs/image_classification/MobileNetV2_x1_0.yaml +41 -0
  39. paddlex/configs/image_classification/MobileNetV2_x1_5.yaml +41 -0
  40. paddlex/configs/image_classification/MobileNetV2_x2_0.yaml +41 -0
  41. paddlex/configs/image_classification/MobileNetV3_large_x0_35.yaml +41 -0
  42. paddlex/configs/image_classification/MobileNetV3_large_x0_5.yaml +41 -0
  43. paddlex/configs/image_classification/MobileNetV3_large_x0_75.yaml +41 -0
  44. paddlex/configs/image_classification/MobileNetV3_large_x1_0.yaml +41 -0
  45. paddlex/configs/image_classification/MobileNetV3_large_x1_25.yaml +41 -0
  46. paddlex/configs/image_classification/MobileNetV3_small_x0_35.yaml +41 -0
  47. paddlex/configs/image_classification/MobileNetV3_small_x0_5.yaml +41 -0
  48. paddlex/configs/image_classification/MobileNetV3_small_x0_75.yaml +41 -0
  49. paddlex/configs/image_classification/MobileNetV3_small_x1_0.yaml +41 -0
  50. paddlex/configs/image_classification/MobileNetV3_small_x1_25.yaml +41 -0
  51. paddlex/configs/image_classification/MobileNetV4_conv_large.yaml +41 -0
  52. paddlex/configs/image_classification/MobileNetV4_conv_medium.yaml +41 -0
  53. paddlex/configs/image_classification/MobileNetV4_conv_small.yaml +41 -0
  54. paddlex/configs/image_classification/MobileNetV4_hybrid_large.yaml +41 -0
  55. paddlex/configs/image_classification/MobileNetV4_hybrid_medium.yaml +41 -0
  56. paddlex/configs/image_classification/PP-HGNetV2-B0.yaml +41 -0
  57. paddlex/configs/image_classification/PP-HGNetV2-B1.yaml +41 -0
  58. paddlex/configs/image_classification/PP-HGNetV2-B2.yaml +41 -0
  59. paddlex/configs/image_classification/PP-HGNetV2-B3.yaml +41 -0
  60. paddlex/configs/image_classification/PP-HGNetV2-B4.yaml +41 -0
  61. paddlex/configs/image_classification/PP-HGNetV2-B5.yaml +41 -0
  62. paddlex/configs/image_classification/PP-HGNetV2-B6.yaml +41 -0
  63. paddlex/configs/image_classification/PP-HGNet_base.yaml +41 -0
  64. paddlex/configs/image_classification/PP-HGNet_small.yaml +41 -0
  65. paddlex/configs/image_classification/PP-HGNet_tiny.yaml +41 -0
  66. paddlex/configs/image_classification/PP-LCNetV2_base.yaml +41 -0
  67. paddlex/configs/image_classification/PP-LCNetV2_large.yaml +41 -0
  68. paddlex/configs/image_classification/PP-LCNetV2_small.yaml +41 -0
  69. paddlex/configs/image_classification/PP-LCNet_x0_25.yaml +41 -0
  70. paddlex/configs/image_classification/PP-LCNet_x0_35.yaml +41 -0
  71. paddlex/configs/image_classification/PP-LCNet_x0_5.yaml +41 -0
  72. paddlex/configs/image_classification/PP-LCNet_x0_75.yaml +41 -0
  73. paddlex/configs/image_classification/PP-LCNet_x1_0.yaml +41 -0
  74. paddlex/configs/image_classification/PP-LCNet_x1_5.yaml +41 -0
  75. paddlex/configs/image_classification/PP-LCNet_x2_0.yaml +41 -0
  76. paddlex/configs/image_classification/PP-LCNet_x2_5.yaml +41 -0
  77. paddlex/configs/image_classification/ResNet101.yaml +41 -0
  78. paddlex/configs/image_classification/ResNet101_vd.yaml +41 -0
  79. paddlex/configs/image_classification/ResNet152.yaml +41 -0
  80. paddlex/configs/image_classification/ResNet152_vd.yaml +41 -0
  81. paddlex/configs/image_classification/ResNet18.yaml +41 -0
  82. paddlex/configs/image_classification/ResNet18_vd.yaml +41 -0
  83. paddlex/configs/image_classification/ResNet200_vd.yaml +41 -0
  84. paddlex/configs/image_classification/ResNet34.yaml +41 -0
  85. paddlex/configs/image_classification/ResNet34_vd.yaml +41 -0
  86. paddlex/configs/image_classification/ResNet50.yaml +41 -0
  87. paddlex/configs/image_classification/ResNet50_vd.yaml +41 -0
  88. paddlex/configs/image_classification/StarNet-S1.yaml +41 -0
  89. paddlex/configs/image_classification/StarNet-S2.yaml +41 -0
  90. paddlex/configs/image_classification/StarNet-S3.yaml +41 -0
  91. paddlex/configs/image_classification/StarNet-S4.yaml +41 -0
  92. paddlex/configs/image_classification/SwinTransformer_base_patch4_window12_384.yaml +41 -0
  93. paddlex/configs/image_classification/SwinTransformer_base_patch4_window7_224.yaml +41 -0
  94. paddlex/configs/image_classification/SwinTransformer_large_patch4_window12_384.yaml +41 -0
  95. paddlex/configs/image_classification/SwinTransformer_large_patch4_window7_224.yaml +41 -0
  96. paddlex/configs/image_classification/SwinTransformer_small_patch4_window7_224.yaml +41 -0
  97. paddlex/configs/image_classification/SwinTransformer_tiny_patch4_window7_224.yaml +41 -0
  98. paddlex/configs/image_unwarping/UVDoc.yaml +12 -0
  99. paddlex/configs/instance_segmentation/Cascade-MaskRCNN-ResNet50-FPN.yaml +40 -0
  100. paddlex/configs/instance_segmentation/Cascade-MaskRCNN-ResNet50-vd-SSLDv2-FPN.yaml +40 -0
  101. paddlex/configs/instance_segmentation/Mask-RT-DETR-H.yaml +40 -0
  102. paddlex/configs/instance_segmentation/Mask-RT-DETR-L.yaml +40 -0
  103. paddlex/configs/instance_segmentation/Mask-RT-DETR-M.yaml +40 -0
  104. paddlex/configs/instance_segmentation/Mask-RT-DETR-S.yaml +40 -0
  105. paddlex/configs/instance_segmentation/Mask-RT-DETR-X.yaml +40 -0
  106. paddlex/configs/instance_segmentation/MaskRCNN-ResNeXt101-vd-FPN.yaml +39 -0
  107. paddlex/configs/instance_segmentation/MaskRCNN-ResNet101-FPN.yaml +40 -0
  108. paddlex/configs/instance_segmentation/MaskRCNN-ResNet101-vd-FPN.yaml +40 -0
  109. paddlex/configs/instance_segmentation/MaskRCNN-ResNet50-FPN.yaml +40 -0
  110. paddlex/configs/instance_segmentation/MaskRCNN-ResNet50-vd-FPN.yaml +40 -0
  111. paddlex/configs/instance_segmentation/MaskRCNN-ResNet50.yaml +40 -0
  112. paddlex/configs/instance_segmentation/PP-YOLOE_seg-S.yaml +40 -0
  113. paddlex/configs/instance_segmentation/SOLOv2.yaml +40 -0
  114. paddlex/configs/mainbody_detection/PP-ShiTuV2_det.yaml +41 -0
  115. paddlex/configs/multilabel_classification/CLIP_vit_base_patch16_448_ML.yaml +41 -0
  116. paddlex/configs/multilabel_classification/PP-HGNetV2-B0_ML.yaml +41 -0
  117. paddlex/configs/multilabel_classification/PP-HGNetV2-B4_ML.yaml +41 -0
  118. paddlex/configs/multilabel_classification/PP-HGNetV2-B6_ML.yaml +41 -0
  119. paddlex/configs/multilabel_classification/PP-LCNet_x1_0_ML.yaml +41 -0
  120. paddlex/configs/multilabel_classification/ResNet50_ML.yaml +41 -0
  121. paddlex/configs/object_detection/Cascade-FasterRCNN-ResNet50-FPN.yaml +41 -0
  122. paddlex/configs/object_detection/Cascade-FasterRCNN-ResNet50-vd-SSLDv2-FPN.yaml +42 -0
  123. paddlex/configs/object_detection/CenterNet-DLA-34.yaml +41 -0
  124. paddlex/configs/object_detection/CenterNet-ResNet50.yaml +41 -0
  125. paddlex/configs/object_detection/DETR-R50.yaml +42 -0
  126. paddlex/configs/object_detection/FCOS-ResNet50.yaml +41 -0
  127. paddlex/configs/object_detection/FasterRCNN-ResNeXt101-vd-FPN.yaml +42 -0
  128. paddlex/configs/object_detection/FasterRCNN-ResNet101-FPN.yaml +42 -0
  129. paddlex/configs/object_detection/FasterRCNN-ResNet101.yaml +42 -0
  130. paddlex/configs/object_detection/FasterRCNN-ResNet34-FPN.yaml +42 -0
  131. paddlex/configs/object_detection/FasterRCNN-ResNet50-FPN.yaml +42 -0
  132. paddlex/configs/object_detection/FasterRCNN-ResNet50-vd-FPN.yaml +42 -0
  133. paddlex/configs/object_detection/FasterRCNN-ResNet50-vd-SSLDv2-FPN.yaml +42 -0
  134. paddlex/configs/object_detection/FasterRCNN-ResNet50.yaml +42 -0
  135. paddlex/configs/object_detection/FasterRCNN-Swin-Tiny-FPN.yaml +42 -0
  136. paddlex/configs/object_detection/PP-YOLOE_plus-L.yaml +40 -0
  137. paddlex/configs/object_detection/PP-YOLOE_plus-M.yaml +40 -0
  138. paddlex/configs/object_detection/PP-YOLOE_plus-S.yaml +40 -0
  139. paddlex/configs/object_detection/PP-YOLOE_plus-X.yaml +40 -0
  140. paddlex/configs/object_detection/PicoDet-L.yaml +40 -0
  141. paddlex/configs/object_detection/PicoDet-M.yaml +42 -0
  142. paddlex/configs/object_detection/PicoDet-S.yaml +40 -0
  143. paddlex/configs/object_detection/PicoDet-XS.yaml +42 -0
  144. paddlex/configs/object_detection/RT-DETR-H.yaml +40 -0
  145. paddlex/configs/object_detection/RT-DETR-L.yaml +40 -0
  146. paddlex/configs/object_detection/RT-DETR-R18.yaml +40 -0
  147. paddlex/configs/object_detection/RT-DETR-R50.yaml +40 -0
  148. paddlex/configs/object_detection/RT-DETR-X.yaml +40 -0
  149. paddlex/configs/object_detection/YOLOX-L.yaml +40 -0
  150. paddlex/configs/object_detection/YOLOX-M.yaml +40 -0
  151. paddlex/configs/object_detection/YOLOX-N.yaml +40 -0
  152. paddlex/configs/object_detection/YOLOX-S.yaml +40 -0
  153. paddlex/configs/object_detection/YOLOX-T.yaml +40 -0
  154. paddlex/configs/object_detection/YOLOX-X.yaml +40 -0
  155. paddlex/configs/object_detection/YOLOv3-DarkNet53.yaml +40 -0
  156. paddlex/configs/object_detection/YOLOv3-MobileNetV3.yaml +40 -0
  157. paddlex/configs/object_detection/YOLOv3-ResNet50_vd_DCN.yaml +40 -0
  158. paddlex/configs/pedestrian_attribute/PP-LCNet_x1_0_pedestrian_attribute.yaml +41 -0
  159. paddlex/configs/semantic_segmentation/Deeplabv3-R101.yaml +40 -0
  160. paddlex/configs/semantic_segmentation/Deeplabv3-R50.yaml +40 -0
  161. paddlex/configs/semantic_segmentation/Deeplabv3_Plus-R101.yaml +40 -0
  162. paddlex/configs/semantic_segmentation/Deeplabv3_Plus-R50.yaml +40 -0
  163. paddlex/configs/semantic_segmentation/OCRNet_HRNet-W18.yaml +40 -0
  164. paddlex/configs/semantic_segmentation/OCRNet_HRNet-W48.yaml +40 -0
  165. paddlex/configs/semantic_segmentation/PP-LiteSeg-B.yaml +41 -0
  166. paddlex/configs/semantic_segmentation/PP-LiteSeg-T.yaml +40 -0
  167. paddlex/configs/semantic_segmentation/SeaFormer_base.yaml +40 -0
  168. paddlex/configs/semantic_segmentation/SeaFormer_large.yaml +40 -0
  169. paddlex/configs/semantic_segmentation/SeaFormer_small.yaml +40 -0
  170. paddlex/configs/semantic_segmentation/SeaFormer_tiny.yaml +40 -0
  171. paddlex/configs/semantic_segmentation/SegFormer-B0.yaml +40 -0
  172. paddlex/configs/semantic_segmentation/SegFormer-B1.yaml +40 -0
  173. paddlex/configs/semantic_segmentation/SegFormer-B2.yaml +40 -0
  174. paddlex/configs/semantic_segmentation/SegFormer-B3.yaml +40 -0
  175. paddlex/configs/semantic_segmentation/SegFormer-B4.yaml +40 -0
  176. paddlex/configs/semantic_segmentation/SegFormer-B5.yaml +40 -0
  177. paddlex/configs/small_object_detection/PP-YOLOE_plus_SOD-L.yaml +42 -0
  178. paddlex/configs/small_object_detection/PP-YOLOE_plus_SOD-S.yaml +42 -0
  179. paddlex/configs/small_object_detection/PP-YOLOE_plus_SOD-largesize-L.yaml +42 -0
  180. paddlex/configs/structure_analysis/PicoDet-L_layout_17cls.yaml +40 -0
  181. paddlex/configs/structure_analysis/PicoDet-L_layout_3cls.yaml +40 -0
  182. paddlex/configs/structure_analysis/PicoDet-S_layout_17cls.yaml +40 -0
  183. paddlex/configs/structure_analysis/PicoDet-S_layout_3cls.yaml +40 -0
  184. paddlex/configs/structure_analysis/PicoDet_layout_1x.yaml +40 -0
  185. paddlex/configs/structure_analysis/PicoDet_layout_1x_table.yaml +40 -0
  186. paddlex/configs/structure_analysis/RT-DETR-H_layout_17cls.yaml +40 -0
  187. paddlex/configs/structure_analysis/RT-DETR-H_layout_3cls.yaml +40 -0
  188. paddlex/configs/table_recognition/SLANet.yaml +39 -0
  189. paddlex/configs/table_recognition/SLANet_plus.yaml +39 -0
  190. paddlex/configs/text_detection/PP-OCRv4_mobile_det.yaml +40 -0
  191. paddlex/configs/text_detection/PP-OCRv4_server_det.yaml +40 -0
  192. paddlex/configs/text_detection_seal/PP-OCRv4_mobile_seal_det.yaml +40 -0
  193. paddlex/configs/text_detection_seal/PP-OCRv4_server_seal_det.yaml +40 -0
  194. paddlex/configs/text_recognition/PP-OCRv4_mobile_rec.yaml +39 -0
  195. paddlex/configs/text_recognition/PP-OCRv4_server_rec.yaml +39 -0
  196. paddlex/configs/text_recognition/ch_RepSVTR_rec.yaml +39 -0
  197. paddlex/configs/text_recognition/ch_SVTRv2_rec.yaml +39 -0
  198. paddlex/configs/ts_anomaly_detection/AutoEncoder_ad.yaml +37 -0
  199. paddlex/configs/ts_anomaly_detection/DLinear_ad.yaml +37 -0
  200. paddlex/configs/ts_anomaly_detection/Nonstationary_ad.yaml +37 -0
  201. paddlex/configs/ts_anomaly_detection/PatchTST_ad.yaml +37 -0
  202. paddlex/configs/ts_anomaly_detection/TimesNet_ad.yaml +37 -0
  203. paddlex/configs/ts_classification/TimesNet_cls.yaml +37 -0
  204. paddlex/configs/ts_forecast/DLinear.yaml +38 -0
  205. paddlex/configs/ts_forecast/NLinear.yaml +38 -0
  206. paddlex/configs/ts_forecast/Nonstationary.yaml +38 -0
  207. paddlex/configs/ts_forecast/PatchTST.yaml +38 -0
  208. paddlex/configs/ts_forecast/RLinear.yaml +38 -0
  209. paddlex/configs/ts_forecast/TiDE.yaml +38 -0
  210. paddlex/configs/ts_forecast/TimesNet.yaml +38 -0
  211. paddlex/configs/vehicle_attribute/PP-LCNet_x1_0_vehicle_attribute.yaml +41 -0
  212. paddlex/configs/vehicle_detection/PP-YOLOE-L_vehicle.yaml +41 -0
  213. paddlex/configs/vehicle_detection/PP-YOLOE-S_vehicle.yaml +42 -0
  214. paddlex/engine.py +54 -0
  215. paddlex/inference/__init__.py +17 -0
  216. paddlex/inference/components/__init__.py +18 -0
  217. paddlex/inference/components/base.py +292 -0
  218. paddlex/inference/components/llm/__init__.py +25 -0
  219. paddlex/inference/components/llm/base.py +65 -0
  220. paddlex/inference/components/llm/erniebot.py +212 -0
  221. paddlex/inference/components/paddle_predictor/__init__.py +20 -0
  222. paddlex/inference/components/paddle_predictor/predictor.py +332 -0
  223. paddlex/inference/components/retrieval/__init__.py +15 -0
  224. paddlex/inference/components/retrieval/faiss.py +359 -0
  225. paddlex/inference/components/task_related/__init__.py +33 -0
  226. paddlex/inference/components/task_related/clas.py +124 -0
  227. paddlex/inference/components/task_related/det.py +284 -0
  228. paddlex/inference/components/task_related/instance_seg.py +89 -0
  229. paddlex/inference/components/task_related/seal_det_warp.py +940 -0
  230. paddlex/inference/components/task_related/seg.py +40 -0
  231. paddlex/inference/components/task_related/table_rec.py +191 -0
  232. paddlex/inference/components/task_related/text_det.py +895 -0
  233. paddlex/inference/components/task_related/text_rec.py +353 -0
  234. paddlex/inference/components/task_related/warp.py +43 -0
  235. paddlex/inference/components/transforms/__init__.py +16 -0
  236. paddlex/inference/components/transforms/image/__init__.py +15 -0
  237. paddlex/inference/components/transforms/image/common.py +598 -0
  238. paddlex/inference/components/transforms/image/funcs.py +58 -0
  239. paddlex/inference/components/transforms/read_data.py +67 -0
  240. paddlex/inference/components/transforms/ts/__init__.py +15 -0
  241. paddlex/inference/components/transforms/ts/common.py +393 -0
  242. paddlex/inference/components/transforms/ts/funcs.py +424 -0
  243. paddlex/inference/models/__init__.py +106 -0
  244. paddlex/inference/models/anomaly_detection.py +87 -0
  245. paddlex/inference/models/base/__init__.py +16 -0
  246. paddlex/inference/models/base/base_predictor.py +76 -0
  247. paddlex/inference/models/base/basic_predictor.py +122 -0
  248. paddlex/inference/models/face_recognition.py +21 -0
  249. paddlex/inference/models/formula_recognition.py +55 -0
  250. paddlex/inference/models/general_recognition.py +99 -0
  251. paddlex/inference/models/image_classification.py +101 -0
  252. paddlex/inference/models/image_unwarping.py +43 -0
  253. paddlex/inference/models/instance_segmentation.py +66 -0
  254. paddlex/inference/models/multilabel_classification.py +33 -0
  255. paddlex/inference/models/object_detection.py +129 -0
  256. paddlex/inference/models/semantic_segmentation.py +86 -0
  257. paddlex/inference/models/table_recognition.py +106 -0
  258. paddlex/inference/models/text_detection.py +105 -0
  259. paddlex/inference/models/text_recognition.py +78 -0
  260. paddlex/inference/models/ts_ad.py +68 -0
  261. paddlex/inference/models/ts_cls.py +57 -0
  262. paddlex/inference/models/ts_fc.py +73 -0
  263. paddlex/inference/pipelines/__init__.py +127 -0
  264. paddlex/inference/pipelines/attribute_recognition.py +92 -0
  265. paddlex/inference/pipelines/base.py +86 -0
  266. paddlex/inference/pipelines/face_recognition.py +49 -0
  267. paddlex/inference/pipelines/formula_recognition.py +102 -0
  268. paddlex/inference/pipelines/layout_parsing/__init__.py +15 -0
  269. paddlex/inference/pipelines/layout_parsing/layout_parsing.py +362 -0
  270. paddlex/inference/pipelines/ocr.py +80 -0
  271. paddlex/inference/pipelines/pp_shitu_v2.py +152 -0
  272. paddlex/inference/pipelines/ppchatocrv3/__init__.py +15 -0
  273. paddlex/inference/pipelines/ppchatocrv3/ch_prompt.yaml +14 -0
  274. paddlex/inference/pipelines/ppchatocrv3/ppchatocrv3.py +717 -0
  275. paddlex/inference/pipelines/ppchatocrv3/utils.py +168 -0
  276. paddlex/inference/pipelines/seal_recognition.py +152 -0
  277. paddlex/inference/pipelines/serving/__init__.py +17 -0
  278. paddlex/inference/pipelines/serving/_pipeline_apps/__init__.py +205 -0
  279. paddlex/inference/pipelines/serving/_pipeline_apps/anomaly_detection.py +80 -0
  280. paddlex/inference/pipelines/serving/_pipeline_apps/face_recognition.py +317 -0
  281. paddlex/inference/pipelines/serving/_pipeline_apps/formula_recognition.py +119 -0
  282. paddlex/inference/pipelines/serving/_pipeline_apps/image_classification.py +101 -0
  283. paddlex/inference/pipelines/serving/_pipeline_apps/instance_segmentation.py +112 -0
  284. paddlex/inference/pipelines/serving/_pipeline_apps/layout_parsing.py +205 -0
  285. paddlex/inference/pipelines/serving/_pipeline_apps/multi_label_image_classification.py +90 -0
  286. paddlex/inference/pipelines/serving/_pipeline_apps/object_detection.py +90 -0
  287. paddlex/inference/pipelines/serving/_pipeline_apps/ocr.py +98 -0
  288. paddlex/inference/pipelines/serving/_pipeline_apps/pedestrian_attribute_recognition.py +102 -0
  289. paddlex/inference/pipelines/serving/_pipeline_apps/pp_shitu_v2.py +319 -0
  290. paddlex/inference/pipelines/serving/_pipeline_apps/ppchatocrv3.py +445 -0
  291. paddlex/inference/pipelines/serving/_pipeline_apps/seal_recognition.py +110 -0
  292. paddlex/inference/pipelines/serving/_pipeline_apps/semantic_segmentation.py +82 -0
  293. paddlex/inference/pipelines/serving/_pipeline_apps/small_object_detection.py +92 -0
  294. paddlex/inference/pipelines/serving/_pipeline_apps/table_recognition.py +110 -0
  295. paddlex/inference/pipelines/serving/_pipeline_apps/ts_ad.py +68 -0
  296. paddlex/inference/pipelines/serving/_pipeline_apps/ts_cls.py +68 -0
  297. paddlex/inference/pipelines/serving/_pipeline_apps/ts_fc.py +68 -0
  298. paddlex/inference/pipelines/serving/_pipeline_apps/vehicle_attribute_recognition.py +102 -0
  299. paddlex/inference/pipelines/serving/app.py +164 -0
  300. paddlex/inference/pipelines/serving/models.py +30 -0
  301. paddlex/inference/pipelines/serving/server.py +25 -0
  302. paddlex/inference/pipelines/serving/storage.py +161 -0
  303. paddlex/inference/pipelines/serving/utils.py +190 -0
  304. paddlex/inference/pipelines/single_model_pipeline.py +76 -0
  305. paddlex/inference/pipelines/table_recognition/__init__.py +15 -0
  306. paddlex/inference/pipelines/table_recognition/table_recognition.py +193 -0
  307. paddlex/inference/pipelines/table_recognition/utils.py +457 -0
  308. paddlex/inference/results/__init__.py +31 -0
  309. paddlex/inference/results/attribute_rec.py +89 -0
  310. paddlex/inference/results/base.py +43 -0
  311. paddlex/inference/results/chat_ocr.py +158 -0
  312. paddlex/inference/results/clas.py +133 -0
  313. paddlex/inference/results/det.py +86 -0
  314. paddlex/inference/results/face_rec.py +34 -0
  315. paddlex/inference/results/formula_rec.py +363 -0
  316. paddlex/inference/results/instance_seg.py +152 -0
  317. paddlex/inference/results/ocr.py +157 -0
  318. paddlex/inference/results/seal_rec.py +50 -0
  319. paddlex/inference/results/seg.py +72 -0
  320. paddlex/inference/results/shitu.py +35 -0
  321. paddlex/inference/results/table_rec.py +109 -0
  322. paddlex/inference/results/text_det.py +33 -0
  323. paddlex/inference/results/text_rec.py +66 -0
  324. paddlex/inference/results/ts.py +37 -0
  325. paddlex/inference/results/utils/__init__.py +13 -0
  326. paddlex/inference/results/utils/mixin.py +204 -0
  327. paddlex/inference/results/warp.py +31 -0
  328. paddlex/inference/utils/__init__.py +13 -0
  329. paddlex/inference/utils/benchmark.py +214 -0
  330. paddlex/inference/utils/color_map.py +123 -0
  331. paddlex/inference/utils/get_pipeline_path.py +26 -0
  332. paddlex/inference/utils/io/__init__.py +33 -0
  333. paddlex/inference/utils/io/readers.py +353 -0
  334. paddlex/inference/utils/io/style.py +374 -0
  335. paddlex/inference/utils/io/tablepyxl.py +149 -0
  336. paddlex/inference/utils/io/writers.py +376 -0
  337. paddlex/inference/utils/new_ir_blacklist.py +22 -0
  338. paddlex/inference/utils/official_models.py +286 -0
  339. paddlex/inference/utils/pp_option.py +236 -0
  340. paddlex/inference/utils/process_hook.py +54 -0
  341. paddlex/model.py +106 -0
  342. paddlex/modules/__init__.py +105 -0
  343. paddlex/modules/anomaly_detection/__init__.py +18 -0
  344. paddlex/modules/anomaly_detection/dataset_checker/__init__.py +95 -0
  345. paddlex/modules/anomaly_detection/dataset_checker/dataset_src/__init__.py +19 -0
  346. paddlex/modules/anomaly_detection/dataset_checker/dataset_src/analyse_dataset.py +79 -0
  347. paddlex/modules/anomaly_detection/dataset_checker/dataset_src/check_dataset.py +87 -0
  348. paddlex/modules/anomaly_detection/dataset_checker/dataset_src/convert_dataset.py +230 -0
  349. paddlex/modules/anomaly_detection/dataset_checker/dataset_src/split_dataset.py +87 -0
  350. paddlex/modules/anomaly_detection/dataset_checker/dataset_src/utils/__init__.py +13 -0
  351. paddlex/modules/anomaly_detection/dataset_checker/dataset_src/utils/visualizer.py +71 -0
  352. paddlex/modules/anomaly_detection/evaluator.py +58 -0
  353. paddlex/modules/anomaly_detection/exportor.py +22 -0
  354. paddlex/modules/anomaly_detection/model_list.py +16 -0
  355. paddlex/modules/anomaly_detection/trainer.py +71 -0
  356. paddlex/modules/base/__init__.py +18 -0
  357. paddlex/modules/base/build_model.py +34 -0
  358. paddlex/modules/base/dataset_checker/__init__.py +16 -0
  359. paddlex/modules/base/dataset_checker/dataset_checker.py +164 -0
  360. paddlex/modules/base/dataset_checker/utils.py +110 -0
  361. paddlex/modules/base/evaluator.py +154 -0
  362. paddlex/modules/base/exportor.py +121 -0
  363. paddlex/modules/base/trainer.py +111 -0
  364. paddlex/modules/face_recognition/__init__.py +18 -0
  365. paddlex/modules/face_recognition/dataset_checker/__init__.py +71 -0
  366. paddlex/modules/face_recognition/dataset_checker/dataset_src/__init__.py +16 -0
  367. paddlex/modules/face_recognition/dataset_checker/dataset_src/check_dataset.py +174 -0
  368. paddlex/modules/face_recognition/dataset_checker/dataset_src/utils/__init__.py +13 -0
  369. paddlex/modules/face_recognition/dataset_checker/dataset_src/utils/visualizer.py +156 -0
  370. paddlex/modules/face_recognition/evaluator.py +52 -0
  371. paddlex/modules/face_recognition/exportor.py +22 -0
  372. paddlex/modules/face_recognition/model_list.py +15 -0
  373. paddlex/modules/face_recognition/trainer.py +97 -0
  374. paddlex/modules/formula_recognition/__init__.py +13 -0
  375. paddlex/modules/formula_recognition/model_list.py +17 -0
  376. paddlex/modules/general_recognition/__init__.py +18 -0
  377. paddlex/modules/general_recognition/dataset_checker/__init__.py +107 -0
  378. paddlex/modules/general_recognition/dataset_checker/dataset_src/__init__.py +19 -0
  379. paddlex/modules/general_recognition/dataset_checker/dataset_src/analyse_dataset.py +98 -0
  380. paddlex/modules/general_recognition/dataset_checker/dataset_src/check_dataset.py +100 -0
  381. paddlex/modules/general_recognition/dataset_checker/dataset_src/convert_dataset.py +99 -0
  382. paddlex/modules/general_recognition/dataset_checker/dataset_src/split_dataset.py +82 -0
  383. paddlex/modules/general_recognition/dataset_checker/dataset_src/utils/__init__.py +13 -0
  384. paddlex/modules/general_recognition/dataset_checker/dataset_src/utils/visualizer.py +150 -0
  385. paddlex/modules/general_recognition/evaluator.py +31 -0
  386. paddlex/modules/general_recognition/exportor.py +22 -0
  387. paddlex/modules/general_recognition/model_list.py +19 -0
  388. paddlex/modules/general_recognition/trainer.py +52 -0
  389. paddlex/modules/image_classification/__init__.py +18 -0
  390. paddlex/modules/image_classification/dataset_checker/__init__.py +104 -0
  391. paddlex/modules/image_classification/dataset_checker/dataset_src/__init__.py +19 -0
  392. paddlex/modules/image_classification/dataset_checker/dataset_src/analyse_dataset.py +93 -0
  393. paddlex/modules/image_classification/dataset_checker/dataset_src/check_dataset.py +131 -0
  394. paddlex/modules/image_classification/dataset_checker/dataset_src/convert_dataset.py +51 -0
  395. paddlex/modules/image_classification/dataset_checker/dataset_src/split_dataset.py +81 -0
  396. paddlex/modules/image_classification/dataset_checker/dataset_src/utils/__init__.py +13 -0
  397. paddlex/modules/image_classification/dataset_checker/dataset_src/utils/visualizer.py +156 -0
  398. paddlex/modules/image_classification/evaluator.py +43 -0
  399. paddlex/modules/image_classification/exportor.py +22 -0
  400. paddlex/modules/image_classification/model_list.py +97 -0
  401. paddlex/modules/image_classification/trainer.py +82 -0
  402. paddlex/modules/image_unwarping/__init__.py +13 -0
  403. paddlex/modules/image_unwarping/model_list.py +17 -0
  404. paddlex/modules/instance_segmentation/__init__.py +18 -0
  405. paddlex/modules/instance_segmentation/dataset_checker/__init__.py +93 -0
  406. paddlex/modules/instance_segmentation/dataset_checker/dataset_src/__init__.py +19 -0
  407. paddlex/modules/instance_segmentation/dataset_checker/dataset_src/analyse_dataset.py +78 -0
  408. paddlex/modules/instance_segmentation/dataset_checker/dataset_src/check_dataset.py +92 -0
  409. paddlex/modules/instance_segmentation/dataset_checker/dataset_src/convert_dataset.py +241 -0
  410. paddlex/modules/instance_segmentation/dataset_checker/dataset_src/split_dataset.py +119 -0
  411. paddlex/modules/instance_segmentation/dataset_checker/dataset_src/utils/__init__.py +13 -0
  412. paddlex/modules/instance_segmentation/dataset_checker/dataset_src/utils/visualizer.py +221 -0
  413. paddlex/modules/instance_segmentation/evaluator.py +32 -0
  414. paddlex/modules/instance_segmentation/exportor.py +22 -0
  415. paddlex/modules/instance_segmentation/model_list.py +33 -0
  416. paddlex/modules/instance_segmentation/trainer.py +31 -0
  417. paddlex/modules/multilabel_classification/__init__.py +18 -0
  418. paddlex/modules/multilabel_classification/dataset_checker/__init__.py +106 -0
  419. paddlex/modules/multilabel_classification/dataset_checker/dataset_src/__init__.py +19 -0
  420. paddlex/modules/multilabel_classification/dataset_checker/dataset_src/analyse_dataset.py +95 -0
  421. paddlex/modules/multilabel_classification/dataset_checker/dataset_src/check_dataset.py +131 -0
  422. paddlex/modules/multilabel_classification/dataset_checker/dataset_src/convert_dataset.py +117 -0
  423. paddlex/modules/multilabel_classification/dataset_checker/dataset_src/split_dataset.py +81 -0
  424. paddlex/modules/multilabel_classification/dataset_checker/dataset_src/utils/__init__.py +13 -0
  425. paddlex/modules/multilabel_classification/dataset_checker/dataset_src/utils/visualizer.py +153 -0
  426. paddlex/modules/multilabel_classification/evaluator.py +43 -0
  427. paddlex/modules/multilabel_classification/exportor.py +22 -0
  428. paddlex/modules/multilabel_classification/model_list.py +24 -0
  429. paddlex/modules/multilabel_classification/trainer.py +85 -0
  430. paddlex/modules/object_detection/__init__.py +18 -0
  431. paddlex/modules/object_detection/dataset_checker/__init__.py +115 -0
  432. paddlex/modules/object_detection/dataset_checker/dataset_src/__init__.py +19 -0
  433. paddlex/modules/object_detection/dataset_checker/dataset_src/analyse_dataset.py +80 -0
  434. paddlex/modules/object_detection/dataset_checker/dataset_src/check_dataset.py +86 -0
  435. paddlex/modules/object_detection/dataset_checker/dataset_src/convert_dataset.py +433 -0
  436. paddlex/modules/object_detection/dataset_checker/dataset_src/split_dataset.py +119 -0
  437. paddlex/modules/object_detection/dataset_checker/dataset_src/utils/__init__.py +13 -0
  438. paddlex/modules/object_detection/dataset_checker/dataset_src/utils/visualizer.py +192 -0
  439. paddlex/modules/object_detection/evaluator.py +41 -0
  440. paddlex/modules/object_detection/exportor.py +22 -0
  441. paddlex/modules/object_detection/model_list.py +74 -0
  442. paddlex/modules/object_detection/trainer.py +85 -0
  443. paddlex/modules/semantic_segmentation/__init__.py +18 -0
  444. paddlex/modules/semantic_segmentation/dataset_checker/__init__.py +95 -0
  445. paddlex/modules/semantic_segmentation/dataset_checker/dataset_src/__init__.py +19 -0
  446. paddlex/modules/semantic_segmentation/dataset_checker/dataset_src/analyse_dataset.py +73 -0
  447. paddlex/modules/semantic_segmentation/dataset_checker/dataset_src/check_dataset.py +80 -0
  448. paddlex/modules/semantic_segmentation/dataset_checker/dataset_src/convert_dataset.py +162 -0
  449. paddlex/modules/semantic_segmentation/dataset_checker/dataset_src/split_dataset.py +87 -0
  450. paddlex/modules/semantic_segmentation/dataset_checker/dataset_src/utils/__init__.py +13 -0
  451. paddlex/modules/semantic_segmentation/dataset_checker/dataset_src/utils/visualizer.py +71 -0
  452. paddlex/modules/semantic_segmentation/evaluator.py +58 -0
  453. paddlex/modules/semantic_segmentation/exportor.py +22 -0
  454. paddlex/modules/semantic_segmentation/model_list.py +35 -0
  455. paddlex/modules/semantic_segmentation/trainer.py +71 -0
  456. paddlex/modules/table_recognition/__init__.py +18 -0
  457. paddlex/modules/table_recognition/dataset_checker/__init__.py +83 -0
  458. paddlex/modules/table_recognition/dataset_checker/dataset_src/__init__.py +18 -0
  459. paddlex/modules/table_recognition/dataset_checker/dataset_src/analyse_dataset.py +58 -0
  460. paddlex/modules/table_recognition/dataset_checker/dataset_src/check_dataset.py +87 -0
  461. paddlex/modules/table_recognition/dataset_checker/dataset_src/split_dataset.py +79 -0
  462. paddlex/modules/table_recognition/evaluator.py +43 -0
  463. paddlex/modules/table_recognition/exportor.py +22 -0
  464. paddlex/modules/table_recognition/model_list.py +19 -0
  465. paddlex/modules/table_recognition/trainer.py +70 -0
  466. paddlex/modules/text_detection/__init__.py +18 -0
  467. paddlex/modules/text_detection/dataset_checker/__init__.py +94 -0
  468. paddlex/modules/text_detection/dataset_checker/dataset_src/__init__.py +18 -0
  469. paddlex/modules/text_detection/dataset_checker/dataset_src/analyse_dataset.py +217 -0
  470. paddlex/modules/text_detection/dataset_checker/dataset_src/check_dataset.py +96 -0
  471. paddlex/modules/text_detection/dataset_checker/dataset_src/split_dataset.py +140 -0
  472. paddlex/modules/text_detection/evaluator.py +41 -0
  473. paddlex/modules/text_detection/exportor.py +22 -0
  474. paddlex/modules/text_detection/model_list.py +22 -0
  475. paddlex/modules/text_detection/trainer.py +68 -0
  476. paddlex/modules/text_recognition/__init__.py +18 -0
  477. paddlex/modules/text_recognition/dataset_checker/__init__.py +114 -0
  478. paddlex/modules/text_recognition/dataset_checker/dataset_src/__init__.py +19 -0
  479. paddlex/modules/text_recognition/dataset_checker/dataset_src/analyse_dataset.py +161 -0
  480. paddlex/modules/text_recognition/dataset_checker/dataset_src/check_dataset.py +97 -0
  481. paddlex/modules/text_recognition/dataset_checker/dataset_src/convert_dataset.py +94 -0
  482. paddlex/modules/text_recognition/dataset_checker/dataset_src/split_dataset.py +81 -0
  483. paddlex/modules/text_recognition/evaluator.py +63 -0
  484. paddlex/modules/text_recognition/exportor.py +25 -0
  485. paddlex/modules/text_recognition/model_list.py +20 -0
  486. paddlex/modules/text_recognition/trainer.py +105 -0
  487. paddlex/modules/ts_anomaly_detection/__init__.py +19 -0
  488. paddlex/modules/ts_anomaly_detection/dataset_checker/__init__.py +97 -0
  489. paddlex/modules/ts_anomaly_detection/dataset_checker/dataset_src/__init__.py +19 -0
  490. paddlex/modules/ts_anomaly_detection/dataset_checker/dataset_src/analyse_dataset.py +27 -0
  491. paddlex/modules/ts_anomaly_detection/dataset_checker/dataset_src/check_dataset.py +64 -0
  492. paddlex/modules/ts_anomaly_detection/dataset_checker/dataset_src/convert_dataset.py +78 -0
  493. paddlex/modules/ts_anomaly_detection/dataset_checker/dataset_src/split_dataset.py +63 -0
  494. paddlex/modules/ts_anomaly_detection/evaluator.py +67 -0
  495. paddlex/modules/ts_anomaly_detection/exportor.py +45 -0
  496. paddlex/modules/ts_anomaly_detection/model_list.py +22 -0
  497. paddlex/modules/ts_anomaly_detection/trainer.py +97 -0
  498. paddlex/modules/ts_classification/__init__.py +19 -0
  499. paddlex/modules/ts_classification/dataset_checker/__init__.py +97 -0
  500. paddlex/modules/ts_classification/dataset_checker/dataset_src/__init__.py +19 -0
  501. paddlex/modules/ts_classification/dataset_checker/dataset_src/analyse_dataset.py +74 -0
  502. paddlex/modules/ts_classification/dataset_checker/dataset_src/check_dataset.py +64 -0
  503. paddlex/modules/ts_classification/dataset_checker/dataset_src/convert_dataset.py +78 -0
  504. paddlex/modules/ts_classification/dataset_checker/dataset_src/split_dataset.py +88 -0
  505. paddlex/modules/ts_classification/evaluator.py +66 -0
  506. paddlex/modules/ts_classification/exportor.py +45 -0
  507. paddlex/modules/ts_classification/model_list.py +18 -0
  508. paddlex/modules/ts_classification/trainer.py +92 -0
  509. paddlex/modules/ts_forecast/__init__.py +19 -0
  510. paddlex/modules/ts_forecast/dataset_checker/__init__.py +97 -0
  511. paddlex/modules/ts_forecast/dataset_checker/dataset_src/__init__.py +19 -0
  512. paddlex/modules/ts_forecast/dataset_checker/dataset_src/analyse_dataset.py +27 -0
  513. paddlex/modules/ts_forecast/dataset_checker/dataset_src/check_dataset.py +64 -0
  514. paddlex/modules/ts_forecast/dataset_checker/dataset_src/convert_dataset.py +77 -0
  515. paddlex/modules/ts_forecast/dataset_checker/dataset_src/split_dataset.py +63 -0
  516. paddlex/modules/ts_forecast/evaluator.py +66 -0
  517. paddlex/modules/ts_forecast/exportor.py +45 -0
  518. paddlex/modules/ts_forecast/model_list.py +24 -0
  519. paddlex/modules/ts_forecast/trainer.py +92 -0
  520. paddlex/paddlex_cli.py +197 -0
  521. paddlex/pipelines/OCR.yaml +8 -0
  522. paddlex/pipelines/PP-ChatOCRv3-doc.yaml +27 -0
  523. paddlex/pipelines/PP-ShiTuV2.yaml +13 -0
  524. paddlex/pipelines/anomaly_detection.yaml +7 -0
  525. paddlex/pipelines/face_recognition.yaml +13 -0
  526. paddlex/pipelines/formula_recognition.yaml +8 -0
  527. paddlex/pipelines/image_classification.yaml +7 -0
  528. paddlex/pipelines/instance_segmentation.yaml +7 -0
  529. paddlex/pipelines/layout_parsing.yaml +14 -0
  530. paddlex/pipelines/multi_label_image_classification.yaml +7 -0
  531. paddlex/pipelines/object_detection.yaml +7 -0
  532. paddlex/pipelines/pedestrian_attribute_recognition.yaml +7 -0
  533. paddlex/pipelines/seal_recognition.yaml +10 -0
  534. paddlex/pipelines/semantic_segmentation.yaml +7 -0
  535. paddlex/pipelines/small_object_detection.yaml +7 -0
  536. paddlex/pipelines/table_recognition.yaml +12 -0
  537. paddlex/pipelines/ts_ad.yaml +7 -0
  538. paddlex/pipelines/ts_cls.yaml +7 -0
  539. paddlex/pipelines/ts_fc.yaml +7 -0
  540. paddlex/pipelines/vehicle_attribute_recognition.yaml +7 -0
  541. paddlex/repo_apis/PaddleClas_api/__init__.py +17 -0
  542. paddlex/repo_apis/PaddleClas_api/cls/__init__.py +19 -0
  543. paddlex/repo_apis/PaddleClas_api/cls/config.py +594 -0
  544. paddlex/repo_apis/PaddleClas_api/cls/model.py +349 -0
  545. paddlex/repo_apis/PaddleClas_api/cls/register.py +890 -0
  546. paddlex/repo_apis/PaddleClas_api/cls/runner.py +219 -0
  547. paddlex/repo_apis/PaddleClas_api/shitu_rec/__init__.py +18 -0
  548. paddlex/repo_apis/PaddleClas_api/shitu_rec/config.py +141 -0
  549. paddlex/repo_apis/PaddleClas_api/shitu_rec/model.py +23 -0
  550. paddlex/repo_apis/PaddleClas_api/shitu_rec/register.py +68 -0
  551. paddlex/repo_apis/PaddleClas_api/shitu_rec/runner.py +55 -0
  552. paddlex/repo_apis/PaddleDetection_api/__init__.py +17 -0
  553. paddlex/repo_apis/PaddleDetection_api/config_helper.py +280 -0
  554. paddlex/repo_apis/PaddleDetection_api/instance_seg/__init__.py +18 -0
  555. paddlex/repo_apis/PaddleDetection_api/instance_seg/config.py +454 -0
  556. paddlex/repo_apis/PaddleDetection_api/instance_seg/model.py +397 -0
  557. paddlex/repo_apis/PaddleDetection_api/instance_seg/register.py +263 -0
  558. paddlex/repo_apis/PaddleDetection_api/instance_seg/runner.py +226 -0
  559. paddlex/repo_apis/PaddleDetection_api/object_det/__init__.py +19 -0
  560. paddlex/repo_apis/PaddleDetection_api/object_det/config.py +517 -0
  561. paddlex/repo_apis/PaddleDetection_api/object_det/model.py +424 -0
  562. paddlex/repo_apis/PaddleDetection_api/object_det/official_categories.py +139 -0
  563. paddlex/repo_apis/PaddleDetection_api/object_det/register.py +927 -0
  564. paddlex/repo_apis/PaddleDetection_api/object_det/runner.py +226 -0
  565. paddlex/repo_apis/PaddleNLP_api/__init__.py +13 -0
  566. paddlex/repo_apis/PaddleOCR_api/__init__.py +20 -0
  567. paddlex/repo_apis/PaddleOCR_api/config_utils.py +53 -0
  568. paddlex/repo_apis/PaddleOCR_api/table_rec/__init__.py +16 -0
  569. paddlex/repo_apis/PaddleOCR_api/table_rec/config.py +64 -0
  570. paddlex/repo_apis/PaddleOCR_api/table_rec/model.py +126 -0
  571. paddlex/repo_apis/PaddleOCR_api/table_rec/register.py +53 -0
  572. paddlex/repo_apis/PaddleOCR_api/table_rec/runner.py +51 -0
  573. paddlex/repo_apis/PaddleOCR_api/text_det/__init__.py +16 -0
  574. paddlex/repo_apis/PaddleOCR_api/text_det/config.py +62 -0
  575. paddlex/repo_apis/PaddleOCR_api/text_det/model.py +72 -0
  576. paddlex/repo_apis/PaddleOCR_api/text_det/register.py +72 -0
  577. paddlex/repo_apis/PaddleOCR_api/text_det/runner.py +53 -0
  578. paddlex/repo_apis/PaddleOCR_api/text_rec/__init__.py +16 -0
  579. paddlex/repo_apis/PaddleOCR_api/text_rec/config.py +542 -0
  580. paddlex/repo_apis/PaddleOCR_api/text_rec/model.py +396 -0
  581. paddlex/repo_apis/PaddleOCR_api/text_rec/register.py +80 -0
  582. paddlex/repo_apis/PaddleOCR_api/text_rec/runner.py +240 -0
  583. paddlex/repo_apis/PaddleSeg_api/__init__.py +16 -0
  584. paddlex/repo_apis/PaddleSeg_api/base_seg_config.py +134 -0
  585. paddlex/repo_apis/PaddleSeg_api/seg/__init__.py +16 -0
  586. paddlex/repo_apis/PaddleSeg_api/seg/config.py +177 -0
  587. paddlex/repo_apis/PaddleSeg_api/seg/model.py +481 -0
  588. paddlex/repo_apis/PaddleSeg_api/seg/register.py +253 -0
  589. paddlex/repo_apis/PaddleSeg_api/seg/runner.py +262 -0
  590. paddlex/repo_apis/PaddleTS_api/__init__.py +19 -0
  591. paddlex/repo_apis/PaddleTS_api/ts_ad/__init__.py +16 -0
  592. paddlex/repo_apis/PaddleTS_api/ts_ad/config.py +89 -0
  593. paddlex/repo_apis/PaddleTS_api/ts_ad/register.py +146 -0
  594. paddlex/repo_apis/PaddleTS_api/ts_ad/runner.py +158 -0
  595. paddlex/repo_apis/PaddleTS_api/ts_base/__init__.py +13 -0
  596. paddlex/repo_apis/PaddleTS_api/ts_base/config.py +222 -0
  597. paddlex/repo_apis/PaddleTS_api/ts_base/model.py +272 -0
  598. paddlex/repo_apis/PaddleTS_api/ts_base/runner.py +158 -0
  599. paddlex/repo_apis/PaddleTS_api/ts_cls/__init__.py +16 -0
  600. paddlex/repo_apis/PaddleTS_api/ts_cls/config.py +73 -0
  601. paddlex/repo_apis/PaddleTS_api/ts_cls/register.py +59 -0
  602. paddlex/repo_apis/PaddleTS_api/ts_cls/runner.py +158 -0
  603. paddlex/repo_apis/PaddleTS_api/ts_fc/__init__.py +16 -0
  604. paddlex/repo_apis/PaddleTS_api/ts_fc/config.py +137 -0
  605. paddlex/repo_apis/PaddleTS_api/ts_fc/register.py +186 -0
  606. paddlex/repo_apis/__init__.py +13 -0
  607. paddlex/repo_apis/base/__init__.py +23 -0
  608. paddlex/repo_apis/base/config.py +238 -0
  609. paddlex/repo_apis/base/model.py +571 -0
  610. paddlex/repo_apis/base/register.py +135 -0
  611. paddlex/repo_apis/base/runner.py +390 -0
  612. paddlex/repo_apis/base/utils/__init__.py +13 -0
  613. paddlex/repo_apis/base/utils/arg.py +64 -0
  614. paddlex/repo_apis/base/utils/subprocess.py +107 -0
  615. paddlex/repo_manager/__init__.py +24 -0
  616. paddlex/repo_manager/core.py +271 -0
  617. paddlex/repo_manager/meta.py +143 -0
  618. paddlex/repo_manager/repo.py +396 -0
  619. paddlex/repo_manager/requirements.txt +18 -0
  620. paddlex/repo_manager/utils.py +298 -0
  621. paddlex/utils/__init__.py +1 -12
  622. paddlex/utils/cache.py +148 -0
  623. paddlex/utils/config.py +214 -0
  624. paddlex/utils/device.py +103 -0
  625. paddlex/utils/download.py +168 -182
  626. paddlex/utils/errors/__init__.py +17 -0
  627. paddlex/utils/errors/dataset_checker.py +78 -0
  628. paddlex/utils/errors/others.py +152 -0
  629. paddlex/utils/file_interface.py +212 -0
  630. paddlex/utils/flags.py +61 -0
  631. paddlex/utils/fonts/PingFang-SC-Regular.ttf +0 -0
  632. paddlex/utils/fonts/__init__.py +24 -0
  633. paddlex/utils/func_register.py +41 -0
  634. paddlex/utils/interactive_get_pipeline.py +55 -0
  635. paddlex/utils/lazy_loader.py +66 -0
  636. paddlex/utils/logging.py +132 -33
  637. paddlex/utils/misc.py +201 -0
  638. paddlex/utils/result_saver.py +59 -0
  639. paddlex/utils/subclass_register.py +101 -0
  640. paddlex/version.py +54 -0
  641. paddlex-3.0.0b2.dist-info/LICENSE +169 -0
  642. paddlex-3.0.0b2.dist-info/METADATA +760 -0
  643. paddlex-3.0.0b2.dist-info/RECORD +646 -0
  644. paddlex-3.0.0b2.dist-info/WHEEL +5 -0
  645. paddlex-3.0.0b2.dist-info/entry_points.txt +2 -0
  646. paddlex-3.0.0b2.dist-info/top_level.txt +1 -0
  647. PaddleClas/__init__.py +0 -16
  648. PaddleClas/paddleclas.py +0 -375
  649. PaddleClas/ppcls/__init__.py +0 -20
  650. PaddleClas/ppcls/data/__init__.py +0 -15
  651. PaddleClas/ppcls/data/imaug/__init__.py +0 -94
  652. PaddleClas/ppcls/data/imaug/autoaugment.py +0 -264
  653. PaddleClas/ppcls/data/imaug/batch_operators.py +0 -117
  654. PaddleClas/ppcls/data/imaug/cutout.py +0 -41
  655. PaddleClas/ppcls/data/imaug/fmix.py +0 -217
  656. PaddleClas/ppcls/data/imaug/grid.py +0 -89
  657. PaddleClas/ppcls/data/imaug/hide_and_seek.py +0 -44
  658. PaddleClas/ppcls/data/imaug/operators.py +0 -244
  659. PaddleClas/ppcls/data/imaug/randaugment.py +0 -106
  660. PaddleClas/ppcls/data/imaug/random_erasing.py +0 -55
  661. PaddleClas/ppcls/data/reader.py +0 -318
  662. PaddleClas/ppcls/modeling/__init__.py +0 -20
  663. PaddleClas/ppcls/modeling/architectures/__init__.py +0 -51
  664. PaddleClas/ppcls/modeling/architectures/alexnet.py +0 -132
  665. PaddleClas/ppcls/modeling/architectures/darknet.py +0 -161
  666. PaddleClas/ppcls/modeling/architectures/densenet.py +0 -308
  667. PaddleClas/ppcls/modeling/architectures/distillation_models.py +0 -65
  668. PaddleClas/ppcls/modeling/architectures/distilled_vision_transformer.py +0 -196
  669. PaddleClas/ppcls/modeling/architectures/dpn.py +0 -425
  670. PaddleClas/ppcls/modeling/architectures/efficientnet.py +0 -901
  671. PaddleClas/ppcls/modeling/architectures/ghostnet.py +0 -331
  672. PaddleClas/ppcls/modeling/architectures/googlenet.py +0 -207
  673. PaddleClas/ppcls/modeling/architectures/hrnet.py +0 -742
  674. PaddleClas/ppcls/modeling/architectures/inception_v3.py +0 -481
  675. PaddleClas/ppcls/modeling/architectures/inception_v4.py +0 -455
  676. PaddleClas/ppcls/modeling/architectures/mixnet.py +0 -782
  677. PaddleClas/ppcls/modeling/architectures/mobilenet_v1.py +0 -266
  678. PaddleClas/ppcls/modeling/architectures/mobilenet_v2.py +0 -248
  679. PaddleClas/ppcls/modeling/architectures/mobilenet_v3.py +0 -359
  680. PaddleClas/ppcls/modeling/architectures/regnet.py +0 -383
  681. PaddleClas/ppcls/modeling/architectures/repvgg.py +0 -339
  682. PaddleClas/ppcls/modeling/architectures/res2net.py +0 -272
  683. PaddleClas/ppcls/modeling/architectures/res2net_vd.py +0 -295
  684. PaddleClas/ppcls/modeling/architectures/resnest.py +0 -705
  685. PaddleClas/ppcls/modeling/architectures/resnet.py +0 -316
  686. PaddleClas/ppcls/modeling/architectures/resnet_vc.py +0 -309
  687. PaddleClas/ppcls/modeling/architectures/resnet_vd.py +0 -354
  688. PaddleClas/ppcls/modeling/architectures/resnext.py +0 -253
  689. PaddleClas/ppcls/modeling/architectures/resnext101_wsl.py +0 -447
  690. PaddleClas/ppcls/modeling/architectures/resnext_vd.py +0 -266
  691. PaddleClas/ppcls/modeling/architectures/rexnet.py +0 -240
  692. PaddleClas/ppcls/modeling/architectures/se_resnet_vd.py +0 -378
  693. PaddleClas/ppcls/modeling/architectures/se_resnext.py +0 -290
  694. PaddleClas/ppcls/modeling/architectures/se_resnext_vd.py +0 -285
  695. PaddleClas/ppcls/modeling/architectures/shufflenet_v2.py +0 -320
  696. PaddleClas/ppcls/modeling/architectures/squeezenet.py +0 -154
  697. PaddleClas/ppcls/modeling/architectures/vgg.py +0 -152
  698. PaddleClas/ppcls/modeling/architectures/vision_transformer.py +0 -402
  699. PaddleClas/ppcls/modeling/architectures/xception.py +0 -345
  700. PaddleClas/ppcls/modeling/architectures/xception_deeplab.py +0 -386
  701. PaddleClas/ppcls/modeling/loss.py +0 -154
  702. PaddleClas/ppcls/modeling/utils.py +0 -53
  703. PaddleClas/ppcls/optimizer/__init__.py +0 -19
  704. PaddleClas/ppcls/optimizer/learning_rate.py +0 -159
  705. PaddleClas/ppcls/optimizer/optimizer.py +0 -165
  706. PaddleClas/ppcls/utils/__init__.py +0 -27
  707. PaddleClas/ppcls/utils/check.py +0 -151
  708. PaddleClas/ppcls/utils/config.py +0 -201
  709. PaddleClas/ppcls/utils/logger.py +0 -120
  710. PaddleClas/ppcls/utils/metrics.py +0 -107
  711. PaddleClas/ppcls/utils/misc.py +0 -62
  712. PaddleClas/ppcls/utils/model_zoo.py +0 -213
  713. PaddleClas/ppcls/utils/save_load.py +0 -163
  714. PaddleClas/setup.py +0 -55
  715. PaddleClas/tools/__init__.py +0 -15
  716. PaddleClas/tools/download.py +0 -50
  717. PaddleClas/tools/ema.py +0 -58
  718. PaddleClas/tools/eval.py +0 -112
  719. PaddleClas/tools/export_model.py +0 -85
  720. PaddleClas/tools/export_serving_model.py +0 -76
  721. PaddleClas/tools/infer/__init__.py +0 -16
  722. PaddleClas/tools/infer/infer.py +0 -94
  723. PaddleClas/tools/infer/predict.py +0 -117
  724. PaddleClas/tools/infer/utils.py +0 -233
  725. PaddleClas/tools/program.py +0 -444
  726. PaddleClas/tools/test_hubserving.py +0 -113
  727. PaddleClas/tools/train.py +0 -141
  728. paddlex/cls.py +0 -76
  729. paddlex/command.py +0 -215
  730. paddlex/cv/__init__.py +0 -17
  731. paddlex/cv/datasets/__init__.py +0 -18
  732. paddlex/cv/datasets/coco.py +0 -169
  733. paddlex/cv/datasets/imagenet.py +0 -88
  734. paddlex/cv/datasets/seg_dataset.py +0 -91
  735. paddlex/cv/datasets/voc.py +0 -301
  736. paddlex/cv/models/__init__.py +0 -18
  737. paddlex/cv/models/base.py +0 -623
  738. paddlex/cv/models/classifier.py +0 -814
  739. paddlex/cv/models/detector.py +0 -1747
  740. paddlex/cv/models/load_model.py +0 -126
  741. paddlex/cv/models/segmenter.py +0 -673
  742. paddlex/cv/models/slim/__init__.py +0 -13
  743. paddlex/cv/models/slim/prune.py +0 -55
  744. paddlex/cv/models/utils/__init__.py +0 -13
  745. paddlex/cv/models/utils/det_metrics/__init__.py +0 -15
  746. paddlex/cv/models/utils/det_metrics/coco_utils.py +0 -217
  747. paddlex/cv/models/utils/det_metrics/metrics.py +0 -220
  748. paddlex/cv/models/utils/ema.py +0 -48
  749. paddlex/cv/models/utils/seg_metrics.py +0 -62
  750. paddlex/cv/models/utils/visualize.py +0 -394
  751. paddlex/cv/transforms/__init__.py +0 -46
  752. paddlex/cv/transforms/batch_operators.py +0 -286
  753. paddlex/cv/transforms/box_utils.py +0 -41
  754. paddlex/cv/transforms/functions.py +0 -193
  755. paddlex/cv/transforms/operators.py +0 -1402
  756. paddlex/det.py +0 -43
  757. paddlex/paddleseg/__init__.py +0 -17
  758. paddlex/paddleseg/core/__init__.py +0 -20
  759. paddlex/paddleseg/core/infer.py +0 -289
  760. paddlex/paddleseg/core/predict.py +0 -145
  761. paddlex/paddleseg/core/train.py +0 -258
  762. paddlex/paddleseg/core/val.py +0 -172
  763. paddlex/paddleseg/cvlibs/__init__.py +0 -17
  764. paddlex/paddleseg/cvlibs/callbacks.py +0 -279
  765. paddlex/paddleseg/cvlibs/config.py +0 -359
  766. paddlex/paddleseg/cvlibs/manager.py +0 -142
  767. paddlex/paddleseg/cvlibs/param_init.py +0 -91
  768. paddlex/paddleseg/datasets/__init__.py +0 -21
  769. paddlex/paddleseg/datasets/ade.py +0 -112
  770. paddlex/paddleseg/datasets/cityscapes.py +0 -86
  771. paddlex/paddleseg/datasets/cocostuff.py +0 -79
  772. paddlex/paddleseg/datasets/dataset.py +0 -164
  773. paddlex/paddleseg/datasets/mini_deep_globe_road_extraction.py +0 -95
  774. paddlex/paddleseg/datasets/optic_disc_seg.py +0 -97
  775. paddlex/paddleseg/datasets/pascal_context.py +0 -80
  776. paddlex/paddleseg/datasets/voc.py +0 -113
  777. paddlex/paddleseg/models/__init__.py +0 -39
  778. paddlex/paddleseg/models/ann.py +0 -436
  779. paddlex/paddleseg/models/attention_unet.py +0 -189
  780. paddlex/paddleseg/models/backbones/__init__.py +0 -18
  781. paddlex/paddleseg/models/backbones/hrnet.py +0 -815
  782. paddlex/paddleseg/models/backbones/mobilenetv3.py +0 -365
  783. paddlex/paddleseg/models/backbones/resnet_vd.py +0 -364
  784. paddlex/paddleseg/models/backbones/xception_deeplab.py +0 -415
  785. paddlex/paddleseg/models/bisenet.py +0 -311
  786. paddlex/paddleseg/models/danet.py +0 -220
  787. paddlex/paddleseg/models/decoupled_segnet.py +0 -233
  788. paddlex/paddleseg/models/deeplab.py +0 -258
  789. paddlex/paddleseg/models/dnlnet.py +0 -231
  790. paddlex/paddleseg/models/emanet.py +0 -219
  791. paddlex/paddleseg/models/fast_scnn.py +0 -318
  792. paddlex/paddleseg/models/fcn.py +0 -135
  793. paddlex/paddleseg/models/gcnet.py +0 -223
  794. paddlex/paddleseg/models/gscnn.py +0 -357
  795. paddlex/paddleseg/models/hardnet.py +0 -309
  796. paddlex/paddleseg/models/isanet.py +0 -202
  797. paddlex/paddleseg/models/layers/__init__.py +0 -19
  798. paddlex/paddleseg/models/layers/activation.py +0 -73
  799. paddlex/paddleseg/models/layers/attention.py +0 -146
  800. paddlex/paddleseg/models/layers/layer_libs.py +0 -168
  801. paddlex/paddleseg/models/layers/nonlocal2d.py +0 -155
  802. paddlex/paddleseg/models/layers/pyramid_pool.py +0 -182
  803. paddlex/paddleseg/models/losses/__init__.py +0 -27
  804. paddlex/paddleseg/models/losses/binary_cross_entropy_loss.py +0 -174
  805. paddlex/paddleseg/models/losses/bootstrapped_cross_entropy.py +0 -73
  806. paddlex/paddleseg/models/losses/cross_entropy_loss.py +0 -94
  807. paddlex/paddleseg/models/losses/decoupledsegnet_relax_boundary_loss.py +0 -129
  808. paddlex/paddleseg/models/losses/dice_loss.py +0 -61
  809. paddlex/paddleseg/models/losses/edge_attention_loss.py +0 -78
  810. paddlex/paddleseg/models/losses/gscnn_dual_task_loss.py +0 -141
  811. paddlex/paddleseg/models/losses/l1_loss.py +0 -76
  812. paddlex/paddleseg/models/losses/lovasz_loss.py +0 -222
  813. paddlex/paddleseg/models/losses/mean_square_error_loss.py +0 -65
  814. paddlex/paddleseg/models/losses/mixed_loss.py +0 -58
  815. paddlex/paddleseg/models/losses/ohem_cross_entropy_loss.py +0 -99
  816. paddlex/paddleseg/models/losses/ohem_edge_attention_loss.py +0 -114
  817. paddlex/paddleseg/models/ocrnet.py +0 -248
  818. paddlex/paddleseg/models/pspnet.py +0 -147
  819. paddlex/paddleseg/models/sfnet.py +0 -236
  820. paddlex/paddleseg/models/shufflenet_slim.py +0 -268
  821. paddlex/paddleseg/models/u2net.py +0 -574
  822. paddlex/paddleseg/models/unet.py +0 -155
  823. paddlex/paddleseg/models/unet_3plus.py +0 -316
  824. paddlex/paddleseg/models/unet_plusplus.py +0 -237
  825. paddlex/paddleseg/transforms/__init__.py +0 -16
  826. paddlex/paddleseg/transforms/functional.py +0 -161
  827. paddlex/paddleseg/transforms/transforms.py +0 -937
  828. paddlex/paddleseg/utils/__init__.py +0 -22
  829. paddlex/paddleseg/utils/config_check.py +0 -60
  830. paddlex/paddleseg/utils/download.py +0 -163
  831. paddlex/paddleseg/utils/env/__init__.py +0 -16
  832. paddlex/paddleseg/utils/env/seg_env.py +0 -56
  833. paddlex/paddleseg/utils/env/sys_env.py +0 -122
  834. paddlex/paddleseg/utils/logger.py +0 -48
  835. paddlex/paddleseg/utils/metrics.py +0 -146
  836. paddlex/paddleseg/utils/progbar.py +0 -212
  837. paddlex/paddleseg/utils/timer.py +0 -53
  838. paddlex/paddleseg/utils/utils.py +0 -120
  839. paddlex/paddleseg/utils/visualize.py +0 -90
  840. paddlex/ppcls/__init__.py +0 -20
  841. paddlex/ppcls/data/__init__.py +0 -15
  842. paddlex/ppcls/data/imaug/__init__.py +0 -94
  843. paddlex/ppcls/data/imaug/autoaugment.py +0 -264
  844. paddlex/ppcls/data/imaug/batch_operators.py +0 -117
  845. paddlex/ppcls/data/imaug/cutout.py +0 -41
  846. paddlex/ppcls/data/imaug/fmix.py +0 -217
  847. paddlex/ppcls/data/imaug/grid.py +0 -89
  848. paddlex/ppcls/data/imaug/hide_and_seek.py +0 -44
  849. paddlex/ppcls/data/imaug/operators.py +0 -256
  850. paddlex/ppcls/data/imaug/randaugment.py +0 -106
  851. paddlex/ppcls/data/imaug/random_erasing.py +0 -55
  852. paddlex/ppcls/data/reader.py +0 -318
  853. paddlex/ppcls/modeling/__init__.py +0 -20
  854. paddlex/ppcls/modeling/architectures/__init__.py +0 -51
  855. paddlex/ppcls/modeling/architectures/alexnet.py +0 -132
  856. paddlex/ppcls/modeling/architectures/darknet.py +0 -161
  857. paddlex/ppcls/modeling/architectures/densenet.py +0 -308
  858. paddlex/ppcls/modeling/architectures/distillation_models.py +0 -65
  859. paddlex/ppcls/modeling/architectures/distilled_vision_transformer.py +0 -196
  860. paddlex/ppcls/modeling/architectures/dpn.py +0 -425
  861. paddlex/ppcls/modeling/architectures/efficientnet.py +0 -901
  862. paddlex/ppcls/modeling/architectures/ghostnet.py +0 -331
  863. paddlex/ppcls/modeling/architectures/googlenet.py +0 -207
  864. paddlex/ppcls/modeling/architectures/hrnet.py +0 -742
  865. paddlex/ppcls/modeling/architectures/inception_v3.py +0 -541
  866. paddlex/ppcls/modeling/architectures/inception_v4.py +0 -455
  867. paddlex/ppcls/modeling/architectures/mixnet.py +0 -782
  868. paddlex/ppcls/modeling/architectures/mobilenet_v1.py +0 -266
  869. paddlex/ppcls/modeling/architectures/mobilenet_v2.py +0 -248
  870. paddlex/ppcls/modeling/architectures/mobilenet_v3.py +0 -359
  871. paddlex/ppcls/modeling/architectures/regnet.py +0 -383
  872. paddlex/ppcls/modeling/architectures/repvgg.py +0 -339
  873. paddlex/ppcls/modeling/architectures/res2net.py +0 -272
  874. paddlex/ppcls/modeling/architectures/res2net_vd.py +0 -295
  875. paddlex/ppcls/modeling/architectures/resnest.py +0 -705
  876. paddlex/ppcls/modeling/architectures/resnet.py +0 -317
  877. paddlex/ppcls/modeling/architectures/resnet_vc.py +0 -309
  878. paddlex/ppcls/modeling/architectures/resnet_vd.py +0 -354
  879. paddlex/ppcls/modeling/architectures/resnext.py +0 -259
  880. paddlex/ppcls/modeling/architectures/resnext101_wsl.py +0 -447
  881. paddlex/ppcls/modeling/architectures/resnext_vd.py +0 -266
  882. paddlex/ppcls/modeling/architectures/rexnet.py +0 -240
  883. paddlex/ppcls/modeling/architectures/se_resnet_vd.py +0 -378
  884. paddlex/ppcls/modeling/architectures/se_resnext.py +0 -290
  885. paddlex/ppcls/modeling/architectures/se_resnext_vd.py +0 -285
  886. paddlex/ppcls/modeling/architectures/shufflenet_v2.py +0 -320
  887. paddlex/ppcls/modeling/architectures/squeezenet.py +0 -154
  888. paddlex/ppcls/modeling/architectures/vgg.py +0 -152
  889. paddlex/ppcls/modeling/architectures/vision_transformer.py +0 -402
  890. paddlex/ppcls/modeling/architectures/xception.py +0 -345
  891. paddlex/ppcls/modeling/architectures/xception_deeplab.py +0 -386
  892. paddlex/ppcls/modeling/loss.py +0 -158
  893. paddlex/ppcls/modeling/utils.py +0 -53
  894. paddlex/ppcls/optimizer/__init__.py +0 -19
  895. paddlex/ppcls/optimizer/learning_rate.py +0 -159
  896. paddlex/ppcls/optimizer/optimizer.py +0 -165
  897. paddlex/ppcls/utils/__init__.py +0 -27
  898. paddlex/ppcls/utils/check.py +0 -151
  899. paddlex/ppcls/utils/config.py +0 -201
  900. paddlex/ppcls/utils/logger.py +0 -120
  901. paddlex/ppcls/utils/metrics.py +0 -112
  902. paddlex/ppcls/utils/misc.py +0 -62
  903. paddlex/ppcls/utils/model_zoo.py +0 -213
  904. paddlex/ppcls/utils/save_load.py +0 -163
  905. paddlex/ppdet/__init__.py +0 -16
  906. paddlex/ppdet/core/__init__.py +0 -15
  907. paddlex/ppdet/core/config/__init__.py +0 -13
  908. paddlex/ppdet/core/config/schema.py +0 -248
  909. paddlex/ppdet/core/config/yaml_helpers.py +0 -118
  910. paddlex/ppdet/core/workspace.py +0 -279
  911. paddlex/ppdet/data/__init__.py +0 -21
  912. paddlex/ppdet/data/reader.py +0 -304
  913. paddlex/ppdet/data/shm_utils.py +0 -67
  914. paddlex/ppdet/data/source/__init__.py +0 -27
  915. paddlex/ppdet/data/source/category.py +0 -823
  916. paddlex/ppdet/data/source/coco.py +0 -243
  917. paddlex/ppdet/data/source/dataset.py +0 -192
  918. paddlex/ppdet/data/source/keypoint_coco.py +0 -656
  919. paddlex/ppdet/data/source/mot.py +0 -360
  920. paddlex/ppdet/data/source/voc.py +0 -204
  921. paddlex/ppdet/data/source/widerface.py +0 -180
  922. paddlex/ppdet/data/transform/__init__.py +0 -28
  923. paddlex/ppdet/data/transform/autoaugment_utils.py +0 -1593
  924. paddlex/ppdet/data/transform/batch_operators.py +0 -758
  925. paddlex/ppdet/data/transform/gridmask_utils.py +0 -83
  926. paddlex/ppdet/data/transform/keypoint_operators.py +0 -665
  927. paddlex/ppdet/data/transform/mot_operators.py +0 -636
  928. paddlex/ppdet/data/transform/op_helper.py +0 -468
  929. paddlex/ppdet/data/transform/operators.py +0 -2103
  930. paddlex/ppdet/engine/__init__.py +0 -29
  931. paddlex/ppdet/engine/callbacks.py +0 -262
  932. paddlex/ppdet/engine/env.py +0 -47
  933. paddlex/ppdet/engine/export_utils.py +0 -118
  934. paddlex/ppdet/engine/tracker.py +0 -425
  935. paddlex/ppdet/engine/trainer.py +0 -535
  936. paddlex/ppdet/metrics/__init__.py +0 -23
  937. paddlex/ppdet/metrics/coco_utils.py +0 -184
  938. paddlex/ppdet/metrics/json_results.py +0 -151
  939. paddlex/ppdet/metrics/keypoint_metrics.py +0 -202
  940. paddlex/ppdet/metrics/map_utils.py +0 -396
  941. paddlex/ppdet/metrics/metrics.py +0 -300
  942. paddlex/ppdet/metrics/mot_eval_utils.py +0 -192
  943. paddlex/ppdet/metrics/mot_metrics.py +0 -184
  944. paddlex/ppdet/metrics/widerface_utils.py +0 -393
  945. paddlex/ppdet/model_zoo/__init__.py +0 -18
  946. paddlex/ppdet/model_zoo/model_zoo.py +0 -86
  947. paddlex/ppdet/model_zoo/tests/__init__.py +0 -13
  948. paddlex/ppdet/model_zoo/tests/test_get_model.py +0 -48
  949. paddlex/ppdet/model_zoo/tests/test_list_model.py +0 -68
  950. paddlex/ppdet/modeling/__init__.py +0 -41
  951. paddlex/ppdet/modeling/architectures/__init__.py +0 -40
  952. paddlex/ppdet/modeling/architectures/cascade_rcnn.py +0 -144
  953. paddlex/ppdet/modeling/architectures/centernet.py +0 -103
  954. paddlex/ppdet/modeling/architectures/deepsort.py +0 -111
  955. paddlex/ppdet/modeling/architectures/fairmot.py +0 -107
  956. paddlex/ppdet/modeling/architectures/faster_rcnn.py +0 -106
  957. paddlex/ppdet/modeling/architectures/fcos.py +0 -105
  958. paddlex/ppdet/modeling/architectures/jde.py +0 -125
  959. paddlex/ppdet/modeling/architectures/keypoint_hrhrnet.py +0 -286
  960. paddlex/ppdet/modeling/architectures/keypoint_hrnet.py +0 -203
  961. paddlex/ppdet/modeling/architectures/mask_rcnn.py +0 -135
  962. paddlex/ppdet/modeling/architectures/meta_arch.py +0 -45
  963. paddlex/ppdet/modeling/architectures/s2anet.py +0 -103
  964. paddlex/ppdet/modeling/architectures/solov2.py +0 -110
  965. paddlex/ppdet/modeling/architectures/ssd.py +0 -84
  966. paddlex/ppdet/modeling/architectures/ttfnet.py +0 -98
  967. paddlex/ppdet/modeling/architectures/yolo.py +0 -104
  968. paddlex/ppdet/modeling/backbones/__init__.py +0 -37
  969. paddlex/ppdet/modeling/backbones/blazenet.py +0 -322
  970. paddlex/ppdet/modeling/backbones/darknet.py +0 -341
  971. paddlex/ppdet/modeling/backbones/dla.py +0 -244
  972. paddlex/ppdet/modeling/backbones/ghostnet.py +0 -476
  973. paddlex/ppdet/modeling/backbones/hrnet.py +0 -724
  974. paddlex/ppdet/modeling/backbones/mobilenet_v1.py +0 -410
  975. paddlex/ppdet/modeling/backbones/mobilenet_v3.py +0 -497
  976. paddlex/ppdet/modeling/backbones/name_adapter.py +0 -69
  977. paddlex/ppdet/modeling/backbones/res2net.py +0 -358
  978. paddlex/ppdet/modeling/backbones/resnet.py +0 -606
  979. paddlex/ppdet/modeling/backbones/senet.py +0 -140
  980. paddlex/ppdet/modeling/backbones/vgg.py +0 -216
  981. paddlex/ppdet/modeling/bbox_utils.py +0 -464
  982. paddlex/ppdet/modeling/heads/__init__.py +0 -41
  983. paddlex/ppdet/modeling/heads/bbox_head.py +0 -379
  984. paddlex/ppdet/modeling/heads/cascade_head.py +0 -285
  985. paddlex/ppdet/modeling/heads/centernet_head.py +0 -194
  986. paddlex/ppdet/modeling/heads/face_head.py +0 -113
  987. paddlex/ppdet/modeling/heads/fcos_head.py +0 -270
  988. paddlex/ppdet/modeling/heads/keypoint_hrhrnet_head.py +0 -108
  989. paddlex/ppdet/modeling/heads/mask_head.py +0 -253
  990. paddlex/ppdet/modeling/heads/roi_extractor.py +0 -111
  991. paddlex/ppdet/modeling/heads/s2anet_head.py +0 -845
  992. paddlex/ppdet/modeling/heads/solov2_head.py +0 -537
  993. paddlex/ppdet/modeling/heads/ssd_head.py +0 -175
  994. paddlex/ppdet/modeling/heads/ttf_head.py +0 -314
  995. paddlex/ppdet/modeling/heads/yolo_head.py +0 -124
  996. paddlex/ppdet/modeling/keypoint_utils.py +0 -302
  997. paddlex/ppdet/modeling/layers.py +0 -1142
  998. paddlex/ppdet/modeling/losses/__init__.py +0 -35
  999. paddlex/ppdet/modeling/losses/ctfocal_loss.py +0 -67
  1000. paddlex/ppdet/modeling/losses/fairmot_loss.py +0 -41
  1001. paddlex/ppdet/modeling/losses/fcos_loss.py +0 -225
  1002. paddlex/ppdet/modeling/losses/iou_aware_loss.py +0 -48
  1003. paddlex/ppdet/modeling/losses/iou_loss.py +0 -210
  1004. paddlex/ppdet/modeling/losses/jde_loss.py +0 -182
  1005. paddlex/ppdet/modeling/losses/keypoint_loss.py +0 -228
  1006. paddlex/ppdet/modeling/losses/solov2_loss.py +0 -101
  1007. paddlex/ppdet/modeling/losses/ssd_loss.py +0 -163
  1008. paddlex/ppdet/modeling/losses/yolo_loss.py +0 -212
  1009. paddlex/ppdet/modeling/mot/__init__.py +0 -25
  1010. paddlex/ppdet/modeling/mot/matching/__init__.py +0 -19
  1011. paddlex/ppdet/modeling/mot/matching/deepsort_matching.py +0 -382
  1012. paddlex/ppdet/modeling/mot/matching/jde_matching.py +0 -145
  1013. paddlex/ppdet/modeling/mot/motion/__init__.py +0 -17
  1014. paddlex/ppdet/modeling/mot/motion/kalman_filter.py +0 -270
  1015. paddlex/ppdet/modeling/mot/tracker/__init__.py +0 -23
  1016. paddlex/ppdet/modeling/mot/tracker/base_jde_tracker.py +0 -267
  1017. paddlex/ppdet/modeling/mot/tracker/base_sde_tracker.py +0 -145
  1018. paddlex/ppdet/modeling/mot/tracker/deepsort_tracker.py +0 -165
  1019. paddlex/ppdet/modeling/mot/tracker/jde_tracker.py +0 -262
  1020. paddlex/ppdet/modeling/mot/utils.py +0 -181
  1021. paddlex/ppdet/modeling/mot/visualization.py +0 -130
  1022. paddlex/ppdet/modeling/necks/__init__.py +0 -25
  1023. paddlex/ppdet/modeling/necks/centernet_fpn.py +0 -185
  1024. paddlex/ppdet/modeling/necks/fpn.py +0 -233
  1025. paddlex/ppdet/modeling/necks/hrfpn.py +0 -131
  1026. paddlex/ppdet/modeling/necks/ttf_fpn.py +0 -243
  1027. paddlex/ppdet/modeling/necks/yolo_fpn.py +0 -1034
  1028. paddlex/ppdet/modeling/ops.py +0 -1599
  1029. paddlex/ppdet/modeling/post_process.py +0 -449
  1030. paddlex/ppdet/modeling/proposal_generator/__init__.py +0 -2
  1031. paddlex/ppdet/modeling/proposal_generator/anchor_generator.py +0 -135
  1032. paddlex/ppdet/modeling/proposal_generator/proposal_generator.py +0 -81
  1033. paddlex/ppdet/modeling/proposal_generator/rpn_head.py +0 -269
  1034. paddlex/ppdet/modeling/proposal_generator/target.py +0 -671
  1035. paddlex/ppdet/modeling/proposal_generator/target_layer.py +0 -476
  1036. paddlex/ppdet/modeling/reid/__init__.py +0 -23
  1037. paddlex/ppdet/modeling/reid/fairmot_embedding_head.py +0 -117
  1038. paddlex/ppdet/modeling/reid/jde_embedding_head.py +0 -189
  1039. paddlex/ppdet/modeling/reid/pyramidal_embedding.py +0 -151
  1040. paddlex/ppdet/modeling/reid/resnet.py +0 -320
  1041. paddlex/ppdet/modeling/shape_spec.py +0 -33
  1042. paddlex/ppdet/modeling/tests/__init__.py +0 -13
  1043. paddlex/ppdet/modeling/tests/test_architectures.py +0 -59
  1044. paddlex/ppdet/modeling/tests/test_base.py +0 -75
  1045. paddlex/ppdet/modeling/tests/test_ops.py +0 -839
  1046. paddlex/ppdet/modeling/tests/test_yolov3_loss.py +0 -420
  1047. paddlex/ppdet/optimizer.py +0 -285
  1048. paddlex/ppdet/slim/__init__.py +0 -62
  1049. paddlex/ppdet/slim/distill.py +0 -111
  1050. paddlex/ppdet/slim/prune.py +0 -85
  1051. paddlex/ppdet/slim/quant.py +0 -52
  1052. paddlex/ppdet/utils/__init__.py +0 -13
  1053. paddlex/ppdet/utils/check.py +0 -93
  1054. paddlex/ppdet/utils/checkpoint.py +0 -216
  1055. paddlex/ppdet/utils/cli.py +0 -151
  1056. paddlex/ppdet/utils/colormap.py +0 -56
  1057. paddlex/ppdet/utils/download.py +0 -477
  1058. paddlex/ppdet/utils/logger.py +0 -71
  1059. paddlex/ppdet/utils/stats.py +0 -95
  1060. paddlex/ppdet/utils/visualizer.py +0 -292
  1061. paddlex/ppdet/utils/voc_utils.py +0 -87
  1062. paddlex/seg.py +0 -38
  1063. paddlex/tools/__init__.py +0 -16
  1064. paddlex/tools/convert.py +0 -52
  1065. paddlex/tools/dataset_conversion/__init__.py +0 -24
  1066. paddlex/tools/dataset_conversion/x2coco.py +0 -379
  1067. paddlex/tools/dataset_conversion/x2imagenet.py +0 -82
  1068. paddlex/tools/dataset_conversion/x2seg.py +0 -343
  1069. paddlex/tools/dataset_conversion/x2voc.py +0 -230
  1070. paddlex/tools/dataset_split/__init__.py +0 -23
  1071. paddlex/tools/dataset_split/coco_split.py +0 -69
  1072. paddlex/tools/dataset_split/imagenet_split.py +0 -75
  1073. paddlex/tools/dataset_split/seg_split.py +0 -96
  1074. paddlex/tools/dataset_split/utils.py +0 -75
  1075. paddlex/tools/dataset_split/voc_split.py +0 -91
  1076. paddlex/tools/split.py +0 -41
  1077. paddlex/utils/checkpoint.py +0 -439
  1078. paddlex/utils/env.py +0 -71
  1079. paddlex/utils/shm.py +0 -67
  1080. paddlex/utils/stats.py +0 -68
  1081. paddlex/utils/utils.py +0 -140
  1082. paddlex-2.0.0rc4.dist-info/LICENSE +0 -201
  1083. paddlex-2.0.0rc4.dist-info/METADATA +0 -29
  1084. paddlex-2.0.0rc4.dist-info/RECORD +0 -445
  1085. paddlex-2.0.0rc4.dist-info/WHEEL +0 -5
  1086. paddlex-2.0.0rc4.dist-info/entry_points.txt +0 -3
  1087. paddlex-2.0.0rc4.dist-info/top_level.txt +0 -2
@@ -1,420 +0,0 @@
1
- # Copyright (c) 2018 PaddlePaddle Authors. All Rights Reserved.
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
-
15
- from __future__ import division
16
-
17
- import unittest
18
- import numpy as np
19
- from scipy.special import logit
20
- from scipy.special import expit
21
-
22
- import paddle
23
- from paddle import fluid
24
- from paddle.fluid import core
25
- # add python path of PadleDetection to sys.path
26
- import os
27
- import sys
28
- parent_path = os.path.abspath(os.path.join(__file__, *(['..'] * 4)))
29
- if parent_path not in sys.path:
30
- sys.path.append(parent_path)
31
-
32
- from paddlex.ppdet.modeling.losses import YOLOv3Loss
33
- from paddlex.ppdet.data.transform.op_helper import jaccard_overlap
34
- import random
35
- import numpy as np
36
-
37
-
38
- def _split_ioup(output, an_num, num_classes):
39
- """
40
- Split output feature map to output, predicted iou
41
- along channel dimension
42
- """
43
- ioup = fluid.layers.slice(output, axes=[1], starts=[0], ends=[an_num])
44
- ioup = fluid.layers.sigmoid(ioup)
45
- oriout = fluid.layers.slice(
46
- output, axes=[1], starts=[an_num], ends=[an_num * (num_classes + 6)])
47
- return (ioup, oriout)
48
-
49
-
50
- def _split_output(output, an_num, num_classes):
51
- """
52
- Split output feature map to x, y, w, h, objectness, classification
53
- along channel dimension
54
- """
55
- x = fluid.layers.strided_slice(
56
- output,
57
- axes=[1],
58
- starts=[0],
59
- ends=[output.shape[1]],
60
- strides=[5 + num_classes])
61
- y = fluid.layers.strided_slice(
62
- output,
63
- axes=[1],
64
- starts=[1],
65
- ends=[output.shape[1]],
66
- strides=[5 + num_classes])
67
- w = fluid.layers.strided_slice(
68
- output,
69
- axes=[1],
70
- starts=[2],
71
- ends=[output.shape[1]],
72
- strides=[5 + num_classes])
73
- h = fluid.layers.strided_slice(
74
- output,
75
- axes=[1],
76
- starts=[3],
77
- ends=[output.shape[1]],
78
- strides=[5 + num_classes])
79
- obj = fluid.layers.strided_slice(
80
- output,
81
- axes=[1],
82
- starts=[4],
83
- ends=[output.shape[1]],
84
- strides=[5 + num_classes])
85
- clss = []
86
- stride = output.shape[1] // an_num
87
- for m in range(an_num):
88
- clss.append(
89
- fluid.layers.slice(
90
- output,
91
- axes=[1],
92
- starts=[stride * m + 5],
93
- ends=[stride * m + 5 + num_classes]))
94
- cls = fluid.layers.transpose(
95
- fluid.layers.stack(
96
- clss, axis=1), perm=[0, 1, 3, 4, 2])
97
- return (x, y, w, h, obj, cls)
98
-
99
-
100
- def _split_target(target):
101
- """
102
- split target to x, y, w, h, objectness, classification
103
- along dimension 2
104
- target is in shape [N, an_num, 6 + class_num, H, W]
105
- """
106
- tx = target[:, :, 0, :, :]
107
- ty = target[:, :, 1, :, :]
108
- tw = target[:, :, 2, :, :]
109
- th = target[:, :, 3, :, :]
110
- tscale = target[:, :, 4, :, :]
111
- tobj = target[:, :, 5, :, :]
112
- tcls = fluid.layers.transpose(target[:, :, 6:, :, :], perm=[0, 1, 3, 4, 2])
113
- tcls.stop_gradient = True
114
- return (tx, ty, tw, th, tscale, tobj, tcls)
115
-
116
-
117
- def _calc_obj_loss(output, obj, tobj, gt_box, batch_size, anchors, num_classes,
118
- downsample, ignore_thresh, scale_x_y):
119
- # A prediction bbox overlap any gt_bbox over ignore_thresh,
120
- # objectness loss will be ignored, process as follows:
121
- # 1. get pred bbox, which is same with YOLOv3 infer mode, use yolo_box here
122
- # NOTE: img_size is set as 1.0 to get noramlized pred bbox
123
- bbox, prob = fluid.layers.yolo_box(
124
- x=output,
125
- img_size=fluid.layers.ones(
126
- shape=[batch_size, 2], dtype="int32"),
127
- anchors=anchors,
128
- class_num=num_classes,
129
- conf_thresh=0.,
130
- downsample_ratio=downsample,
131
- clip_bbox=False,
132
- scale_x_y=scale_x_y)
133
- # 2. split pred bbox and gt bbox by sample, calculate IoU between pred bbox
134
- # and gt bbox in each sample
135
- if batch_size > 1:
136
- preds = fluid.layers.split(bbox, batch_size, dim=0)
137
- gts = fluid.layers.split(gt_box, batch_size, dim=0)
138
- else:
139
- preds = [bbox]
140
- gts = [gt_box]
141
- probs = [prob]
142
- ious = []
143
- for pred, gt in zip(preds, gts):
144
-
145
- def box_xywh2xyxy(box):
146
- x = box[:, 0]
147
- y = box[:, 1]
148
- w = box[:, 2]
149
- h = box[:, 3]
150
- return fluid.layers.stack(
151
- [
152
- x - w / 2.,
153
- y - h / 2.,
154
- x + w / 2.,
155
- y + h / 2.,
156
- ], axis=1)
157
-
158
- pred = fluid.layers.squeeze(pred, axes=[0])
159
- gt = box_xywh2xyxy(fluid.layers.squeeze(gt, axes=[0]))
160
- ious.append(fluid.layers.iou_similarity(pred, gt))
161
- iou = fluid.layers.stack(ious, axis=0)
162
- # 3. Get iou_mask by IoU between gt bbox and prediction bbox,
163
- # Get obj_mask by tobj(holds gt_score), calculate objectness loss
164
- max_iou = fluid.layers.reduce_max(iou, dim=-1)
165
- iou_mask = fluid.layers.cast(max_iou <= ignore_thresh, dtype="float32")
166
- output_shape = fluid.layers.shape(output)
167
- an_num = len(anchors) // 2
168
- iou_mask = fluid.layers.reshape(iou_mask, (-1, an_num, output_shape[2],
169
- output_shape[3]))
170
- iou_mask.stop_gradient = True
171
- # NOTE: tobj holds gt_score, obj_mask holds object existence mask
172
- obj_mask = fluid.layers.cast(tobj > 0., dtype="float32")
173
- obj_mask.stop_gradient = True
174
- # For positive objectness grids, objectness loss should be calculated
175
- # For negative objectness grids, objectness loss is calculated only iou_mask == 1.0
176
- loss_obj = fluid.layers.sigmoid_cross_entropy_with_logits(obj, obj_mask)
177
- loss_obj_pos = fluid.layers.reduce_sum(loss_obj * tobj, dim=[1, 2, 3])
178
- loss_obj_neg = fluid.layers.reduce_sum(
179
- loss_obj * (1.0 - obj_mask) * iou_mask, dim=[1, 2, 3])
180
- return loss_obj_pos, loss_obj_neg
181
-
182
-
183
- def fine_grained_loss(output,
184
- target,
185
- gt_box,
186
- batch_size,
187
- num_classes,
188
- anchors,
189
- ignore_thresh,
190
- downsample,
191
- scale_x_y=1.,
192
- eps=1e-10):
193
- an_num = len(anchors) // 2
194
- x, y, w, h, obj, cls = _split_output(output, an_num, num_classes)
195
- tx, ty, tw, th, tscale, tobj, tcls = _split_target(target)
196
-
197
- tscale_tobj = tscale * tobj
198
-
199
- scale_x_y = scale_x_y
200
-
201
- if (abs(scale_x_y - 1.0) < eps):
202
- loss_x = fluid.layers.sigmoid_cross_entropy_with_logits(
203
- x, tx) * tscale_tobj
204
- loss_x = fluid.layers.reduce_sum(loss_x, dim=[1, 2, 3])
205
- loss_y = fluid.layers.sigmoid_cross_entropy_with_logits(
206
- y, ty) * tscale_tobj
207
- loss_y = fluid.layers.reduce_sum(loss_y, dim=[1, 2, 3])
208
- else:
209
- dx = scale_x_y * fluid.layers.sigmoid(x) - 0.5 * (scale_x_y - 1.0)
210
- dy = scale_x_y * fluid.layers.sigmoid(y) - 0.5 * (scale_x_y - 1.0)
211
- loss_x = fluid.layers.abs(dx - tx) * tscale_tobj
212
- loss_x = fluid.layers.reduce_sum(loss_x, dim=[1, 2, 3])
213
- loss_y = fluid.layers.abs(dy - ty) * tscale_tobj
214
- loss_y = fluid.layers.reduce_sum(loss_y, dim=[1, 2, 3])
215
-
216
- # NOTE: we refined loss function of (w, h) as L1Loss
217
- loss_w = fluid.layers.abs(w - tw) * tscale_tobj
218
- loss_w = fluid.layers.reduce_sum(loss_w, dim=[1, 2, 3])
219
- loss_h = fluid.layers.abs(h - th) * tscale_tobj
220
- loss_h = fluid.layers.reduce_sum(loss_h, dim=[1, 2, 3])
221
-
222
- loss_obj_pos, loss_obj_neg = _calc_obj_loss(
223
- output, obj, tobj, gt_box, batch_size, anchors, num_classes,
224
- downsample, ignore_thresh, scale_x_y)
225
-
226
- loss_cls = fluid.layers.sigmoid_cross_entropy_with_logits(cls, tcls)
227
- loss_cls = fluid.layers.elementwise_mul(loss_cls, tobj, axis=0)
228
- loss_cls = fluid.layers.reduce_sum(loss_cls, dim=[1, 2, 3, 4])
229
-
230
- loss_xys = fluid.layers.reduce_mean(loss_x + loss_y)
231
- loss_whs = fluid.layers.reduce_mean(loss_w + loss_h)
232
- loss_objs = fluid.layers.reduce_mean(loss_obj_pos + loss_obj_neg)
233
- loss_clss = fluid.layers.reduce_mean(loss_cls)
234
-
235
- losses_all = {
236
- "loss_xy": fluid.layers.sum(loss_xys),
237
- "loss_wh": fluid.layers.sum(loss_whs),
238
- "loss_loc": fluid.layers.sum(loss_xys) + fluid.layers.sum(loss_whs),
239
- "loss_obj": fluid.layers.sum(loss_objs),
240
- "loss_cls": fluid.layers.sum(loss_clss),
241
- }
242
- return losses_all, x, y, tx, ty
243
-
244
-
245
- def gt2yolotarget(gt_bbox, gt_class, gt_score, anchors, mask, num_classes,
246
- size, stride):
247
- grid_h, grid_w = size
248
- h, w = grid_h * stride, grid_w * stride
249
- an_hw = np.array(anchors) / np.array([[w, h]])
250
- target = np.zeros(
251
- (len(mask), 6 + num_classes, grid_h, grid_w), dtype=np.float32)
252
- for b in range(gt_bbox.shape[0]):
253
- gx, gy, gw, gh = gt_bbox[b, :]
254
- cls = gt_class[b]
255
- score = gt_score[b]
256
- if gw <= 0. or gh <= 0. or score <= 0.:
257
- continue
258
-
259
- # find best match anchor index
260
- best_iou = 0.
261
- best_idx = -1
262
- for an_idx in range(an_hw.shape[0]):
263
- iou = jaccard_overlap(
264
- [0., 0., gw, gh],
265
- [0., 0., an_hw[an_idx, 0], an_hw[an_idx, 1]])
266
- if iou > best_iou:
267
- best_iou = iou
268
- best_idx = an_idx
269
-
270
- gi = int(gx * grid_w)
271
- gj = int(gy * grid_h)
272
-
273
- # gtbox should be regresed in this layes if best match
274
- # anchor index in anchor mask of this layer
275
- if best_idx in mask:
276
- best_n = mask.index(best_idx)
277
-
278
- # x, y, w, h, scale
279
- target[best_n, 0, gj, gi] = gx * grid_w - gi
280
- target[best_n, 1, gj, gi] = gy * grid_h - gj
281
- target[best_n, 2, gj, gi] = np.log(gw * w / anchors[best_idx][0])
282
- target[best_n, 3, gj, gi] = np.log(gh * h / anchors[best_idx][1])
283
- target[best_n, 4, gj, gi] = 2.0 - gw * gh
284
-
285
- # objectness record gt_score
286
- # if target[best_n, 5, gj, gi] > 0:
287
- # print('find 1 duplicate')
288
- target[best_n, 5, gj, gi] = score
289
-
290
- # classification
291
- target[best_n, 6 + cls, gj, gi] = 1.
292
-
293
- return target
294
-
295
-
296
- class TestYolov3LossOp(unittest.TestCase):
297
- def setUp(self):
298
- self.initTestCase()
299
- x = np.random.uniform(0, 1, self.x_shape).astype('float64')
300
- gtbox = np.random.random(size=self.gtbox_shape).astype('float64')
301
- gtlabel = np.random.randint(0, self.class_num, self.gtbox_shape[:2])
302
- gtmask = np.random.randint(0, 2, self.gtbox_shape[:2])
303
- gtbox = gtbox * gtmask[:, :, np.newaxis]
304
- gtlabel = gtlabel * gtmask
305
-
306
- gtscore = np.ones(self.gtbox_shape[:2]).astype('float64')
307
- if self.gtscore:
308
- gtscore = np.random.random(self.gtbox_shape[:2]).astype('float64')
309
-
310
- target = []
311
- for box, label, score in zip(gtbox, gtlabel, gtscore):
312
- target.append(
313
- gt2yolotarget(box, label, score, self.anchors,
314
- self.anchor_mask, self.class_num, (
315
- self.h, self.w), self.downsample_ratio))
316
-
317
- self.target = np.array(target).astype('float64')
318
-
319
- self.mask_anchors = []
320
- for i in self.anchor_mask:
321
- self.mask_anchors.extend(self.anchors[i])
322
- self.x = x
323
- self.gtbox = gtbox
324
- self.gtlabel = gtlabel
325
- self.gtscore = gtscore
326
-
327
- def initTestCase(self):
328
- self.b = 8
329
- self.h = 19
330
- self.w = 19
331
- self.anchors = [[10, 13], [16, 30], [33, 23], [30, 61], [62, 45],
332
- [59, 119], [116, 90], [156, 198], [373, 326]]
333
- self.anchor_mask = [6, 7, 8]
334
- self.na = len(self.anchor_mask)
335
- self.class_num = 80
336
- self.ignore_thresh = 0.7
337
- self.downsample_ratio = 32
338
- self.x_shape = (self.b, len(self.anchor_mask) * (5 + self.class_num),
339
- self.h, self.w)
340
- self.gtbox_shape = (self.b, 40, 4)
341
- self.gtscore = True
342
- self.use_label_smooth = False
343
- self.scale_x_y = 1.
344
-
345
- def test_loss(self):
346
- x, gtbox, gtlabel, gtscore, target = self.x, self.gtbox, self.gtlabel, self.gtscore, self.target
347
- yolo_loss = YOLOv3Loss(
348
- ignore_thresh=self.ignore_thresh,
349
- label_smooth=self.use_label_smooth,
350
- num_classes=self.class_num,
351
- downsample=self.downsample_ratio,
352
- scale_x_y=self.scale_x_y)
353
- x = paddle.to_tensor(x.astype(np.float32))
354
- gtbox = paddle.to_tensor(gtbox.astype(np.float32))
355
- gtlabel = paddle.to_tensor(gtlabel.astype(np.float32))
356
- gtscore = paddle.to_tensor(gtscore.astype(np.float32))
357
- t = paddle.to_tensor(target.astype(np.float32))
358
- anchor = [self.anchors[i] for i in self.anchor_mask]
359
- (yolo_loss1, px, py, tx, ty) = fine_grained_loss(
360
- output=x,
361
- target=t,
362
- gt_box=gtbox,
363
- batch_size=self.b,
364
- num_classes=self.class_num,
365
- anchors=self.mask_anchors,
366
- ignore_thresh=self.ignore_thresh,
367
- downsample=self.downsample_ratio,
368
- scale_x_y=self.scale_x_y)
369
- yolo_loss2 = yolo_loss.yolov3_loss(
370
- x, t, gtbox, anchor, self.downsample_ratio, self.scale_x_y)
371
- for k in yolo_loss2:
372
- self.assertAlmostEqual(
373
- yolo_loss1[k].numpy()[0],
374
- yolo_loss2[k].numpy()[0],
375
- delta=1e-2,
376
- msg=k)
377
-
378
-
379
- class TestYolov3LossNoGTScore(TestYolov3LossOp):
380
- def initTestCase(self):
381
- self.b = 1
382
- self.h = 76
383
- self.w = 76
384
- self.anchors = [[10, 13], [16, 30], [33, 23], [30, 61], [62, 45],
385
- [59, 119], [116, 90], [156, 198], [373, 326]]
386
- self.anchor_mask = [0, 1, 2]
387
- self.na = len(self.anchor_mask)
388
- self.class_num = 80
389
- self.ignore_thresh = 0.7
390
- self.downsample_ratio = 8
391
- self.x_shape = (self.b, len(self.anchor_mask) * (5 + self.class_num),
392
- self.h, self.w)
393
- self.gtbox_shape = (self.b, 40, 4)
394
- self.gtscore = False
395
- self.use_label_smooth = False
396
- self.scale_x_y = 1.
397
-
398
-
399
- class TestYolov3LossWithScaleXY(TestYolov3LossOp):
400
- def initTestCase(self):
401
- self.b = 5
402
- self.h = 38
403
- self.w = 38
404
- self.anchors = [[10, 13], [16, 30], [33, 23], [30, 61], [62, 45],
405
- [59, 119], [116, 90], [156, 198], [373, 326]]
406
- self.anchor_mask = [3, 4, 5]
407
- self.na = len(self.anchor_mask)
408
- self.class_num = 80
409
- self.ignore_thresh = 0.7
410
- self.downsample_ratio = 16
411
- self.x_shape = (self.b, len(self.anchor_mask) * (5 + self.class_num),
412
- self.h, self.w)
413
- self.gtbox_shape = (self.b, 40, 4)
414
- self.gtscore = True
415
- self.use_label_smooth = False
416
- self.scale_x_y = 1.2
417
-
418
-
419
- if __name__ == "__main__":
420
- unittest.main()
@@ -1,285 +0,0 @@
1
- # Copyright (c) 2019 PaddlePaddle Authors. All Rights Reserved.
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
-
15
- from __future__ import absolute_import
16
- from __future__ import division
17
- from __future__ import print_function
18
-
19
- import math
20
- import copy
21
- import paddle
22
- import paddle.nn as nn
23
-
24
- import paddle.optimizer as optimizer
25
- from paddle.optimizer.lr import CosineAnnealingDecay
26
- import paddle.regularizer as regularizer
27
- from paddle import cos
28
-
29
- from paddlex.ppdet.core.workspace import register, serializable
30
-
31
- __all__ = ['LearningRate', 'OptimizerBuilder']
32
-
33
- from paddlex.ppdet.utils.logger import setup_logger
34
- logger = setup_logger(__name__)
35
-
36
-
37
- @serializable
38
- class CosineDecay(object):
39
- """
40
- Cosine learning rate decay
41
-
42
- Args:
43
- max_epochs (int): max epochs for the training process.
44
- if you commbine cosine decay with warmup, it is recommended that
45
- the max_iters is much larger than the warmup iter
46
- """
47
-
48
- def __init__(self, max_epochs=1000, use_warmup=True):
49
- self.max_epochs = max_epochs
50
- self.use_warmup = use_warmup
51
-
52
- def __call__(self,
53
- base_lr=None,
54
- boundary=None,
55
- value=None,
56
- step_per_epoch=None):
57
- assert base_lr is not None, "either base LR or values should be provided"
58
-
59
- max_iters = self.max_epochs * int(step_per_epoch)
60
-
61
- if boundary is not None and value is not None and self.use_warmup:
62
- for i in range(int(boundary[-1]), max_iters):
63
- boundary.append(i)
64
-
65
- decayed_lr = base_lr * 0.5 * (
66
- math.cos(i * math.pi / max_iters) + 1)
67
- value.append(decayed_lr)
68
- return optimizer.lr.PiecewiseDecay(boundary, value)
69
-
70
- return optimizer.lr.CosineAnnealingDecay(base_lr, T_max=max_iters)
71
-
72
-
73
- @serializable
74
- class PiecewiseDecay(object):
75
- """
76
- Multi step learning rate decay
77
-
78
- Args:
79
- gamma (float | list): decay factor
80
- milestones (list): steps at which to decay learning rate
81
- """
82
-
83
- def __init__(self,
84
- gamma=[0.1, 0.01],
85
- milestones=[8, 11],
86
- values=None,
87
- use_warmup=True):
88
- super(PiecewiseDecay, self).__init__()
89
- if type(gamma) is not list:
90
- self.gamma = []
91
- for i in range(len(milestones)):
92
- self.gamma.append(gamma / 10**i)
93
- else:
94
- self.gamma = gamma
95
- self.milestones = milestones
96
- self.values = values
97
- self.use_warmup = use_warmup
98
-
99
- def __call__(self,
100
- base_lr=None,
101
- boundary=None,
102
- value=None,
103
- step_per_epoch=None):
104
- if boundary is not None and self.use_warmup:
105
- boundary.extend([int(step_per_epoch) * i for i in self.milestones])
106
- else:
107
- # do not use LinearWarmup
108
- boundary = [int(step_per_epoch) * i for i in self.milestones]
109
- value = [base_lr] # during step[0, boundary[0]] is base_lr
110
-
111
- # self.values is setted directly in config
112
- if self.values is not None:
113
- assert len(self.milestones) + 1 == len(self.values)
114
- return optimizer.lr.PiecewiseDecay(boundary, self.values)
115
-
116
- # value is computed by self.gamma
117
- value = value if value is not None else [base_lr]
118
- for i in self.gamma:
119
- value.append(base_lr * i)
120
-
121
- return optimizer.lr.PiecewiseDecay(boundary, value)
122
-
123
-
124
- @serializable
125
- class LinearWarmup(object):
126
- """
127
- Warm up learning rate linearly
128
-
129
- Args:
130
- steps (int): warm up steps
131
- start_factor (float): initial learning rate factor
132
- """
133
-
134
- def __init__(self, steps=500, start_factor=1. / 3):
135
- super(LinearWarmup, self).__init__()
136
- self.steps = steps
137
- self.start_factor = start_factor
138
-
139
- def __call__(self, base_lr, step_per_epoch):
140
- boundary = []
141
- value = []
142
- for i in range(self.steps + 1):
143
- if self.steps > 0:
144
- alpha = i / self.steps
145
- factor = self.start_factor * (1 - alpha) + alpha
146
- lr = base_lr * factor
147
- value.append(lr)
148
- if i > 0:
149
- boundary.append(i)
150
- return boundary, value
151
-
152
-
153
- @serializable
154
- class BurninWarmup(object):
155
- """
156
- Warm up learning rate in burnin mode
157
- Args:
158
- steps (int): warm up steps
159
- """
160
-
161
- def __init__(self, steps=1000):
162
- super(BurninWarmup, self).__init__()
163
- self.steps = steps
164
-
165
- def __call__(self, base_lr, step_per_epoch):
166
- boundary = []
167
- value = []
168
- burnin = min(self.steps, step_per_epoch)
169
- for i in range(burnin + 1):
170
- factor = (i * 1.0 / burnin)**4
171
- lr = base_lr * factor
172
- value.append(lr)
173
- if i > 0:
174
- boundary.append(i)
175
- return boundary, value
176
-
177
-
178
- @register
179
- class LearningRate(object):
180
- """
181
- Learning Rate configuration
182
-
183
- Args:
184
- base_lr (float): base learning rate
185
- schedulers (list): learning rate schedulers
186
- """
187
- __category__ = 'optim'
188
-
189
- def __init__(self,
190
- base_lr=0.01,
191
- schedulers=[PiecewiseDecay(), LinearWarmup()]):
192
- super(LearningRate, self).__init__()
193
- self.base_lr = base_lr
194
- self.schedulers = schedulers
195
-
196
- def __call__(self, step_per_epoch):
197
- assert len(self.schedulers) >= 1
198
- if not self.schedulers[0].use_warmup:
199
- return self.schedulers[0](base_lr=self.base_lr,
200
- step_per_epoch=step_per_epoch)
201
-
202
- # TODO: split warmup & decay
203
- # warmup
204
- boundary, value = self.schedulers[1](self.base_lr, step_per_epoch)
205
- # decay
206
- decay_lr = self.schedulers[0](self.base_lr, boundary, value,
207
- step_per_epoch)
208
- return decay_lr
209
-
210
-
211
- @register
212
- class OptimizerBuilder():
213
- """
214
- Build optimizer handles
215
- Args:
216
- regularizer (object): an `Regularizer` instance
217
- optimizer (object): an `Optimizer` instance
218
- """
219
- __category__ = 'optim'
220
-
221
- def __init__(self,
222
- clip_grad_by_norm=None,
223
- regularizer={'type': 'L2',
224
- 'factor': .0001},
225
- optimizer={'type': 'Momentum',
226
- 'momentum': .9}):
227
- self.clip_grad_by_norm = clip_grad_by_norm
228
- self.regularizer = regularizer
229
- self.optimizer = optimizer
230
-
231
- def __call__(self, learning_rate, params=None):
232
- if self.clip_grad_by_norm is not None:
233
- grad_clip = nn.ClipGradByGlobalNorm(
234
- clip_norm=self.clip_grad_by_norm)
235
- else:
236
- grad_clip = None
237
- if self.regularizer and self.regularizer != 'None':
238
- reg_type = self.regularizer['type'] + 'Decay'
239
- reg_factor = self.regularizer['factor']
240
- regularization = getattr(regularizer, reg_type)(reg_factor)
241
- else:
242
- regularization = None
243
-
244
- optim_args = self.optimizer.copy()
245
- optim_type = optim_args['type']
246
- del optim_args['type']
247
- op = getattr(optimizer, optim_type)
248
- return op(learning_rate=learning_rate,
249
- parameters=params,
250
- weight_decay=regularization,
251
- grad_clip=grad_clip,
252
- **optim_args)
253
-
254
-
255
- class ModelEMA(object):
256
- def __init__(self, decay, model, use_thres_step=False):
257
- self.step = 0
258
- self.decay = decay
259
- self.state_dict = dict()
260
- for k, v in model.state_dict().items():
261
- self.state_dict[k] = paddle.zeros_like(v)
262
- self.use_thres_step = use_thres_step
263
-
264
- def update(self, model):
265
- if self.use_thres_step:
266
- decay = min(self.decay, (1 + self.step) / (10 + self.step))
267
- else:
268
- decay = self.decay
269
- self._decay = decay
270
- model_dict = model.state_dict()
271
- for k, v in self.state_dict.items():
272
- v = decay * v + (1 - decay) * model_dict[k]
273
- v.stop_gradient = True
274
- self.state_dict[k] = v
275
- self.step += 1
276
-
277
- def apply(self):
278
- if self.step == 0:
279
- return self.state_dict
280
- state_dict = dict()
281
- for k, v in self.state_dict.items():
282
- v = v / (1 - self._decay**self.step)
283
- v.stop_gradient = True
284
- state_dict[k] = v
285
- return state_dict