paddlex 2.1.0__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 (1340) hide show
  1. paddlex/.version +1 -0
  2. paddlex/__init__.py +51 -19
  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/deploy/__init__.py +0 -1
  649. PaddleClas/deploy/paddleserving/__init__.py +0 -0
  650. PaddleClas/deploy/paddleserving/classification_web_service.py +0 -74
  651. PaddleClas/deploy/paddleserving/cpu_utilization.py +0 -4
  652. PaddleClas/deploy/paddleserving/pipeline_http_client.py +0 -20
  653. PaddleClas/deploy/paddleserving/pipeline_rpc_client.py +0 -33
  654. PaddleClas/deploy/paddleserving/recognition/__init__.py +0 -0
  655. PaddleClas/deploy/paddleserving/recognition/pipeline_http_client.py +0 -21
  656. PaddleClas/deploy/paddleserving/recognition/pipeline_rpc_client.py +0 -34
  657. PaddleClas/deploy/paddleserving/recognition/recognition_web_service.py +0 -209
  658. PaddleClas/deploy/python/__init__.py +0 -0
  659. PaddleClas/deploy/python/build_gallery.py +0 -214
  660. PaddleClas/deploy/python/det_preprocess.py +0 -205
  661. PaddleClas/deploy/python/postprocess.py +0 -161
  662. PaddleClas/deploy/python/predict_cls.py +0 -142
  663. PaddleClas/deploy/python/predict_det.py +0 -158
  664. PaddleClas/deploy/python/predict_rec.py +0 -138
  665. PaddleClas/deploy/python/predict_system.py +0 -144
  666. PaddleClas/deploy/python/preprocess.py +0 -337
  667. PaddleClas/deploy/utils/__init__.py +0 -5
  668. PaddleClas/deploy/utils/config.py +0 -197
  669. PaddleClas/deploy/utils/draw_bbox.py +0 -61
  670. PaddleClas/deploy/utils/encode_decode.py +0 -31
  671. PaddleClas/deploy/utils/get_image_list.py +0 -49
  672. PaddleClas/deploy/utils/logger.py +0 -120
  673. PaddleClas/deploy/utils/predictor.py +0 -71
  674. PaddleClas/deploy/vector_search/__init__.py +0 -1
  675. PaddleClas/deploy/vector_search/interface.py +0 -272
  676. PaddleClas/deploy/vector_search/test.py +0 -34
  677. PaddleClas/hubconf.py +0 -788
  678. PaddleClas/paddleclas.py +0 -552
  679. PaddleClas/ppcls/__init__.py +0 -20
  680. PaddleClas/ppcls/arch/__init__.py +0 -127
  681. PaddleClas/ppcls/arch/backbone/__init__.py +0 -80
  682. PaddleClas/ppcls/arch/backbone/base/__init__.py +0 -0
  683. PaddleClas/ppcls/arch/backbone/base/theseus_layer.py +0 -126
  684. PaddleClas/ppcls/arch/backbone/legendary_models/__init__.py +0 -6
  685. PaddleClas/ppcls/arch/backbone/legendary_models/esnet.py +0 -355
  686. PaddleClas/ppcls/arch/backbone/legendary_models/hrnet.py +0 -744
  687. PaddleClas/ppcls/arch/backbone/legendary_models/inception_v3.py +0 -539
  688. PaddleClas/ppcls/arch/backbone/legendary_models/mobilenet_v1.py +0 -234
  689. PaddleClas/ppcls/arch/backbone/legendary_models/mobilenet_v3.py +0 -561
  690. PaddleClas/ppcls/arch/backbone/legendary_models/pp_lcnet.py +0 -399
  691. PaddleClas/ppcls/arch/backbone/legendary_models/resnet.py +0 -534
  692. PaddleClas/ppcls/arch/backbone/legendary_models/vgg.py +0 -231
  693. PaddleClas/ppcls/arch/backbone/model_zoo/__init__.py +0 -0
  694. PaddleClas/ppcls/arch/backbone/model_zoo/alexnet.py +0 -168
  695. PaddleClas/ppcls/arch/backbone/model_zoo/cspnet.py +0 -376
  696. PaddleClas/ppcls/arch/backbone/model_zoo/darknet.py +0 -197
  697. PaddleClas/ppcls/arch/backbone/model_zoo/densenet.py +0 -344
  698. PaddleClas/ppcls/arch/backbone/model_zoo/distilled_vision_transformer.py +0 -272
  699. PaddleClas/ppcls/arch/backbone/model_zoo/dla.py +0 -528
  700. PaddleClas/ppcls/arch/backbone/model_zoo/dpn.py +0 -451
  701. PaddleClas/ppcls/arch/backbone/model_zoo/efficientnet.py +0 -976
  702. PaddleClas/ppcls/arch/backbone/model_zoo/ghostnet.py +0 -363
  703. PaddleClas/ppcls/arch/backbone/model_zoo/googlenet.py +0 -229
  704. PaddleClas/ppcls/arch/backbone/model_zoo/gvt.py +0 -693
  705. PaddleClas/ppcls/arch/backbone/model_zoo/hardnet.py +0 -293
  706. PaddleClas/ppcls/arch/backbone/model_zoo/inception_v4.py +0 -477
  707. PaddleClas/ppcls/arch/backbone/model_zoo/levit.py +0 -589
  708. PaddleClas/ppcls/arch/backbone/model_zoo/mixnet.py +0 -815
  709. PaddleClas/ppcls/arch/backbone/model_zoo/mobilenet_v2.py +0 -287
  710. PaddleClas/ppcls/arch/backbone/model_zoo/rednet.py +0 -203
  711. PaddleClas/ppcls/arch/backbone/model_zoo/regnet.py +0 -431
  712. PaddleClas/ppcls/arch/backbone/model_zoo/repvgg.py +0 -422
  713. PaddleClas/ppcls/arch/backbone/model_zoo/res2net.py +0 -264
  714. PaddleClas/ppcls/arch/backbone/model_zoo/res2net_vd.py +0 -305
  715. PaddleClas/ppcls/arch/backbone/model_zoo/resnest.py +0 -740
  716. PaddleClas/ppcls/arch/backbone/model_zoo/resnet_vc.py +0 -309
  717. PaddleClas/ppcls/arch/backbone/model_zoo/resnext.py +0 -298
  718. PaddleClas/ppcls/arch/backbone/model_zoo/resnext101_wsl.py +0 -490
  719. PaddleClas/ppcls/arch/backbone/model_zoo/resnext_vd.py +0 -317
  720. PaddleClas/ppcls/arch/backbone/model_zoo/rexnet.py +0 -281
  721. PaddleClas/ppcls/arch/backbone/model_zoo/se_resnet_vd.py +0 -390
  722. PaddleClas/ppcls/arch/backbone/model_zoo/se_resnext.py +0 -364
  723. PaddleClas/ppcls/arch/backbone/model_zoo/se_resnext_vd.py +0 -309
  724. PaddleClas/ppcls/arch/backbone/model_zoo/shufflenet_v2.py +0 -362
  725. PaddleClas/ppcls/arch/backbone/model_zoo/squeezenet.py +0 -194
  726. PaddleClas/ppcls/arch/backbone/model_zoo/swin_transformer.py +0 -857
  727. PaddleClas/ppcls/arch/backbone/model_zoo/tnt.py +0 -385
  728. PaddleClas/ppcls/arch/backbone/model_zoo/vision_transformer.py +0 -495
  729. PaddleClas/ppcls/arch/backbone/model_zoo/xception.py +0 -377
  730. PaddleClas/ppcls/arch/backbone/model_zoo/xception_deeplab.py +0 -421
  731. PaddleClas/ppcls/arch/backbone/variant_models/__init__.py +0 -3
  732. PaddleClas/ppcls/arch/backbone/variant_models/pp_lcnet_variant.py +0 -29
  733. PaddleClas/ppcls/arch/backbone/variant_models/resnet_variant.py +0 -23
  734. PaddleClas/ppcls/arch/backbone/variant_models/vgg_variant.py +0 -28
  735. PaddleClas/ppcls/arch/gears/__init__.py +0 -32
  736. PaddleClas/ppcls/arch/gears/arcmargin.py +0 -72
  737. PaddleClas/ppcls/arch/gears/circlemargin.py +0 -59
  738. PaddleClas/ppcls/arch/gears/cosmargin.py +0 -55
  739. PaddleClas/ppcls/arch/gears/fc.py +0 -35
  740. PaddleClas/ppcls/arch/gears/identity_head.py +0 -9
  741. PaddleClas/ppcls/arch/gears/vehicle_neck.py +0 -52
  742. PaddleClas/ppcls/arch/utils.py +0 -53
  743. PaddleClas/ppcls/data/__init__.py +0 -144
  744. PaddleClas/ppcls/data/dataloader/DistributedRandomIdentitySampler.py +0 -90
  745. PaddleClas/ppcls/data/dataloader/__init__.py +0 -9
  746. PaddleClas/ppcls/data/dataloader/common_dataset.py +0 -84
  747. PaddleClas/ppcls/data/dataloader/dali.py +0 -319
  748. PaddleClas/ppcls/data/dataloader/icartoon_dataset.py +0 -36
  749. PaddleClas/ppcls/data/dataloader/imagenet_dataset.py +0 -38
  750. PaddleClas/ppcls/data/dataloader/logo_dataset.py +0 -46
  751. PaddleClas/ppcls/data/dataloader/mix_dataset.py +0 -49
  752. PaddleClas/ppcls/data/dataloader/mix_sampler.py +0 -79
  753. PaddleClas/ppcls/data/dataloader/multilabel_dataset.py +0 -59
  754. PaddleClas/ppcls/data/dataloader/pk_sampler.py +0 -105
  755. PaddleClas/ppcls/data/dataloader/vehicle_dataset.py +0 -138
  756. PaddleClas/ppcls/data/postprocess/__init__.py +0 -41
  757. PaddleClas/ppcls/data/postprocess/topk.py +0 -85
  758. PaddleClas/ppcls/data/preprocess/__init__.py +0 -100
  759. PaddleClas/ppcls/data/preprocess/batch_ops/__init__.py +0 -1
  760. PaddleClas/ppcls/data/preprocess/batch_ops/batch_operators.py +0 -231
  761. PaddleClas/ppcls/data/preprocess/ops/__init__.py +0 -1
  762. PaddleClas/ppcls/data/preprocess/ops/autoaugment.py +0 -264
  763. PaddleClas/ppcls/data/preprocess/ops/cutout.py +0 -41
  764. PaddleClas/ppcls/data/preprocess/ops/fmix.py +0 -217
  765. PaddleClas/ppcls/data/preprocess/ops/functional.py +0 -138
  766. PaddleClas/ppcls/data/preprocess/ops/grid.py +0 -89
  767. PaddleClas/ppcls/data/preprocess/ops/hide_and_seek.py +0 -44
  768. PaddleClas/ppcls/data/preprocess/ops/operators.py +0 -384
  769. PaddleClas/ppcls/data/preprocess/ops/randaugment.py +0 -106
  770. PaddleClas/ppcls/data/preprocess/ops/random_erasing.py +0 -90
  771. PaddleClas/ppcls/data/preprocess/ops/timm_autoaugment.py +0 -877
  772. PaddleClas/ppcls/data/utils/__init__.py +0 -13
  773. PaddleClas/ppcls/data/utils/get_image_list.py +0 -49
  774. PaddleClas/ppcls/engine/__init__.py +0 -0
  775. PaddleClas/ppcls/engine/engine.py +0 -436
  776. PaddleClas/ppcls/engine/evaluation/__init__.py +0 -16
  777. PaddleClas/ppcls/engine/evaluation/classification.py +0 -143
  778. PaddleClas/ppcls/engine/evaluation/retrieval.py +0 -169
  779. PaddleClas/ppcls/engine/slim/__init__.py +0 -16
  780. PaddleClas/ppcls/engine/slim/prune.py +0 -66
  781. PaddleClas/ppcls/engine/slim/quant.py +0 -55
  782. PaddleClas/ppcls/engine/train/__init__.py +0 -14
  783. PaddleClas/ppcls/engine/train/train.py +0 -79
  784. PaddleClas/ppcls/engine/train/utils.py +0 -72
  785. PaddleClas/ppcls/loss/__init__.py +0 -65
  786. PaddleClas/ppcls/loss/celoss.py +0 -67
  787. PaddleClas/ppcls/loss/centerloss.py +0 -54
  788. PaddleClas/ppcls/loss/comfunc.py +0 -45
  789. PaddleClas/ppcls/loss/deephashloss.py +0 -92
  790. PaddleClas/ppcls/loss/distanceloss.py +0 -43
  791. PaddleClas/ppcls/loss/distillationloss.py +0 -141
  792. PaddleClas/ppcls/loss/dmlloss.py +0 -46
  793. PaddleClas/ppcls/loss/emlloss.py +0 -97
  794. PaddleClas/ppcls/loss/googlenetloss.py +0 -41
  795. PaddleClas/ppcls/loss/msmloss.py +0 -78
  796. PaddleClas/ppcls/loss/multilabelloss.py +0 -43
  797. PaddleClas/ppcls/loss/npairsloss.py +0 -38
  798. PaddleClas/ppcls/loss/pairwisecosface.py +0 -55
  799. PaddleClas/ppcls/loss/supconloss.py +0 -108
  800. PaddleClas/ppcls/loss/trihardloss.py +0 -82
  801. PaddleClas/ppcls/loss/triplet.py +0 -137
  802. PaddleClas/ppcls/metric/__init__.py +0 -51
  803. PaddleClas/ppcls/metric/metrics.py +0 -308
  804. PaddleClas/ppcls/optimizer/__init__.py +0 -72
  805. PaddleClas/ppcls/optimizer/learning_rate.py +0 -326
  806. PaddleClas/ppcls/optimizer/optimizer.py +0 -207
  807. PaddleClas/ppcls/utils/__init__.py +0 -27
  808. PaddleClas/ppcls/utils/check.py +0 -151
  809. PaddleClas/ppcls/utils/config.py +0 -210
  810. PaddleClas/ppcls/utils/download.py +0 -319
  811. PaddleClas/ppcls/utils/ema.py +0 -63
  812. PaddleClas/ppcls/utils/logger.py +0 -137
  813. PaddleClas/ppcls/utils/metrics.py +0 -107
  814. PaddleClas/ppcls/utils/misc.py +0 -63
  815. PaddleClas/ppcls/utils/model_zoo.py +0 -213
  816. PaddleClas/ppcls/utils/profiler.py +0 -111
  817. PaddleClas/ppcls/utils/save_load.py +0 -136
  818. PaddleClas/setup.py +0 -58
  819. PaddleClas/tools/__init__.py +0 -15
  820. PaddleClas/tools/eval.py +0 -31
  821. PaddleClas/tools/export_model.py +0 -34
  822. PaddleClas/tools/infer.py +0 -31
  823. PaddleClas/tools/train.py +0 -32
  824. paddlex/cls.py +0 -82
  825. paddlex/command.py +0 -215
  826. paddlex/cv/__init__.py +0 -17
  827. paddlex/cv/datasets/__init__.py +0 -18
  828. paddlex/cv/datasets/coco.py +0 -208
  829. paddlex/cv/datasets/imagenet.py +0 -88
  830. paddlex/cv/datasets/seg_dataset.py +0 -91
  831. paddlex/cv/datasets/voc.py +0 -445
  832. paddlex/cv/models/__init__.py +0 -18
  833. paddlex/cv/models/base.py +0 -631
  834. paddlex/cv/models/classifier.py +0 -989
  835. paddlex/cv/models/detector.py +0 -2292
  836. paddlex/cv/models/load_model.py +0 -148
  837. paddlex/cv/models/segmenter.py +0 -768
  838. paddlex/cv/models/slim/__init__.py +0 -13
  839. paddlex/cv/models/slim/prune.py +0 -55
  840. paddlex/cv/models/utils/__init__.py +0 -13
  841. paddlex/cv/models/utils/det_metrics/__init__.py +0 -15
  842. paddlex/cv/models/utils/det_metrics/coco_utils.py +0 -476
  843. paddlex/cv/models/utils/det_metrics/metrics.py +0 -220
  844. paddlex/cv/models/utils/infer_nets.py +0 -45
  845. paddlex/cv/models/utils/seg_metrics.py +0 -62
  846. paddlex/cv/models/utils/visualize.py +0 -399
  847. paddlex/cv/transforms/__init__.py +0 -46
  848. paddlex/cv/transforms/batch_operators.py +0 -286
  849. paddlex/cv/transforms/box_utils.py +0 -41
  850. paddlex/cv/transforms/functions.py +0 -193
  851. paddlex/cv/transforms/operators.py +0 -1402
  852. paddlex/deploy.py +0 -268
  853. paddlex/det.py +0 -49
  854. paddlex/paddleseg/__init__.py +0 -17
  855. paddlex/paddleseg/core/__init__.py +0 -20
  856. paddlex/paddleseg/core/infer.py +0 -289
  857. paddlex/paddleseg/core/predict.py +0 -145
  858. paddlex/paddleseg/core/train.py +0 -258
  859. paddlex/paddleseg/core/val.py +0 -172
  860. paddlex/paddleseg/cvlibs/__init__.py +0 -17
  861. paddlex/paddleseg/cvlibs/callbacks.py +0 -279
  862. paddlex/paddleseg/cvlibs/config.py +0 -359
  863. paddlex/paddleseg/cvlibs/manager.py +0 -142
  864. paddlex/paddleseg/cvlibs/param_init.py +0 -91
  865. paddlex/paddleseg/datasets/__init__.py +0 -21
  866. paddlex/paddleseg/datasets/ade.py +0 -112
  867. paddlex/paddleseg/datasets/cityscapes.py +0 -86
  868. paddlex/paddleseg/datasets/cocostuff.py +0 -79
  869. paddlex/paddleseg/datasets/dataset.py +0 -164
  870. paddlex/paddleseg/datasets/mini_deep_globe_road_extraction.py +0 -95
  871. paddlex/paddleseg/datasets/optic_disc_seg.py +0 -97
  872. paddlex/paddleseg/datasets/pascal_context.py +0 -80
  873. paddlex/paddleseg/datasets/voc.py +0 -113
  874. paddlex/paddleseg/models/__init__.py +0 -39
  875. paddlex/paddleseg/models/ann.py +0 -436
  876. paddlex/paddleseg/models/attention_unet.py +0 -189
  877. paddlex/paddleseg/models/backbones/__init__.py +0 -18
  878. paddlex/paddleseg/models/backbones/hrnet.py +0 -815
  879. paddlex/paddleseg/models/backbones/mobilenetv3.py +0 -365
  880. paddlex/paddleseg/models/backbones/resnet_vd.py +0 -364
  881. paddlex/paddleseg/models/backbones/xception_deeplab.py +0 -415
  882. paddlex/paddleseg/models/bisenet.py +0 -311
  883. paddlex/paddleseg/models/danet.py +0 -220
  884. paddlex/paddleseg/models/decoupled_segnet.py +0 -233
  885. paddlex/paddleseg/models/deeplab.py +0 -258
  886. paddlex/paddleseg/models/dnlnet.py +0 -231
  887. paddlex/paddleseg/models/emanet.py +0 -219
  888. paddlex/paddleseg/models/fast_scnn.py +0 -318
  889. paddlex/paddleseg/models/fcn.py +0 -135
  890. paddlex/paddleseg/models/gcnet.py +0 -223
  891. paddlex/paddleseg/models/gscnn.py +0 -357
  892. paddlex/paddleseg/models/hardnet.py +0 -309
  893. paddlex/paddleseg/models/isanet.py +0 -202
  894. paddlex/paddleseg/models/layers/__init__.py +0 -19
  895. paddlex/paddleseg/models/layers/activation.py +0 -73
  896. paddlex/paddleseg/models/layers/attention.py +0 -146
  897. paddlex/paddleseg/models/layers/layer_libs.py +0 -168
  898. paddlex/paddleseg/models/layers/nonlocal2d.py +0 -155
  899. paddlex/paddleseg/models/layers/pyramid_pool.py +0 -182
  900. paddlex/paddleseg/models/losses/__init__.py +0 -27
  901. paddlex/paddleseg/models/losses/binary_cross_entropy_loss.py +0 -174
  902. paddlex/paddleseg/models/losses/bootstrapped_cross_entropy.py +0 -73
  903. paddlex/paddleseg/models/losses/cross_entropy_loss.py +0 -94
  904. paddlex/paddleseg/models/losses/decoupledsegnet_relax_boundary_loss.py +0 -129
  905. paddlex/paddleseg/models/losses/dice_loss.py +0 -61
  906. paddlex/paddleseg/models/losses/edge_attention_loss.py +0 -78
  907. paddlex/paddleseg/models/losses/gscnn_dual_task_loss.py +0 -141
  908. paddlex/paddleseg/models/losses/l1_loss.py +0 -76
  909. paddlex/paddleseg/models/losses/lovasz_loss.py +0 -222
  910. paddlex/paddleseg/models/losses/mean_square_error_loss.py +0 -65
  911. paddlex/paddleseg/models/losses/mixed_loss.py +0 -58
  912. paddlex/paddleseg/models/losses/ohem_cross_entropy_loss.py +0 -99
  913. paddlex/paddleseg/models/losses/ohem_edge_attention_loss.py +0 -114
  914. paddlex/paddleseg/models/ocrnet.py +0 -248
  915. paddlex/paddleseg/models/pspnet.py +0 -147
  916. paddlex/paddleseg/models/sfnet.py +0 -236
  917. paddlex/paddleseg/models/shufflenet_slim.py +0 -268
  918. paddlex/paddleseg/models/u2net.py +0 -574
  919. paddlex/paddleseg/models/unet.py +0 -155
  920. paddlex/paddleseg/models/unet_3plus.py +0 -316
  921. paddlex/paddleseg/models/unet_plusplus.py +0 -237
  922. paddlex/paddleseg/transforms/__init__.py +0 -16
  923. paddlex/paddleseg/transforms/functional.py +0 -161
  924. paddlex/paddleseg/transforms/transforms.py +0 -937
  925. paddlex/paddleseg/utils/__init__.py +0 -22
  926. paddlex/paddleseg/utils/config_check.py +0 -60
  927. paddlex/paddleseg/utils/download.py +0 -163
  928. paddlex/paddleseg/utils/env/__init__.py +0 -16
  929. paddlex/paddleseg/utils/env/seg_env.py +0 -56
  930. paddlex/paddleseg/utils/env/sys_env.py +0 -122
  931. paddlex/paddleseg/utils/logger.py +0 -48
  932. paddlex/paddleseg/utils/metrics.py +0 -146
  933. paddlex/paddleseg/utils/progbar.py +0 -212
  934. paddlex/paddleseg/utils/timer.py +0 -53
  935. paddlex/paddleseg/utils/utils.py +0 -120
  936. paddlex/paddleseg/utils/visualize.py +0 -90
  937. paddlex/ppcls/__init__.py +0 -20
  938. paddlex/ppcls/arch/__init__.py +0 -127
  939. paddlex/ppcls/arch/backbone/__init__.py +0 -80
  940. paddlex/ppcls/arch/backbone/base/__init__.py +0 -0
  941. paddlex/ppcls/arch/backbone/base/theseus_layer.py +0 -130
  942. paddlex/ppcls/arch/backbone/legendary_models/__init__.py +0 -6
  943. paddlex/ppcls/arch/backbone/legendary_models/esnet.py +0 -355
  944. paddlex/ppcls/arch/backbone/legendary_models/hrnet.py +0 -748
  945. paddlex/ppcls/arch/backbone/legendary_models/inception_v3.py +0 -539
  946. paddlex/ppcls/arch/backbone/legendary_models/mobilenet_v1.py +0 -234
  947. paddlex/ppcls/arch/backbone/legendary_models/mobilenet_v3.py +0 -561
  948. paddlex/ppcls/arch/backbone/legendary_models/pp_lcnet.py +0 -399
  949. paddlex/ppcls/arch/backbone/legendary_models/resnet.py +0 -534
  950. paddlex/ppcls/arch/backbone/legendary_models/vgg.py +0 -235
  951. paddlex/ppcls/arch/backbone/model_zoo/__init__.py +0 -0
  952. paddlex/ppcls/arch/backbone/model_zoo/alexnet.py +0 -168
  953. paddlex/ppcls/arch/backbone/model_zoo/cspnet.py +0 -376
  954. paddlex/ppcls/arch/backbone/model_zoo/darknet.py +0 -197
  955. paddlex/ppcls/arch/backbone/model_zoo/densenet.py +0 -344
  956. paddlex/ppcls/arch/backbone/model_zoo/distilled_vision_transformer.py +0 -272
  957. paddlex/ppcls/arch/backbone/model_zoo/dla.py +0 -528
  958. paddlex/ppcls/arch/backbone/model_zoo/dpn.py +0 -451
  959. paddlex/ppcls/arch/backbone/model_zoo/efficientnet.py +0 -976
  960. paddlex/ppcls/arch/backbone/model_zoo/ghostnet.py +0 -363
  961. paddlex/ppcls/arch/backbone/model_zoo/googlenet.py +0 -229
  962. paddlex/ppcls/arch/backbone/model_zoo/gvt.py +0 -693
  963. paddlex/ppcls/arch/backbone/model_zoo/hardnet.py +0 -293
  964. paddlex/ppcls/arch/backbone/model_zoo/inception_v4.py +0 -477
  965. paddlex/ppcls/arch/backbone/model_zoo/levit.py +0 -589
  966. paddlex/ppcls/arch/backbone/model_zoo/mixnet.py +0 -815
  967. paddlex/ppcls/arch/backbone/model_zoo/mobilenet_v2.py +0 -287
  968. paddlex/ppcls/arch/backbone/model_zoo/rednet.py +0 -203
  969. paddlex/ppcls/arch/backbone/model_zoo/regnet.py +0 -431
  970. paddlex/ppcls/arch/backbone/model_zoo/repvgg.py +0 -422
  971. paddlex/ppcls/arch/backbone/model_zoo/res2net.py +0 -264
  972. paddlex/ppcls/arch/backbone/model_zoo/res2net_vd.py +0 -305
  973. paddlex/ppcls/arch/backbone/model_zoo/resnest.py +0 -740
  974. paddlex/ppcls/arch/backbone/model_zoo/resnet_vc.py +0 -309
  975. paddlex/ppcls/arch/backbone/model_zoo/resnext.py +0 -298
  976. paddlex/ppcls/arch/backbone/model_zoo/resnext101_wsl.py +0 -490
  977. paddlex/ppcls/arch/backbone/model_zoo/resnext_vd.py +0 -317
  978. paddlex/ppcls/arch/backbone/model_zoo/rexnet.py +0 -281
  979. paddlex/ppcls/arch/backbone/model_zoo/se_resnet_vd.py +0 -390
  980. paddlex/ppcls/arch/backbone/model_zoo/se_resnext.py +0 -364
  981. paddlex/ppcls/arch/backbone/model_zoo/se_resnext_vd.py +0 -309
  982. paddlex/ppcls/arch/backbone/model_zoo/shufflenet_v2.py +0 -362
  983. paddlex/ppcls/arch/backbone/model_zoo/squeezenet.py +0 -194
  984. paddlex/ppcls/arch/backbone/model_zoo/swin_transformer.py +0 -857
  985. paddlex/ppcls/arch/backbone/model_zoo/tnt.py +0 -385
  986. paddlex/ppcls/arch/backbone/model_zoo/vision_transformer.py +0 -495
  987. paddlex/ppcls/arch/backbone/model_zoo/xception.py +0 -377
  988. paddlex/ppcls/arch/backbone/model_zoo/xception_deeplab.py +0 -421
  989. paddlex/ppcls/arch/backbone/variant_models/__init__.py +0 -3
  990. paddlex/ppcls/arch/backbone/variant_models/pp_lcnet_variant.py +0 -29
  991. paddlex/ppcls/arch/backbone/variant_models/resnet_variant.py +0 -23
  992. paddlex/ppcls/arch/backbone/variant_models/vgg_variant.py +0 -28
  993. paddlex/ppcls/arch/gears/__init__.py +0 -32
  994. paddlex/ppcls/arch/gears/arcmargin.py +0 -72
  995. paddlex/ppcls/arch/gears/circlemargin.py +0 -59
  996. paddlex/ppcls/arch/gears/cosmargin.py +0 -55
  997. paddlex/ppcls/arch/gears/fc.py +0 -35
  998. paddlex/ppcls/arch/gears/identity_head.py +0 -9
  999. paddlex/ppcls/arch/gears/vehicle_neck.py +0 -52
  1000. paddlex/ppcls/arch/utils.py +0 -53
  1001. paddlex/ppcls/data/__init__.py +0 -144
  1002. paddlex/ppcls/data/dataloader/DistributedRandomIdentitySampler.py +0 -90
  1003. paddlex/ppcls/data/dataloader/__init__.py +0 -9
  1004. paddlex/ppcls/data/dataloader/common_dataset.py +0 -84
  1005. paddlex/ppcls/data/dataloader/dali.py +0 -319
  1006. paddlex/ppcls/data/dataloader/icartoon_dataset.py +0 -36
  1007. paddlex/ppcls/data/dataloader/imagenet_dataset.py +0 -38
  1008. paddlex/ppcls/data/dataloader/logo_dataset.py +0 -46
  1009. paddlex/ppcls/data/dataloader/mix_dataset.py +0 -49
  1010. paddlex/ppcls/data/dataloader/mix_sampler.py +0 -79
  1011. paddlex/ppcls/data/dataloader/multilabel_dataset.py +0 -59
  1012. paddlex/ppcls/data/dataloader/pk_sampler.py +0 -105
  1013. paddlex/ppcls/data/dataloader/vehicle_dataset.py +0 -138
  1014. paddlex/ppcls/data/postprocess/__init__.py +0 -41
  1015. paddlex/ppcls/data/postprocess/topk.py +0 -85
  1016. paddlex/ppcls/data/preprocess/__init__.py +0 -100
  1017. paddlex/ppcls/data/preprocess/batch_ops/__init__.py +0 -0
  1018. paddlex/ppcls/data/preprocess/batch_ops/batch_operators.py +0 -231
  1019. paddlex/ppcls/data/preprocess/ops/__init__.py +0 -0
  1020. paddlex/ppcls/data/preprocess/ops/autoaugment.py +0 -264
  1021. paddlex/ppcls/data/preprocess/ops/cutout.py +0 -41
  1022. paddlex/ppcls/data/preprocess/ops/fmix.py +0 -217
  1023. paddlex/ppcls/data/preprocess/ops/functional.py +0 -141
  1024. paddlex/ppcls/data/preprocess/ops/grid.py +0 -89
  1025. paddlex/ppcls/data/preprocess/ops/hide_and_seek.py +0 -44
  1026. paddlex/ppcls/data/preprocess/ops/operators.py +0 -384
  1027. paddlex/ppcls/data/preprocess/ops/randaugment.py +0 -106
  1028. paddlex/ppcls/data/preprocess/ops/random_erasing.py +0 -90
  1029. paddlex/ppcls/data/preprocess/ops/timm_autoaugment.py +0 -877
  1030. paddlex/ppcls/data/utils/__init__.py +0 -13
  1031. paddlex/ppcls/data/utils/get_image_list.py +0 -49
  1032. paddlex/ppcls/engine/__init__.py +0 -0
  1033. paddlex/ppcls/engine/engine.py +0 -436
  1034. paddlex/ppcls/engine/evaluation/__init__.py +0 -16
  1035. paddlex/ppcls/engine/evaluation/classification.py +0 -143
  1036. paddlex/ppcls/engine/evaluation/retrieval.py +0 -169
  1037. paddlex/ppcls/engine/slim/__init__.py +0 -16
  1038. paddlex/ppcls/engine/slim/prune.py +0 -66
  1039. paddlex/ppcls/engine/slim/quant.py +0 -55
  1040. paddlex/ppcls/engine/train/__init__.py +0 -14
  1041. paddlex/ppcls/engine/train/train.py +0 -79
  1042. paddlex/ppcls/engine/train/utils.py +0 -72
  1043. paddlex/ppcls/loss/__init__.py +0 -65
  1044. paddlex/ppcls/loss/celoss.py +0 -67
  1045. paddlex/ppcls/loss/centerloss.py +0 -54
  1046. paddlex/ppcls/loss/comfunc.py +0 -45
  1047. paddlex/ppcls/loss/deephashloss.py +0 -96
  1048. paddlex/ppcls/loss/distanceloss.py +0 -43
  1049. paddlex/ppcls/loss/distillationloss.py +0 -141
  1050. paddlex/ppcls/loss/dmlloss.py +0 -46
  1051. paddlex/ppcls/loss/emlloss.py +0 -97
  1052. paddlex/ppcls/loss/googlenetloss.py +0 -42
  1053. paddlex/ppcls/loss/msmloss.py +0 -78
  1054. paddlex/ppcls/loss/multilabelloss.py +0 -43
  1055. paddlex/ppcls/loss/npairsloss.py +0 -38
  1056. paddlex/ppcls/loss/pairwisecosface.py +0 -59
  1057. paddlex/ppcls/loss/supconloss.py +0 -108
  1058. paddlex/ppcls/loss/trihardloss.py +0 -82
  1059. paddlex/ppcls/loss/triplet.py +0 -137
  1060. paddlex/ppcls/metric/__init__.py +0 -51
  1061. paddlex/ppcls/metric/metrics.py +0 -308
  1062. paddlex/ppcls/optimizer/__init__.py +0 -72
  1063. paddlex/ppcls/optimizer/learning_rate.py +0 -326
  1064. paddlex/ppcls/optimizer/optimizer.py +0 -208
  1065. paddlex/ppcls/utils/__init__.py +0 -27
  1066. paddlex/ppcls/utils/check.py +0 -151
  1067. paddlex/ppcls/utils/config.py +0 -210
  1068. paddlex/ppcls/utils/download.py +0 -319
  1069. paddlex/ppcls/utils/ema.py +0 -63
  1070. paddlex/ppcls/utils/logger.py +0 -137
  1071. paddlex/ppcls/utils/metrics.py +0 -112
  1072. paddlex/ppcls/utils/misc.py +0 -63
  1073. paddlex/ppcls/utils/model_zoo.py +0 -213
  1074. paddlex/ppcls/utils/profiler.py +0 -111
  1075. paddlex/ppcls/utils/save_load.py +0 -136
  1076. paddlex/ppdet/__init__.py +0 -16
  1077. paddlex/ppdet/core/__init__.py +0 -15
  1078. paddlex/ppdet/core/config/__init__.py +0 -13
  1079. paddlex/ppdet/core/config/schema.py +0 -248
  1080. paddlex/ppdet/core/config/yaml_helpers.py +0 -118
  1081. paddlex/ppdet/core/workspace.py +0 -278
  1082. paddlex/ppdet/data/__init__.py +0 -21
  1083. paddlex/ppdet/data/crop_utils/__init__.py +0 -13
  1084. paddlex/ppdet/data/crop_utils/annotation_cropper.py +0 -585
  1085. paddlex/ppdet/data/crop_utils/chip_box_utils.py +0 -170
  1086. paddlex/ppdet/data/reader.py +0 -302
  1087. paddlex/ppdet/data/shm_utils.py +0 -67
  1088. paddlex/ppdet/data/source/__init__.py +0 -29
  1089. paddlex/ppdet/data/source/category.py +0 -904
  1090. paddlex/ppdet/data/source/coco.py +0 -251
  1091. paddlex/ppdet/data/source/dataset.py +0 -197
  1092. paddlex/ppdet/data/source/keypoint_coco.py +0 -669
  1093. paddlex/ppdet/data/source/mot.py +0 -636
  1094. paddlex/ppdet/data/source/sniper_coco.py +0 -191
  1095. paddlex/ppdet/data/source/voc.py +0 -231
  1096. paddlex/ppdet/data/source/widerface.py +0 -180
  1097. paddlex/ppdet/data/transform/__init__.py +0 -28
  1098. paddlex/ppdet/data/transform/atss_assigner.py +0 -270
  1099. paddlex/ppdet/data/transform/autoaugment_utils.py +0 -1591
  1100. paddlex/ppdet/data/transform/batch_operators.py +0 -1080
  1101. paddlex/ppdet/data/transform/gridmask_utils.py +0 -86
  1102. paddlex/ppdet/data/transform/keypoint_operators.py +0 -868
  1103. paddlex/ppdet/data/transform/mot_operators.py +0 -628
  1104. paddlex/ppdet/data/transform/op_helper.py +0 -498
  1105. paddlex/ppdet/data/transform/operators.py +0 -3025
  1106. paddlex/ppdet/engine/__init__.py +0 -30
  1107. paddlex/ppdet/engine/callbacks.py +0 -340
  1108. paddlex/ppdet/engine/env.py +0 -50
  1109. paddlex/ppdet/engine/export_utils.py +0 -177
  1110. paddlex/ppdet/engine/tracker.py +0 -538
  1111. paddlex/ppdet/engine/trainer.py +0 -723
  1112. paddlex/ppdet/metrics/__init__.py +0 -29
  1113. paddlex/ppdet/metrics/coco_utils.py +0 -184
  1114. paddlex/ppdet/metrics/json_results.py +0 -149
  1115. paddlex/ppdet/metrics/keypoint_metrics.py +0 -401
  1116. paddlex/ppdet/metrics/map_utils.py +0 -444
  1117. paddlex/ppdet/metrics/mcmot_metrics.py +0 -470
  1118. paddlex/ppdet/metrics/metrics.py +0 -434
  1119. paddlex/ppdet/metrics/mot_metrics.py +0 -1236
  1120. paddlex/ppdet/metrics/munkres.py +0 -428
  1121. paddlex/ppdet/metrics/widerface_utils.py +0 -393
  1122. paddlex/ppdet/model_zoo/__init__.py +0 -18
  1123. paddlex/ppdet/model_zoo/model_zoo.py +0 -84
  1124. paddlex/ppdet/modeling/__init__.py +0 -45
  1125. paddlex/ppdet/modeling/architectures/__init__.py +0 -51
  1126. paddlex/ppdet/modeling/architectures/blazeface.py +0 -91
  1127. paddlex/ppdet/modeling/architectures/cascade_rcnn.py +0 -144
  1128. paddlex/ppdet/modeling/architectures/centernet.py +0 -108
  1129. paddlex/ppdet/modeling/architectures/deepsort.py +0 -69
  1130. paddlex/ppdet/modeling/architectures/detr.py +0 -93
  1131. paddlex/ppdet/modeling/architectures/fairmot.py +0 -100
  1132. paddlex/ppdet/modeling/architectures/faster_rcnn.py +0 -106
  1133. paddlex/ppdet/modeling/architectures/fcos.py +0 -105
  1134. paddlex/ppdet/modeling/architectures/gfl.py +0 -87
  1135. paddlex/ppdet/modeling/architectures/jde.py +0 -111
  1136. paddlex/ppdet/modeling/architectures/keypoint_hrhrnet.py +0 -287
  1137. paddlex/ppdet/modeling/architectures/keypoint_hrnet.py +0 -267
  1138. paddlex/ppdet/modeling/architectures/mask_rcnn.py +0 -135
  1139. paddlex/ppdet/modeling/architectures/meta_arch.py +0 -128
  1140. paddlex/ppdet/modeling/architectures/picodet.py +0 -91
  1141. paddlex/ppdet/modeling/architectures/s2anet.py +0 -102
  1142. paddlex/ppdet/modeling/architectures/solov2.py +0 -110
  1143. paddlex/ppdet/modeling/architectures/sparse_rcnn.py +0 -99
  1144. paddlex/ppdet/modeling/architectures/ssd.py +0 -93
  1145. paddlex/ppdet/modeling/architectures/tood.py +0 -78
  1146. paddlex/ppdet/modeling/architectures/ttfnet.py +0 -98
  1147. paddlex/ppdet/modeling/architectures/yolo.py +0 -124
  1148. paddlex/ppdet/modeling/assigners/__init__.py +0 -23
  1149. paddlex/ppdet/modeling/assigners/atss_assigner.py +0 -211
  1150. paddlex/ppdet/modeling/assigners/simota_assigner.py +0 -262
  1151. paddlex/ppdet/modeling/assigners/task_aligned_assigner.py +0 -158
  1152. paddlex/ppdet/modeling/assigners/utils.py +0 -195
  1153. paddlex/ppdet/modeling/backbones/__init__.py +0 -49
  1154. paddlex/ppdet/modeling/backbones/blazenet.py +0 -323
  1155. paddlex/ppdet/modeling/backbones/darknet.py +0 -340
  1156. paddlex/ppdet/modeling/backbones/dla.py +0 -244
  1157. paddlex/ppdet/modeling/backbones/esnet.py +0 -290
  1158. paddlex/ppdet/modeling/backbones/ghostnet.py +0 -470
  1159. paddlex/ppdet/modeling/backbones/hardnet.py +0 -224
  1160. paddlex/ppdet/modeling/backbones/hrnet.py +0 -727
  1161. paddlex/ppdet/modeling/backbones/lcnet.py +0 -259
  1162. paddlex/ppdet/modeling/backbones/lite_hrnet.py +0 -886
  1163. paddlex/ppdet/modeling/backbones/mobilenet_v1.py +0 -418
  1164. paddlex/ppdet/modeling/backbones/mobilenet_v3.py +0 -483
  1165. paddlex/ppdet/modeling/backbones/name_adapter.py +0 -69
  1166. paddlex/ppdet/modeling/backbones/res2net.py +0 -358
  1167. paddlex/ppdet/modeling/backbones/resnet.py +0 -613
  1168. paddlex/ppdet/modeling/backbones/senet.py +0 -139
  1169. paddlex/ppdet/modeling/backbones/shufflenet_v2.py +0 -246
  1170. paddlex/ppdet/modeling/backbones/swin_transformer.py +0 -743
  1171. paddlex/ppdet/modeling/backbones/vgg.py +0 -210
  1172. paddlex/ppdet/modeling/bbox_utils.py +0 -778
  1173. paddlex/ppdet/modeling/heads/__init__.py +0 -53
  1174. paddlex/ppdet/modeling/heads/bbox_head.py +0 -377
  1175. paddlex/ppdet/modeling/heads/cascade_head.py +0 -284
  1176. paddlex/ppdet/modeling/heads/centernet_head.py +0 -292
  1177. paddlex/ppdet/modeling/heads/detr_head.py +0 -368
  1178. paddlex/ppdet/modeling/heads/face_head.py +0 -110
  1179. paddlex/ppdet/modeling/heads/fcos_head.py +0 -259
  1180. paddlex/ppdet/modeling/heads/gfl_head.py +0 -487
  1181. paddlex/ppdet/modeling/heads/keypoint_hrhrnet_head.py +0 -108
  1182. paddlex/ppdet/modeling/heads/mask_head.py +0 -250
  1183. paddlex/ppdet/modeling/heads/pico_head.py +0 -278
  1184. paddlex/ppdet/modeling/heads/roi_extractor.py +0 -111
  1185. paddlex/ppdet/modeling/heads/s2anet_head.py +0 -1056
  1186. paddlex/ppdet/modeling/heads/simota_head.py +0 -506
  1187. paddlex/ppdet/modeling/heads/solov2_head.py +0 -560
  1188. paddlex/ppdet/modeling/heads/sparsercnn_head.py +0 -375
  1189. paddlex/ppdet/modeling/heads/ssd_head.py +0 -215
  1190. paddlex/ppdet/modeling/heads/tood_head.py +0 -366
  1191. paddlex/ppdet/modeling/heads/ttf_head.py +0 -316
  1192. paddlex/ppdet/modeling/heads/yolo_head.py +0 -124
  1193. paddlex/ppdet/modeling/initializer.py +0 -317
  1194. paddlex/ppdet/modeling/keypoint_utils.py +0 -342
  1195. paddlex/ppdet/modeling/layers.py +0 -1430
  1196. paddlex/ppdet/modeling/losses/__init__.py +0 -43
  1197. paddlex/ppdet/modeling/losses/ctfocal_loss.py +0 -68
  1198. paddlex/ppdet/modeling/losses/detr_loss.py +0 -233
  1199. paddlex/ppdet/modeling/losses/fairmot_loss.py +0 -41
  1200. paddlex/ppdet/modeling/losses/fcos_loss.py +0 -225
  1201. paddlex/ppdet/modeling/losses/gfocal_loss.py +0 -217
  1202. paddlex/ppdet/modeling/losses/iou_aware_loss.py +0 -47
  1203. paddlex/ppdet/modeling/losses/iou_loss.py +0 -210
  1204. paddlex/ppdet/modeling/losses/jde_loss.py +0 -193
  1205. paddlex/ppdet/modeling/losses/keypoint_loss.py +0 -229
  1206. paddlex/ppdet/modeling/losses/solov2_loss.py +0 -101
  1207. paddlex/ppdet/modeling/losses/sparsercnn_loss.py +0 -425
  1208. paddlex/ppdet/modeling/losses/ssd_loss.py +0 -170
  1209. paddlex/ppdet/modeling/losses/varifocal_loss.py +0 -152
  1210. paddlex/ppdet/modeling/losses/yolo_loss.py +0 -212
  1211. paddlex/ppdet/modeling/mot/__init__.py +0 -25
  1212. paddlex/ppdet/modeling/mot/matching/__init__.py +0 -19
  1213. paddlex/ppdet/modeling/mot/matching/deepsort_matching.py +0 -382
  1214. paddlex/ppdet/modeling/mot/matching/jde_matching.py +0 -144
  1215. paddlex/ppdet/modeling/mot/motion/__init__.py +0 -17
  1216. paddlex/ppdet/modeling/mot/motion/kalman_filter.py +0 -270
  1217. paddlex/ppdet/modeling/mot/tracker/__init__.py +0 -23
  1218. paddlex/ppdet/modeling/mot/tracker/base_jde_tracker.py +0 -297
  1219. paddlex/ppdet/modeling/mot/tracker/base_sde_tracker.py +0 -156
  1220. paddlex/ppdet/modeling/mot/tracker/deepsort_tracker.py +0 -188
  1221. paddlex/ppdet/modeling/mot/tracker/jde_tracker.py +0 -277
  1222. paddlex/ppdet/modeling/mot/utils.py +0 -263
  1223. paddlex/ppdet/modeling/mot/visualization.py +0 -150
  1224. paddlex/ppdet/modeling/necks/__init__.py +0 -30
  1225. paddlex/ppdet/modeling/necks/bifpn.py +0 -302
  1226. paddlex/ppdet/modeling/necks/blazeface_fpn.py +0 -216
  1227. paddlex/ppdet/modeling/necks/centernet_fpn.py +0 -426
  1228. paddlex/ppdet/modeling/necks/csp_pan.py +0 -364
  1229. paddlex/ppdet/modeling/necks/fpn.py +0 -231
  1230. paddlex/ppdet/modeling/necks/hrfpn.py +0 -126
  1231. paddlex/ppdet/modeling/necks/ttf_fpn.py +0 -242
  1232. paddlex/ppdet/modeling/necks/yolo_fpn.py +0 -988
  1233. paddlex/ppdet/modeling/ops.py +0 -1611
  1234. paddlex/ppdet/modeling/post_process.py +0 -731
  1235. paddlex/ppdet/modeling/proposal_generator/__init__.py +0 -2
  1236. paddlex/ppdet/modeling/proposal_generator/anchor_generator.py +0 -135
  1237. paddlex/ppdet/modeling/proposal_generator/proposal_generator.py +0 -77
  1238. paddlex/ppdet/modeling/proposal_generator/rpn_head.py +0 -260
  1239. paddlex/ppdet/modeling/proposal_generator/target.py +0 -681
  1240. paddlex/ppdet/modeling/proposal_generator/target_layer.py +0 -491
  1241. paddlex/ppdet/modeling/reid/__init__.py +0 -25
  1242. paddlex/ppdet/modeling/reid/fairmot_embedding_head.py +0 -225
  1243. paddlex/ppdet/modeling/reid/jde_embedding_head.py +0 -214
  1244. paddlex/ppdet/modeling/reid/pplcnet_embedding.py +0 -282
  1245. paddlex/ppdet/modeling/reid/pyramidal_embedding.py +0 -144
  1246. paddlex/ppdet/modeling/reid/resnet.py +0 -310
  1247. paddlex/ppdet/modeling/shape_spec.py +0 -25
  1248. paddlex/ppdet/modeling/transformers/__init__.py +0 -25
  1249. paddlex/ppdet/modeling/transformers/deformable_transformer.py +0 -517
  1250. paddlex/ppdet/modeling/transformers/detr_transformer.py +0 -353
  1251. paddlex/ppdet/modeling/transformers/matchers.py +0 -127
  1252. paddlex/ppdet/modeling/transformers/position_encoding.py +0 -108
  1253. paddlex/ppdet/modeling/transformers/utils.py +0 -110
  1254. paddlex/ppdet/optimizer.py +0 -335
  1255. paddlex/ppdet/slim/__init__.py +0 -82
  1256. paddlex/ppdet/slim/distill.py +0 -110
  1257. paddlex/ppdet/slim/prune.py +0 -85
  1258. paddlex/ppdet/slim/quant.py +0 -84
  1259. paddlex/ppdet/slim/unstructured_prune.py +0 -66
  1260. paddlex/ppdet/utils/__init__.py +0 -13
  1261. paddlex/ppdet/utils/check.py +0 -112
  1262. paddlex/ppdet/utils/checkpoint.py +0 -226
  1263. paddlex/ppdet/utils/cli.py +0 -151
  1264. paddlex/ppdet/utils/colormap.py +0 -58
  1265. paddlex/ppdet/utils/download.py +0 -558
  1266. paddlex/ppdet/utils/logger.py +0 -70
  1267. paddlex/ppdet/utils/profiler.py +0 -111
  1268. paddlex/ppdet/utils/stats.py +0 -94
  1269. paddlex/ppdet/utils/visualizer.py +0 -321
  1270. paddlex/ppdet/utils/voc_utils.py +0 -86
  1271. paddlex/seg.py +0 -41
  1272. paddlex/tools/__init__.py +0 -17
  1273. paddlex/tools/anchor_clustering/__init__.py +0 -15
  1274. paddlex/tools/anchor_clustering/yolo_cluster.py +0 -178
  1275. paddlex/tools/convert.py +0 -52
  1276. paddlex/tools/dataset_conversion/__init__.py +0 -24
  1277. paddlex/tools/dataset_conversion/x2coco.py +0 -379
  1278. paddlex/tools/dataset_conversion/x2imagenet.py +0 -82
  1279. paddlex/tools/dataset_conversion/x2seg.py +0 -343
  1280. paddlex/tools/dataset_conversion/x2voc.py +0 -230
  1281. paddlex/tools/dataset_split/__init__.py +0 -23
  1282. paddlex/tools/dataset_split/coco_split.py +0 -69
  1283. paddlex/tools/dataset_split/imagenet_split.py +0 -75
  1284. paddlex/tools/dataset_split/seg_split.py +0 -96
  1285. paddlex/tools/dataset_split/utils.py +0 -75
  1286. paddlex/tools/dataset_split/voc_split.py +0 -91
  1287. paddlex/tools/split.py +0 -41
  1288. paddlex/utils/checkpoint.py +0 -492
  1289. paddlex/utils/env.py +0 -67
  1290. paddlex/utils/shm.py +0 -67
  1291. paddlex/utils/stats.py +0 -68
  1292. paddlex/utils/utils.py +0 -229
  1293. paddlex-2.1.0.data/data/paddlex_restful/restful/templates/paddlex_restful_demo.html +0 -5205
  1294. paddlex-2.1.0.dist-info/LICENSE +0 -201
  1295. paddlex-2.1.0.dist-info/METADATA +0 -32
  1296. paddlex-2.1.0.dist-info/RECORD +0 -698
  1297. paddlex-2.1.0.dist-info/WHEEL +0 -5
  1298. paddlex-2.1.0.dist-info/entry_points.txt +0 -4
  1299. paddlex-2.1.0.dist-info/top_level.txt +0 -3
  1300. paddlex_restful/__init__.py +0 -15
  1301. paddlex_restful/command.py +0 -63
  1302. paddlex_restful/restful/__init__.py +0 -15
  1303. paddlex_restful/restful/app.py +0 -969
  1304. paddlex_restful/restful/dataset/__init__.py +0 -13
  1305. paddlex_restful/restful/dataset/cls_dataset.py +0 -159
  1306. paddlex_restful/restful/dataset/dataset.py +0 -266
  1307. paddlex_restful/restful/dataset/datasetbase.py +0 -86
  1308. paddlex_restful/restful/dataset/det_dataset.py +0 -190
  1309. paddlex_restful/restful/dataset/ins_seg_dataset.py +0 -312
  1310. paddlex_restful/restful/dataset/operate.py +0 -155
  1311. paddlex_restful/restful/dataset/seg_dataset.py +0 -222
  1312. paddlex_restful/restful/dataset/utils.py +0 -267
  1313. paddlex_restful/restful/demo.py +0 -202
  1314. paddlex_restful/restful/dir.py +0 -45
  1315. paddlex_restful/restful/model.py +0 -312
  1316. paddlex_restful/restful/project/__init__.py +0 -13
  1317. paddlex_restful/restful/project/evaluate/__init__.py +0 -13
  1318. paddlex_restful/restful/project/evaluate/classification.py +0 -126
  1319. paddlex_restful/restful/project/evaluate/detection.py +0 -789
  1320. paddlex_restful/restful/project/evaluate/draw_pred_result.py +0 -181
  1321. paddlex_restful/restful/project/evaluate/segmentation.py +0 -122
  1322. paddlex_restful/restful/project/operate.py +0 -931
  1323. paddlex_restful/restful/project/project.py +0 -143
  1324. paddlex_restful/restful/project/prune/__init__.py +0 -13
  1325. paddlex_restful/restful/project/prune/classification.py +0 -32
  1326. paddlex_restful/restful/project/prune/detection.py +0 -48
  1327. paddlex_restful/restful/project/prune/segmentation.py +0 -34
  1328. paddlex_restful/restful/project/task.py +0 -884
  1329. paddlex_restful/restful/project/train/__init__.py +0 -13
  1330. paddlex_restful/restful/project/train/classification.py +0 -141
  1331. paddlex_restful/restful/project/train/detection.py +0 -263
  1332. paddlex_restful/restful/project/train/params.py +0 -432
  1333. paddlex_restful/restful/project/train/params_v2.py +0 -326
  1334. paddlex_restful/restful/project/train/segmentation.py +0 -191
  1335. paddlex_restful/restful/project/visualize.py +0 -244
  1336. paddlex_restful/restful/system.py +0 -102
  1337. paddlex_restful/restful/templates/paddlex_restful_demo.html +0 -5205
  1338. paddlex_restful/restful/utils.py +0 -841
  1339. paddlex_restful/restful/workspace.py +0 -343
  1340. paddlex_restful/restful/workspace_pb2.py +0 -1411
@@ -0,0 +1,717 @@
1
+ # copyright (c) 2024 PaddlePaddle Authors. All Rights Reserve.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ import os
16
+ import re
17
+ import json
18
+ import numpy as np
19
+ from .utils import *
20
+ from ...results import *
21
+ from copy import deepcopy
22
+ from ...components import *
23
+ from ..ocr import OCRPipeline
24
+ from ....utils import logging
25
+ from ...components.llm import ErnieBot
26
+ from ..table_recognition import _TableRecPipeline
27
+ from ...components.llm import create_llm_api, ErnieBot
28
+ from ....utils.file_interface import read_yaml_file
29
+ from ..table_recognition.utils import convert_4point2rect, get_ori_coordinate_for_table
30
+
31
+ PROMPT_FILE = os.path.join(os.path.dirname(__file__), "ch_prompt.yaml")
32
+
33
+
34
+ class PPChatOCRPipeline(_TableRecPipeline):
35
+ """PP-ChatOCRv3 Pileline"""
36
+
37
+ entities = "PP-ChatOCRv3-doc"
38
+
39
+ def __init__(
40
+ self,
41
+ layout_model,
42
+ text_det_model,
43
+ text_rec_model,
44
+ table_model,
45
+ doc_image_ori_cls_model=None,
46
+ doc_image_unwarp_model=None,
47
+ seal_text_det_model=None,
48
+ llm_name="ernie-3.5",
49
+ llm_params={},
50
+ task_prompt_yaml=None,
51
+ user_prompt_yaml=None,
52
+ layout_batch_size=1,
53
+ text_det_batch_size=1,
54
+ text_rec_batch_size=1,
55
+ table_batch_size=1,
56
+ doc_image_ori_cls_batch_size=1,
57
+ doc_image_unwarp_batch_size=1,
58
+ seal_text_det_batch_size=1,
59
+ recovery=True,
60
+ device=None,
61
+ predictor_kwargs=None,
62
+ _build_models=True,
63
+ ):
64
+ super().__init__(device, predictor_kwargs)
65
+ if _build_models:
66
+ self._build_predictor(
67
+ layout_model=layout_model,
68
+ text_det_model=text_det_model,
69
+ text_rec_model=text_rec_model,
70
+ table_model=table_model,
71
+ doc_image_ori_cls_model=doc_image_ori_cls_model,
72
+ doc_image_unwarp_model=doc_image_unwarp_model,
73
+ seal_text_det_model=seal_text_det_model,
74
+ llm_name=llm_name,
75
+ llm_params=llm_params,
76
+ )
77
+ self.set_predictor(
78
+ layout_batch_size=layout_batch_size,
79
+ text_det_batch_size=text_det_batch_size,
80
+ text_rec_batch_size=text_rec_batch_size,
81
+ table_batch_size=table_batch_size,
82
+ doc_image_ori_cls_batch_size=doc_image_ori_cls_batch_size,
83
+ doc_image_unwarp_batch_size=doc_image_unwarp_batch_size,
84
+ seal_text_det_batch_size=seal_text_det_batch_size,
85
+ )
86
+
87
+ # get base prompt from yaml info
88
+ if task_prompt_yaml:
89
+ self.task_prompt_dict = read_yaml_file(task_prompt_yaml)
90
+ else:
91
+ self.task_prompt_dict = read_yaml_file(
92
+ PROMPT_FILE
93
+ ) # get user prompt from yaml info
94
+ if user_prompt_yaml:
95
+ self.user_prompt_dict = read_yaml_file(user_prompt_yaml)
96
+ else:
97
+ self.user_prompt_dict = None
98
+
99
+ self.recovery = recovery
100
+ self.visual_info = None
101
+ self.vector = None
102
+ self.visual_flag = False
103
+
104
+ def _build_predictor(
105
+ self,
106
+ layout_model,
107
+ text_det_model,
108
+ text_rec_model,
109
+ table_model,
110
+ llm_name,
111
+ llm_params,
112
+ seal_text_det_model=None,
113
+ doc_image_ori_cls_model=None,
114
+ doc_image_unwarp_model=None,
115
+ ):
116
+ super()._build_predictor(
117
+ layout_model, text_det_model, text_rec_model, table_model
118
+ )
119
+ if seal_text_det_model:
120
+ self.curve_pipeline = self._create(
121
+ pipeline=OCRPipeline,
122
+ text_det_model=seal_text_det_model,
123
+ text_rec_model=text_rec_model,
124
+ )
125
+ else:
126
+ self.curve_pipeline = None
127
+ if doc_image_ori_cls_model:
128
+ self.doc_image_ori_cls_predictor = self._create(doc_image_ori_cls_model)
129
+ else:
130
+ self.doc_image_ori_cls_predictor = None
131
+ if doc_image_unwarp_model:
132
+ self.doc_image_unwarp_predictor = self._create(doc_image_unwarp_model)
133
+ else:
134
+ self.doc_image_unwarp_predictor = None
135
+
136
+ self.img_reader = ReadImage(format="BGR")
137
+ self.llm_api = create_llm_api(
138
+ llm_name,
139
+ llm_params,
140
+ )
141
+ self.cropper = CropByBoxes()
142
+
143
+ def set_predictor(
144
+ self,
145
+ layout_batch_size=None,
146
+ text_det_batch_size=None,
147
+ text_rec_batch_size=None,
148
+ table_batch_size=None,
149
+ doc_image_ori_cls_batch_size=None,
150
+ doc_image_unwarp_batch_size=None,
151
+ seal_text_det_batch_size=None,
152
+ device=None,
153
+ ):
154
+ if text_det_batch_size and text_det_batch_size > 1:
155
+ logging.warning(
156
+ f"text det model only support batch_size=1 now,the setting of text_det_batch_size={text_det_batch_size} will not using! "
157
+ )
158
+ if layout_batch_size:
159
+ self.layout_predictor.set_predictor(batch_size=layout_batch_size)
160
+ if text_rec_batch_size:
161
+ self.ocr_pipeline.text_rec_model.set_predictor(
162
+ batch_size=text_rec_batch_size
163
+ )
164
+ if table_batch_size:
165
+ self.table_predictor.set_predictor(batch_size=table_batch_size)
166
+ if self.curve_pipeline and seal_text_det_batch_size:
167
+ self.curve_pipeline.text_det_model.set_predictor(
168
+ batch_size=seal_text_det_batch_size
169
+ )
170
+ if self.doc_image_ori_cls_predictor and doc_image_ori_cls_batch_size:
171
+ self.doc_image_ori_cls_predictor.set_predictor(
172
+ batch_size=doc_image_ori_cls_batch_size
173
+ )
174
+ if self.doc_image_unwarp_predictor and doc_image_unwarp_batch_size:
175
+ self.doc_image_unwarp_predictor.set_predictor(
176
+ batch_size=doc_image_unwarp_batch_size
177
+ )
178
+
179
+ if device:
180
+ if self.curve_pipeline:
181
+ self.curve_pipeline.set_predictor(device=device)
182
+ if self.doc_image_ori_cls_predictor:
183
+ self.doc_image_ori_cls_predictor.set_predictor(device=device)
184
+ if self.doc_image_unwarp_predictor:
185
+ self.doc_image_unwarp_predictor.set_predictor(device=device)
186
+ self.layout_predictor.set_predictor(device=device)
187
+ self.ocr_pipeline.set_predictor(device=device)
188
+
189
+ def predict(self, *args, **kwargs):
190
+ logging.error(
191
+ "PP-ChatOCRv3-doc Pipeline do not support to call `predict()` directly! Please call `visual_predict(input)` firstly to get visual prediction of `input` and call `chat(key_list)` to get the result of query specified by `key_list`."
192
+ )
193
+ return
194
+
195
+ def visual_predict(
196
+ self,
197
+ input,
198
+ use_doc_image_ori_cls_model=True,
199
+ use_doc_image_unwarp_model=True,
200
+ use_seal_text_det_model=True,
201
+ recovery=True,
202
+ **kwargs,
203
+ ):
204
+ self.set_predictor(**kwargs)
205
+
206
+ visual_info = {"ocr_text": [], "table_html": [], "table_text": []}
207
+ # get all visual result
208
+ visual_result = list(
209
+ self.get_visual_result(
210
+ input,
211
+ use_doc_image_ori_cls_model=use_doc_image_ori_cls_model,
212
+ use_doc_image_unwarp_model=use_doc_image_unwarp_model,
213
+ use_seal_text_det_model=use_seal_text_det_model,
214
+ recovery=recovery,
215
+ )
216
+ )
217
+ # decode visual result to get table_html, table_text, ocr_text
218
+ ocr_text, table_text, table_html = self.decode_visual_result(visual_result)
219
+
220
+ visual_info["ocr_text"] = ocr_text
221
+ visual_info["table_html"] = table_html
222
+ visual_info["table_text"] = table_text
223
+ visual_info = VisualInfoResult(visual_info)
224
+ # for local user save visual info in self
225
+ self.visual_info = visual_info
226
+ self.visual_flag = True
227
+
228
+ return visual_result, visual_info
229
+
230
+ def get_visual_result(
231
+ self,
232
+ inputs,
233
+ use_doc_image_ori_cls_model=True,
234
+ use_doc_image_unwarp_model=True,
235
+ use_seal_text_det_model=True,
236
+ recovery=True,
237
+ ):
238
+ # get oricls and unwarp results
239
+ if isinstance(inputs, str):
240
+ img_info_list = list(self.img_reader(inputs))[0]
241
+ elif isinstance(inputs, list):
242
+ assert not any(
243
+ isinstance(s, str) and s.endswith(".pdf") for s in inputs
244
+ ), "List containing pdf is not supported; only a list of images or a single PDF is supported."
245
+ img_info_list = [x[0] for x in list(self.img_reader(inputs))]
246
+
247
+ oricls_results = []
248
+ if self.doc_image_ori_cls_predictor and use_doc_image_ori_cls_model:
249
+ oricls_results = get_oriclas_results(
250
+ img_info_list, self.doc_image_ori_cls_predictor
251
+ )
252
+ unwarp_results = []
253
+ if self.doc_image_unwarp_predictor and use_doc_image_unwarp_model:
254
+ unwarp_results = get_unwarp_results(
255
+ img_info_list, self.doc_image_unwarp_predictor
256
+ )
257
+ img_list = [img_info["img"] for img_info in img_info_list]
258
+
259
+ for idx, (img_info, layout_pred) in enumerate(
260
+ zip(img_info_list, self.layout_predictor(img_list))
261
+ ):
262
+ page_id = idx
263
+ single_img_res = {
264
+ "input_path": "",
265
+ "layout_result": DetResult({}),
266
+ "ocr_result": OCRResult({}),
267
+ "table_ocr_result": [],
268
+ "table_result": StructureTableResult([]),
269
+ "layout_parsing_result": {},
270
+ "oricls_result": TopkResult({}),
271
+ "unwarp_result": DocTrResult({}),
272
+ "curve_result": [],
273
+ }
274
+ # update oricls and unwarp results
275
+ if oricls_results:
276
+ single_img_res["oricls_result"] = oricls_results[idx]
277
+ if unwarp_results:
278
+ single_img_res["unwarp_result"] = unwarp_results[idx]
279
+ # update layout result
280
+ single_img_res["input_path"] = layout_pred["input_path"]
281
+ single_img_res["layout_result"] = layout_pred
282
+ single_img = img_info["img"]
283
+ table_subs = []
284
+ curve_subs = []
285
+ structure_res = []
286
+ ocr_res_with_layout = []
287
+ if len(layout_pred["boxes"]) > 0:
288
+ subs_of_img = list(self._crop_by_boxes(layout_pred))
289
+ # get cropped images
290
+ for sub in subs_of_img:
291
+ box = sub["box"]
292
+ xmin, ymin, xmax, ymax = [int(i) for i in box]
293
+ mask_flag = True
294
+ if sub["label"].lower() == "table":
295
+ table_subs.append(sub)
296
+ elif sub["label"].lower() == "seal":
297
+ curve_subs.append(sub)
298
+ else:
299
+ if self.recovery and recovery:
300
+ # TODO: Why use the entire image?
301
+ wht_im = (
302
+ np.ones(single_img.shape, dtype=single_img.dtype) * 255
303
+ )
304
+ wht_im[ymin:ymax, xmin:xmax, :] = sub["img"]
305
+ sub_ocr_res = get_ocr_res(self.ocr_pipeline, wht_im)
306
+ else:
307
+ sub_ocr_res = get_ocr_res(self.ocr_pipeline, sub)
308
+ sub_ocr_res["dt_polys"] = get_ori_coordinate_for_table(
309
+ xmin, ymin, sub_ocr_res["dt_polys"]
310
+ )
311
+ layout_label = sub["label"].lower()
312
+ if sub_ocr_res and sub["label"].lower() in [
313
+ "image",
314
+ "figure",
315
+ "img",
316
+ "fig",
317
+ ]:
318
+ mask_flag = False
319
+ else:
320
+ ocr_res_with_layout.append(sub_ocr_res)
321
+ structure_res.append(
322
+ {
323
+ "layout_bbox": box,
324
+ f"{layout_label}": "\n".join(
325
+ sub_ocr_res["rec_text"]
326
+ ),
327
+ }
328
+ )
329
+ if mask_flag:
330
+ single_img[ymin:ymax, xmin:xmax, :] = 255
331
+
332
+ curve_pipeline = self.ocr_pipeline
333
+ if self.curve_pipeline and use_seal_text_det_model:
334
+ curve_pipeline = self.curve_pipeline
335
+
336
+ all_curve_res = get_ocr_res(curve_pipeline, curve_subs)
337
+ single_img_res["curve_result"] = all_curve_res
338
+ if isinstance(all_curve_res, dict):
339
+ all_curve_res = [all_curve_res]
340
+ for sub, curve_res in zip(curve_subs, all_curve_res):
341
+ dt_polys_list = [
342
+ list(map(list, sublist)) for sublist in curve_res["dt_polys"]
343
+ ]
344
+ sorted_items = sorted(
345
+ zip(dt_polys_list, curve_res["rec_text"]),
346
+ key=lambda x: (x[0][0][1], x[0][0][0]),
347
+ )
348
+ _, sorted_text = zip(*sorted_items)
349
+ structure_res.append(
350
+ {
351
+ "layout_bbox": sub["box"],
352
+ "印章": " ".join(sorted_text),
353
+ }
354
+ )
355
+
356
+ ocr_res = get_ocr_res(self.ocr_pipeline, single_img)
357
+ ocr_res["input_path"] = layout_pred["input_path"]
358
+ all_table_res, _ = self.get_table_result(table_subs)
359
+ for idx, single_dt_poly in enumerate(ocr_res["dt_polys"]):
360
+ structure_res.append(
361
+ {
362
+ "layout_bbox": convert_4point2rect(single_dt_poly),
363
+ "words in text block": ocr_res["rec_text"][idx],
364
+ }
365
+ )
366
+ # update ocr result
367
+ for layout_ocr_res in ocr_res_with_layout:
368
+ ocr_res["dt_polys"].extend(layout_ocr_res["dt_polys"])
369
+ ocr_res["rec_text"].extend(layout_ocr_res["rec_text"])
370
+ ocr_res["input_path"] = single_img_res["input_path"]
371
+
372
+ all_table_ocr_res = []
373
+ # get table text from html
374
+ structure_res_table, all_table_ocr_res = get_table_text_from_html(
375
+ all_table_res
376
+ )
377
+ structure_res.extend(structure_res_table)
378
+
379
+ # sort the layout result by the left top point of the box
380
+ structure_res = sorted_layout_boxes(structure_res, w=single_img.shape[1])
381
+ structure_res = LayoutParsingResult(
382
+ {
383
+ "input_path": layout_pred["input_path"],
384
+ "parsing_result": structure_res,
385
+ }
386
+ )
387
+
388
+ single_img_res["table_result"] = all_table_res
389
+ single_img_res["ocr_result"] = ocr_res
390
+ single_img_res["table_ocr_result"] = all_table_ocr_res
391
+ single_img_res["layout_parsing_result"] = structure_res
392
+ single_img_res["layout_parsing_result"]["page_id"] = page_id + 1
393
+ yield VisualResult(single_img_res, page_id, inputs)
394
+
395
+ def decode_visual_result(self, visual_result):
396
+ ocr_text = []
397
+ table_text_list = []
398
+ table_html = []
399
+ for single_img_pred in visual_result:
400
+ layout_res = single_img_pred["layout_parsing_result"]["parsing_result"]
401
+ layout_res_copy = deepcopy(layout_res)
402
+ # layout_res is [{"layout_bbox": [x1, y1, x2, y2], "layout": "single","words in text block":"xxx"}, {"layout_bbox": [x1, y1, x2, y2], "layout": "double","印章":"xxx"}
403
+ ocr_res = {}
404
+ for block in layout_res_copy:
405
+ block.pop("layout_bbox")
406
+ block.pop("layout")
407
+ for layout_type, text in block.items():
408
+ if text == "":
409
+ continue
410
+ # Table results are used separately
411
+ if layout_type == "table":
412
+ continue
413
+ if layout_type not in ocr_res:
414
+ ocr_res[layout_type] = text
415
+ else:
416
+ ocr_res[layout_type] += f"\n {text}"
417
+
418
+ single_table_text = " ".join(single_img_pred["table_ocr_result"])
419
+ for table_pred in single_img_pred["table_result"]:
420
+ html = table_pred["html"]
421
+ table_html.append(html)
422
+ if ocr_res:
423
+ ocr_text.append(ocr_res)
424
+ table_text_list.append(single_table_text)
425
+
426
+ return ocr_text, table_text_list, table_html
427
+
428
+ def build_vector(
429
+ self,
430
+ llm_name=None,
431
+ llm_params={},
432
+ visual_info=None,
433
+ min_characters=3500,
434
+ llm_request_interval=1.0,
435
+ ):
436
+ """get vector for ocr"""
437
+ if isinstance(self.llm_api, ErnieBot):
438
+ get_vector_flag = True
439
+ else:
440
+ logging.warning("Do not use ErnieBot, will not get vector text.")
441
+ get_vector_flag = False
442
+ if not any([visual_info, self.visual_info]):
443
+ return VectorResult({"vector": None})
444
+
445
+ ocr_text = visual_info["ocr_text"]
446
+ html_list = visual_info["table_html"]
447
+ table_text_list = visual_info["table_text"]
448
+
449
+ # add table text to ocr text
450
+ for html, table_text_rec in zip(html_list, table_text_list):
451
+ if len(html) > 3000:
452
+ ocr_text.append({"table": table_text_rec})
453
+
454
+ ocr_all_result = "".join(["\n".join(e.values()) for e in ocr_text])
455
+
456
+ if len(ocr_all_result) > min_characters and get_vector_flag:
457
+ if visual_info and llm_name:
458
+ # for serving or local
459
+ llm_api = create_llm_api(llm_name, llm_params)
460
+ text_result = llm_api.get_vector(ocr_text, llm_request_interval)
461
+ else:
462
+ # for local
463
+ text_result = self.llm_api.get_vector(ocr_text, llm_request_interval)
464
+ else:
465
+ text_result = str(ocr_text)
466
+ self.visual_flag = False
467
+
468
+ return VectorResult({"vector": text_result})
469
+
470
+ def retrieval(
471
+ self,
472
+ key_list,
473
+ vector,
474
+ llm_name=None,
475
+ llm_params={},
476
+ llm_request_interval=0.1,
477
+ ):
478
+ assert "vector" in vector
479
+ key_list = format_key(key_list)
480
+
481
+ # for serving
482
+ if llm_name:
483
+ _vector = vector["vector"]
484
+ llm_api = create_llm_api(llm_name, llm_params)
485
+ retrieval = llm_api.caculate_similar(
486
+ vector=_vector,
487
+ key_list=key_list,
488
+ llm_params=llm_params,
489
+ sleep_time=llm_request_interval,
490
+ )
491
+ else:
492
+ _vector = vector["vector"]
493
+ retrieval = self.llm_api.caculate_similar(
494
+ vector=_vector, key_list=key_list, sleep_time=llm_request_interval
495
+ )
496
+
497
+ return RetrievalResult({"retrieval": retrieval})
498
+
499
+ def chat(
500
+ self,
501
+ key_list,
502
+ vector=None,
503
+ visual_info=None,
504
+ retrieval_result=None,
505
+ user_task_description="",
506
+ rules="",
507
+ few_shot="",
508
+ save_prompt=False,
509
+ llm_name=None,
510
+ llm_params={},
511
+ ):
512
+ """
513
+ chat with key
514
+
515
+ """
516
+ if not any([vector, visual_info, retrieval_result]):
517
+ return ChatResult(
518
+ {"chat_res": "请先完成图像解析再开始再对话", "prompt": ""}
519
+ )
520
+ key_list = format_key(key_list)
521
+ # first get from table, then get from text in table, last get from all ocr
522
+
523
+ ocr_text = visual_info["ocr_text"]
524
+ html_list = visual_info["table_html"]
525
+ table_text_list = visual_info["table_text"]
526
+
527
+ prompt_res = {"ocr_prompt": "str", "table_prompt": [], "html_prompt": []}
528
+
529
+ if llm_name:
530
+ llm_api = create_llm_api(llm_name, llm_params)
531
+ else:
532
+ llm_api = self.llm_api
533
+
534
+ final_results = {}
535
+ failed_results = ["大模型调用失败", "未知", "未找到关键信息", "None", ""]
536
+ if html_list:
537
+ prompt_list = self.get_prompt_for_table(
538
+ html_list, key_list, rules, few_shot
539
+ )
540
+ prompt_res["html_prompt"] = prompt_list
541
+ for prompt, table_text in zip(prompt_list, table_text_list):
542
+ logging.debug(prompt)
543
+ res = self.get_llm_result(llm_api, prompt)
544
+ # TODO: why use one html but the whole table_text in next step
545
+ if list(res.values())[0] in failed_results:
546
+ logging.debug(
547
+ "table html sequence is too much longer, using ocr directly!"
548
+ )
549
+ prompt = self.get_prompt_for_ocr(
550
+ table_text, key_list, rules, few_shot, user_task_description
551
+ )
552
+ logging.debug(prompt)
553
+ prompt_res["table_prompt"].append(prompt)
554
+ res = self.get_llm_result(llm_api, prompt)
555
+ for key, value in res.items():
556
+ if value not in failed_results and key in key_list:
557
+ key_list.remove(key)
558
+ final_results[key] = value
559
+ if len(key_list) > 0:
560
+ logging.debug("get result from ocr")
561
+ if retrieval_result:
562
+ ocr_text = retrieval_result.get("retrieval")
563
+ elif vector:
564
+ # for serving
565
+ if llm_name:
566
+ ocr_text = self.retrieval(
567
+ key_list=key_list,
568
+ vector=vector,
569
+ llm_name=llm_name,
570
+ llm_params=llm_params,
571
+ )["retrieval"]
572
+ # for local
573
+ else:
574
+ ocr_text = self.retrieval(key_list=key_list, vector=vector)[
575
+ "retrieval"
576
+ ]
577
+
578
+ prompt = self.get_prompt_for_ocr(
579
+ ocr_text,
580
+ key_list,
581
+ rules,
582
+ few_shot,
583
+ user_task_description,
584
+ )
585
+ logging.debug(prompt)
586
+ prompt_res["ocr_prompt"] = [prompt]
587
+ res = self.get_llm_result(llm_api, prompt)
588
+ if res:
589
+ final_results.update(res)
590
+ if not res and not final_results:
591
+ final_results = {"error": llm_api.ERROR_MASSAGE}
592
+ if save_prompt:
593
+ return ChatResult({"chat_res": final_results, "prompt": prompt_res})
594
+ else:
595
+ return ChatResult({"chat_res": final_results, "prompt": ""})
596
+
597
+ def get_llm_result(self, llm_api, prompt):
598
+ """get llm result and decode to dict"""
599
+ llm_result = llm_api.pred(prompt)
600
+ # when the llm pred failed, return None
601
+ if not llm_result:
602
+ return {}
603
+
604
+ if "json" in llm_result or "```" in llm_result:
605
+ llm_result = (
606
+ llm_result.replace("```", "").replace("json", "").replace("/n", "")
607
+ )
608
+
609
+ llm_result = llm_result.replace("[", "").replace("]", "")
610
+ try:
611
+ llm_result = json.loads(llm_result)
612
+ llm_result_final = {}
613
+ for key in llm_result:
614
+ value = llm_result[key]
615
+ if isinstance(value, list):
616
+ if len(value) > 0:
617
+ llm_result_final[key] = value[0]
618
+ else:
619
+ llm_result_final[key] = value
620
+ return llm_result_final
621
+ except:
622
+ results = (
623
+ llm_result.replace("\n", "")
624
+ .replace(" ", "")
625
+ .replace("{", "")
626
+ .replace("}", "")
627
+ )
628
+ if not results.endswith('"'):
629
+ results = results + '"'
630
+ pattern = r'"(.*?)": "([^"]*)"'
631
+ matches = re.findall(pattern, str(results))
632
+ llm_result = {k: v for k, v in matches}
633
+ return llm_result
634
+
635
+ def get_prompt_for_table(self, table_result, key_list, rules="", few_shot=""):
636
+ """get prompt for table"""
637
+ prompt_key_information = []
638
+ merge_table = ""
639
+ for idx, result in enumerate(table_result):
640
+ if len(merge_table + result) < 2000:
641
+ merge_table += result
642
+ if len(merge_table + result) > 2000 or idx == len(table_result) - 1:
643
+ single_prompt = self.get_kie_prompt(
644
+ merge_table,
645
+ key_list,
646
+ rules_str=rules,
647
+ few_shot_demo_str=few_shot,
648
+ prompt_type="table",
649
+ )
650
+ prompt_key_information.append(single_prompt)
651
+ merge_table = ""
652
+ return prompt_key_information
653
+
654
+ def get_prompt_for_ocr(
655
+ self,
656
+ ocr_result,
657
+ key_list,
658
+ rules="",
659
+ few_shot="",
660
+ user_task_description="",
661
+ ):
662
+ """get prompt for ocr"""
663
+
664
+ prompt_key_information = self.get_kie_prompt(
665
+ ocr_result, key_list, user_task_description, rules, few_shot
666
+ )
667
+ return prompt_key_information
668
+
669
+ def get_kie_prompt(
670
+ self,
671
+ text_result,
672
+ key_list,
673
+ user_task_description="",
674
+ rules_str="",
675
+ few_shot_demo_str="",
676
+ prompt_type="common",
677
+ ):
678
+ """get_kie_prompt"""
679
+
680
+ if prompt_type == "table":
681
+ task_description = self.task_prompt_dict["kie_table_prompt"][
682
+ "task_description"
683
+ ]
684
+ else:
685
+ task_description = self.task_prompt_dict["kie_common_prompt"][
686
+ "task_description"
687
+ ]
688
+ output_format = self.task_prompt_dict["kie_common_prompt"]["output_format"]
689
+ if len(user_task_description) > 0:
690
+ task_description = user_task_description
691
+ task_description = task_description + output_format
692
+
693
+ few_shot_demo_key_value = ""
694
+
695
+ if self.user_prompt_dict:
696
+ logging.info("======= common use custom ========")
697
+ task_description = self.user_prompt_dict["task_description"]
698
+ rules_str = self.user_prompt_dict["rules_str"]
699
+ few_shot_demo_str = self.user_prompt_dict["few_shot_demo_str"]
700
+ few_shot_demo_key_value = self.user_prompt_dict["few_shot_demo_key_value"]
701
+
702
+ prompt = f"""{task_description}{rules_str}{few_shot_demo_str}{few_shot_demo_key_value}"""
703
+
704
+ if prompt_type == "table":
705
+ prompt += f"""\n结合上面,下面正式开始:\
706
+ 表格内容:```{text_result}```\
707
+ 关键词列表:[{key_list}]。""".replace(
708
+ " ", ""
709
+ )
710
+ else:
711
+ prompt += f"""\n结合上面的例子,下面正式开始:\
712
+ OCR文字:```{text_result}```\
713
+ 关键词列表:[{key_list}]。""".replace(
714
+ " ", ""
715
+ )
716
+
717
+ return prompt