paddlex 2.1.0__py3-none-any.whl → 3.0.0rc0__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 (1708) hide show
  1. paddlex/.version +1 -0
  2. paddlex/__init__.py +52 -19
  3. paddlex/__main__.py +39 -0
  4. paddlex/configs/modules/3d_bev_detection/BEVFusion.yaml +38 -0
  5. paddlex/configs/modules/doc_text_orientation/PP-LCNet_x1_0_doc_ori.yaml +41 -0
  6. paddlex/configs/modules/face_detection/BlazeFace-FPN-SSH.yaml +40 -0
  7. paddlex/configs/modules/face_detection/BlazeFace.yaml +40 -0
  8. paddlex/configs/modules/face_detection/PP-YOLOE_plus-S_face.yaml +40 -0
  9. paddlex/configs/modules/face_detection/PicoDet_LCNet_x2_5_face.yaml +40 -0
  10. paddlex/configs/modules/face_feature/MobileFaceNet.yaml +41 -0
  11. paddlex/configs/modules/face_feature/ResNet50_face.yaml +41 -0
  12. paddlex/configs/modules/formula_recognition/LaTeX_OCR_rec.yaml +40 -0
  13. paddlex/configs/modules/formula_recognition/PP-FormulaNet-L.yaml +40 -0
  14. paddlex/configs/modules/formula_recognition/PP-FormulaNet-S.yaml +40 -0
  15. paddlex/configs/modules/formula_recognition/UniMERNet.yaml +40 -0
  16. paddlex/configs/modules/human_detection/PP-YOLOE-L_human.yaml +42 -0
  17. paddlex/configs/modules/human_detection/PP-YOLOE-S_human.yaml +42 -0
  18. paddlex/configs/modules/image_anomaly_detection/STFPM.yaml +41 -0
  19. paddlex/configs/modules/image_classification/CLIP_vit_base_patch16_224.yaml +41 -0
  20. paddlex/configs/modules/image_classification/CLIP_vit_large_patch14_224.yaml +41 -0
  21. paddlex/configs/modules/image_classification/ConvNeXt_base_224.yaml +41 -0
  22. paddlex/configs/modules/image_classification/ConvNeXt_base_384.yaml +41 -0
  23. paddlex/configs/modules/image_classification/ConvNeXt_large_224.yaml +41 -0
  24. paddlex/configs/modules/image_classification/ConvNeXt_large_384.yaml +41 -0
  25. paddlex/configs/modules/image_classification/ConvNeXt_small.yaml +41 -0
  26. paddlex/configs/modules/image_classification/ConvNeXt_tiny.yaml +41 -0
  27. paddlex/configs/modules/image_classification/FasterNet-L.yaml +40 -0
  28. paddlex/configs/modules/image_classification/FasterNet-M.yaml +40 -0
  29. paddlex/configs/modules/image_classification/FasterNet-S.yaml +40 -0
  30. paddlex/configs/modules/image_classification/FasterNet-T0.yaml +40 -0
  31. paddlex/configs/modules/image_classification/FasterNet-T1.yaml +40 -0
  32. paddlex/configs/modules/image_classification/FasterNet-T2.yaml +40 -0
  33. paddlex/configs/modules/image_classification/MobileNetV1_x0_25.yaml +41 -0
  34. paddlex/configs/modules/image_classification/MobileNetV1_x0_5.yaml +41 -0
  35. paddlex/configs/modules/image_classification/MobileNetV1_x0_75.yaml +41 -0
  36. paddlex/configs/modules/image_classification/MobileNetV1_x1_0.yaml +41 -0
  37. paddlex/configs/modules/image_classification/MobileNetV2_x0_25.yaml +41 -0
  38. paddlex/configs/modules/image_classification/MobileNetV2_x0_5.yaml +41 -0
  39. paddlex/configs/modules/image_classification/MobileNetV2_x1_0.yaml +41 -0
  40. paddlex/configs/modules/image_classification/MobileNetV2_x1_5.yaml +41 -0
  41. paddlex/configs/modules/image_classification/MobileNetV2_x2_0.yaml +41 -0
  42. paddlex/configs/modules/image_classification/MobileNetV3_large_x0_35.yaml +41 -0
  43. paddlex/configs/modules/image_classification/MobileNetV3_large_x0_5.yaml +41 -0
  44. paddlex/configs/modules/image_classification/MobileNetV3_large_x0_75.yaml +41 -0
  45. paddlex/configs/modules/image_classification/MobileNetV3_large_x1_0.yaml +41 -0
  46. paddlex/configs/modules/image_classification/MobileNetV3_large_x1_25.yaml +41 -0
  47. paddlex/configs/modules/image_classification/MobileNetV3_small_x0_35.yaml +41 -0
  48. paddlex/configs/modules/image_classification/MobileNetV3_small_x0_5.yaml +41 -0
  49. paddlex/configs/modules/image_classification/MobileNetV3_small_x0_75.yaml +41 -0
  50. paddlex/configs/modules/image_classification/MobileNetV3_small_x1_0.yaml +41 -0
  51. paddlex/configs/modules/image_classification/MobileNetV3_small_x1_25.yaml +41 -0
  52. paddlex/configs/modules/image_classification/MobileNetV4_conv_large.yaml +41 -0
  53. paddlex/configs/modules/image_classification/MobileNetV4_conv_medium.yaml +41 -0
  54. paddlex/configs/modules/image_classification/MobileNetV4_conv_small.yaml +41 -0
  55. paddlex/configs/modules/image_classification/MobileNetV4_hybrid_large.yaml +41 -0
  56. paddlex/configs/modules/image_classification/MobileNetV4_hybrid_medium.yaml +41 -0
  57. paddlex/configs/modules/image_classification/PP-HGNetV2-B0.yaml +41 -0
  58. paddlex/configs/modules/image_classification/PP-HGNetV2-B1.yaml +41 -0
  59. paddlex/configs/modules/image_classification/PP-HGNetV2-B2.yaml +41 -0
  60. paddlex/configs/modules/image_classification/PP-HGNetV2-B3.yaml +41 -0
  61. paddlex/configs/modules/image_classification/PP-HGNetV2-B4.yaml +41 -0
  62. paddlex/configs/modules/image_classification/PP-HGNetV2-B5.yaml +41 -0
  63. paddlex/configs/modules/image_classification/PP-HGNetV2-B6.yaml +41 -0
  64. paddlex/configs/modules/image_classification/PP-HGNet_base.yaml +41 -0
  65. paddlex/configs/modules/image_classification/PP-HGNet_small.yaml +41 -0
  66. paddlex/configs/modules/image_classification/PP-HGNet_tiny.yaml +41 -0
  67. paddlex/configs/modules/image_classification/PP-LCNetV2_base.yaml +41 -0
  68. paddlex/configs/modules/image_classification/PP-LCNetV2_large.yaml +41 -0
  69. paddlex/configs/modules/image_classification/PP-LCNetV2_small.yaml +41 -0
  70. paddlex/configs/modules/image_classification/PP-LCNet_x0_25.yaml +41 -0
  71. paddlex/configs/modules/image_classification/PP-LCNet_x0_35.yaml +41 -0
  72. paddlex/configs/modules/image_classification/PP-LCNet_x0_5.yaml +41 -0
  73. paddlex/configs/modules/image_classification/PP-LCNet_x0_75.yaml +41 -0
  74. paddlex/configs/modules/image_classification/PP-LCNet_x1_0.yaml +41 -0
  75. paddlex/configs/modules/image_classification/PP-LCNet_x1_5.yaml +41 -0
  76. paddlex/configs/modules/image_classification/PP-LCNet_x2_0.yaml +41 -0
  77. paddlex/configs/modules/image_classification/PP-LCNet_x2_5.yaml +41 -0
  78. paddlex/configs/modules/image_classification/ResNet101.yaml +41 -0
  79. paddlex/configs/modules/image_classification/ResNet101_vd.yaml +41 -0
  80. paddlex/configs/modules/image_classification/ResNet152.yaml +41 -0
  81. paddlex/configs/modules/image_classification/ResNet152_vd.yaml +41 -0
  82. paddlex/configs/modules/image_classification/ResNet18.yaml +41 -0
  83. paddlex/configs/modules/image_classification/ResNet18_vd.yaml +41 -0
  84. paddlex/configs/modules/image_classification/ResNet200_vd.yaml +41 -0
  85. paddlex/configs/modules/image_classification/ResNet34.yaml +41 -0
  86. paddlex/configs/modules/image_classification/ResNet34_vd.yaml +41 -0
  87. paddlex/configs/modules/image_classification/ResNet50.yaml +41 -0
  88. paddlex/configs/modules/image_classification/ResNet50_vd.yaml +41 -0
  89. paddlex/configs/modules/image_classification/StarNet-S1.yaml +41 -0
  90. paddlex/configs/modules/image_classification/StarNet-S2.yaml +41 -0
  91. paddlex/configs/modules/image_classification/StarNet-S3.yaml +41 -0
  92. paddlex/configs/modules/image_classification/StarNet-S4.yaml +41 -0
  93. paddlex/configs/modules/image_classification/SwinTransformer_base_patch4_window12_384.yaml +41 -0
  94. paddlex/configs/modules/image_classification/SwinTransformer_base_patch4_window7_224.yaml +41 -0
  95. paddlex/configs/modules/image_classification/SwinTransformer_large_patch4_window12_384.yaml +41 -0
  96. paddlex/configs/modules/image_classification/SwinTransformer_large_patch4_window7_224.yaml +41 -0
  97. paddlex/configs/modules/image_classification/SwinTransformer_small_patch4_window7_224.yaml +41 -0
  98. paddlex/configs/modules/image_classification/SwinTransformer_tiny_patch4_window7_224.yaml +41 -0
  99. paddlex/configs/modules/image_feature/PP-ShiTuV2_rec.yaml +42 -0
  100. paddlex/configs/modules/image_feature/PP-ShiTuV2_rec_CLIP_vit_base.yaml +42 -0
  101. paddlex/configs/modules/image_feature/PP-ShiTuV2_rec_CLIP_vit_large.yaml +41 -0
  102. paddlex/configs/modules/image_multilabel_classification/CLIP_vit_base_patch16_448_ML.yaml +41 -0
  103. paddlex/configs/modules/image_multilabel_classification/PP-HGNetV2-B0_ML.yaml +41 -0
  104. paddlex/configs/modules/image_multilabel_classification/PP-HGNetV2-B4_ML.yaml +41 -0
  105. paddlex/configs/modules/image_multilabel_classification/PP-HGNetV2-B6_ML.yaml +41 -0
  106. paddlex/configs/modules/image_multilabel_classification/PP-LCNet_x1_0_ML.yaml +41 -0
  107. paddlex/configs/modules/image_multilabel_classification/ResNet50_ML.yaml +41 -0
  108. paddlex/configs/modules/image_unwarping/UVDoc.yaml +12 -0
  109. paddlex/configs/modules/instance_segmentation/Cascade-MaskRCNN-ResNet50-FPN.yaml +40 -0
  110. paddlex/configs/modules/instance_segmentation/Cascade-MaskRCNN-ResNet50-vd-SSLDv2-FPN.yaml +40 -0
  111. paddlex/configs/modules/instance_segmentation/Mask-RT-DETR-H.yaml +40 -0
  112. paddlex/configs/modules/instance_segmentation/Mask-RT-DETR-L.yaml +40 -0
  113. paddlex/configs/modules/instance_segmentation/Mask-RT-DETR-M.yaml +40 -0
  114. paddlex/configs/modules/instance_segmentation/Mask-RT-DETR-S.yaml +40 -0
  115. paddlex/configs/modules/instance_segmentation/Mask-RT-DETR-X.yaml +40 -0
  116. paddlex/configs/modules/instance_segmentation/MaskRCNN-ResNeXt101-vd-FPN.yaml +39 -0
  117. paddlex/configs/modules/instance_segmentation/MaskRCNN-ResNet101-FPN.yaml +40 -0
  118. paddlex/configs/modules/instance_segmentation/MaskRCNN-ResNet101-vd-FPN.yaml +40 -0
  119. paddlex/configs/modules/instance_segmentation/MaskRCNN-ResNet50-FPN.yaml +40 -0
  120. paddlex/configs/modules/instance_segmentation/MaskRCNN-ResNet50-vd-FPN.yaml +40 -0
  121. paddlex/configs/modules/instance_segmentation/MaskRCNN-ResNet50.yaml +40 -0
  122. paddlex/configs/modules/instance_segmentation/PP-YOLOE_seg-S.yaml +40 -0
  123. paddlex/configs/modules/instance_segmentation/SOLOv2.yaml +40 -0
  124. paddlex/configs/modules/keypoint_detection/PP-TinyPose_128x96.yaml +40 -0
  125. paddlex/configs/modules/keypoint_detection/PP-TinyPose_256x192.yaml +40 -0
  126. paddlex/configs/modules/layout_detection/PP-DocLayout-L.yaml +40 -0
  127. paddlex/configs/modules/layout_detection/PP-DocLayout-M.yaml +40 -0
  128. paddlex/configs/modules/layout_detection/PP-DocLayout-S.yaml +40 -0
  129. paddlex/configs/modules/layout_detection/PicoDet-L_layout_17cls.yaml +40 -0
  130. paddlex/configs/modules/layout_detection/PicoDet-L_layout_3cls.yaml +40 -0
  131. paddlex/configs/modules/layout_detection/PicoDet-S_layout_17cls.yaml +40 -0
  132. paddlex/configs/modules/layout_detection/PicoDet-S_layout_3cls.yaml +40 -0
  133. paddlex/configs/modules/layout_detection/PicoDet_layout_1x.yaml +40 -0
  134. paddlex/configs/modules/layout_detection/PicoDet_layout_1x_table.yaml +40 -0
  135. paddlex/configs/modules/layout_detection/RT-DETR-H_layout_17cls.yaml +40 -0
  136. paddlex/configs/modules/layout_detection/RT-DETR-H_layout_3cls.yaml +40 -0
  137. paddlex/configs/modules/mainbody_detection/PP-ShiTuV2_det.yaml +41 -0
  138. paddlex/configs/modules/multilingual_speech_recognition/whisper_base.yaml +12 -0
  139. paddlex/configs/modules/multilingual_speech_recognition/whisper_large.yaml +12 -0
  140. paddlex/configs/modules/multilingual_speech_recognition/whisper_medium.yaml +12 -0
  141. paddlex/configs/modules/multilingual_speech_recognition/whisper_small.yaml +12 -0
  142. paddlex/configs/modules/multilingual_speech_recognition/whisper_tiny.yaml +12 -0
  143. paddlex/configs/modules/object_detection/Cascade-FasterRCNN-ResNet50-FPN.yaml +41 -0
  144. paddlex/configs/modules/object_detection/Cascade-FasterRCNN-ResNet50-vd-SSLDv2-FPN.yaml +42 -0
  145. paddlex/configs/modules/object_detection/CenterNet-DLA-34.yaml +41 -0
  146. paddlex/configs/modules/object_detection/CenterNet-ResNet50.yaml +41 -0
  147. paddlex/configs/modules/object_detection/Co-DINO-R50.yaml +40 -0
  148. paddlex/configs/modules/object_detection/Co-DINO-Swin-L.yaml +40 -0
  149. paddlex/configs/modules/object_detection/Co-Deformable-DETR-R50.yaml +40 -0
  150. paddlex/configs/modules/object_detection/Co-Deformable-DETR-Swin-T.yaml +40 -0
  151. paddlex/configs/modules/object_detection/DETR-R50.yaml +42 -0
  152. paddlex/configs/modules/object_detection/FCOS-ResNet50.yaml +41 -0
  153. paddlex/configs/modules/object_detection/FasterRCNN-ResNeXt101-vd-FPN.yaml +42 -0
  154. paddlex/configs/modules/object_detection/FasterRCNN-ResNet101-FPN.yaml +42 -0
  155. paddlex/configs/modules/object_detection/FasterRCNN-ResNet101.yaml +42 -0
  156. paddlex/configs/modules/object_detection/FasterRCNN-ResNet34-FPN.yaml +42 -0
  157. paddlex/configs/modules/object_detection/FasterRCNN-ResNet50-FPN.yaml +42 -0
  158. paddlex/configs/modules/object_detection/FasterRCNN-ResNet50-vd-FPN.yaml +42 -0
  159. paddlex/configs/modules/object_detection/FasterRCNN-ResNet50-vd-SSLDv2-FPN.yaml +42 -0
  160. paddlex/configs/modules/object_detection/FasterRCNN-ResNet50.yaml +42 -0
  161. paddlex/configs/modules/object_detection/FasterRCNN-Swin-Tiny-FPN.yaml +42 -0
  162. paddlex/configs/modules/object_detection/PP-YOLOE_plus-L.yaml +40 -0
  163. paddlex/configs/modules/object_detection/PP-YOLOE_plus-M.yaml +40 -0
  164. paddlex/configs/modules/object_detection/PP-YOLOE_plus-S.yaml +40 -0
  165. paddlex/configs/modules/object_detection/PP-YOLOE_plus-X.yaml +40 -0
  166. paddlex/configs/modules/object_detection/PicoDet-L.yaml +40 -0
  167. paddlex/configs/modules/object_detection/PicoDet-M.yaml +42 -0
  168. paddlex/configs/modules/object_detection/PicoDet-S.yaml +40 -0
  169. paddlex/configs/modules/object_detection/PicoDet-XS.yaml +42 -0
  170. paddlex/configs/modules/object_detection/RT-DETR-H.yaml +40 -0
  171. paddlex/configs/modules/object_detection/RT-DETR-L.yaml +40 -0
  172. paddlex/configs/modules/object_detection/RT-DETR-R18.yaml +40 -0
  173. paddlex/configs/modules/object_detection/RT-DETR-R50.yaml +40 -0
  174. paddlex/configs/modules/object_detection/RT-DETR-X.yaml +40 -0
  175. paddlex/configs/modules/object_detection/YOLOX-L.yaml +40 -0
  176. paddlex/configs/modules/object_detection/YOLOX-M.yaml +40 -0
  177. paddlex/configs/modules/object_detection/YOLOX-N.yaml +40 -0
  178. paddlex/configs/modules/object_detection/YOLOX-S.yaml +40 -0
  179. paddlex/configs/modules/object_detection/YOLOX-T.yaml +40 -0
  180. paddlex/configs/modules/object_detection/YOLOX-X.yaml +40 -0
  181. paddlex/configs/modules/object_detection/YOLOv3-DarkNet53.yaml +40 -0
  182. paddlex/configs/modules/object_detection/YOLOv3-MobileNetV3.yaml +40 -0
  183. paddlex/configs/modules/object_detection/YOLOv3-ResNet50_vd_DCN.yaml +40 -0
  184. paddlex/configs/modules/open_vocabulary_detection/GroundingDINO-T.yaml +13 -0
  185. paddlex/configs/modules/open_vocabulary_segmentation/SAM-H_box.yaml +17 -0
  186. paddlex/configs/modules/open_vocabulary_segmentation/SAM-H_point.yaml +15 -0
  187. paddlex/configs/modules/pedestrian_attribute_recognition/PP-LCNet_x1_0_pedestrian_attribute.yaml +41 -0
  188. paddlex/configs/modules/rotated_object_detection/PP-YOLOE-R-L.yaml +40 -0
  189. paddlex/configs/modules/seal_text_detection/PP-OCRv4_mobile_seal_det.yaml +40 -0
  190. paddlex/configs/modules/seal_text_detection/PP-OCRv4_server_seal_det.yaml +40 -0
  191. paddlex/configs/modules/semantic_segmentation/Deeplabv3-R101.yaml +40 -0
  192. paddlex/configs/modules/semantic_segmentation/Deeplabv3-R50.yaml +40 -0
  193. paddlex/configs/modules/semantic_segmentation/Deeplabv3_Plus-R101.yaml +40 -0
  194. paddlex/configs/modules/semantic_segmentation/Deeplabv3_Plus-R50.yaml +40 -0
  195. paddlex/configs/modules/semantic_segmentation/MaskFormer_small.yaml +42 -0
  196. paddlex/configs/modules/semantic_segmentation/MaskFormer_tiny.yaml +42 -0
  197. paddlex/configs/modules/semantic_segmentation/OCRNet_HRNet-W18.yaml +40 -0
  198. paddlex/configs/modules/semantic_segmentation/OCRNet_HRNet-W48.yaml +40 -0
  199. paddlex/configs/modules/semantic_segmentation/PP-LiteSeg-B.yaml +41 -0
  200. paddlex/configs/modules/semantic_segmentation/PP-LiteSeg-T.yaml +40 -0
  201. paddlex/configs/modules/semantic_segmentation/SeaFormer_base.yaml +40 -0
  202. paddlex/configs/modules/semantic_segmentation/SeaFormer_large.yaml +40 -0
  203. paddlex/configs/modules/semantic_segmentation/SeaFormer_small.yaml +40 -0
  204. paddlex/configs/modules/semantic_segmentation/SeaFormer_tiny.yaml +40 -0
  205. paddlex/configs/modules/semantic_segmentation/SegFormer-B0.yaml +40 -0
  206. paddlex/configs/modules/semantic_segmentation/SegFormer-B1.yaml +40 -0
  207. paddlex/configs/modules/semantic_segmentation/SegFormer-B2.yaml +40 -0
  208. paddlex/configs/modules/semantic_segmentation/SegFormer-B3.yaml +40 -0
  209. paddlex/configs/modules/semantic_segmentation/SegFormer-B4.yaml +40 -0
  210. paddlex/configs/modules/semantic_segmentation/SegFormer-B5.yaml +40 -0
  211. paddlex/configs/modules/small_object_detection/PP-YOLOE_plus_SOD-L.yaml +42 -0
  212. paddlex/configs/modules/small_object_detection/PP-YOLOE_plus_SOD-S.yaml +42 -0
  213. paddlex/configs/modules/small_object_detection/PP-YOLOE_plus_SOD-largesize-L.yaml +42 -0
  214. paddlex/configs/modules/table_cells_detection/RT-DETR-L_wired_table_cell_det.yaml +40 -0
  215. paddlex/configs/modules/table_cells_detection/RT-DETR-L_wireless_table_cell_det.yaml +40 -0
  216. paddlex/configs/modules/table_classification/PP-LCNet_x1_0_table_cls.yaml +41 -0
  217. paddlex/configs/modules/table_structure_recognition/SLANeXt_wired.yaml +39 -0
  218. paddlex/configs/modules/table_structure_recognition/SLANeXt_wireless.yaml +39 -0
  219. paddlex/configs/modules/table_structure_recognition/SLANet.yaml +39 -0
  220. paddlex/configs/modules/table_structure_recognition/SLANet_plus.yaml +39 -0
  221. paddlex/configs/modules/text_detection/PP-OCRv3_mobile_det.yaml +40 -0
  222. paddlex/configs/modules/text_detection/PP-OCRv3_server_det.yaml +40 -0
  223. paddlex/configs/modules/text_detection/PP-OCRv4_mobile_det.yaml +40 -0
  224. paddlex/configs/modules/text_detection/PP-OCRv4_server_det.yaml +40 -0
  225. paddlex/configs/modules/text_recognition/PP-OCRv3_mobile_rec.yaml +39 -0
  226. paddlex/configs/modules/text_recognition/PP-OCRv4_mobile_rec.yaml +39 -0
  227. paddlex/configs/modules/text_recognition/PP-OCRv4_server_rec.yaml +39 -0
  228. paddlex/configs/modules/text_recognition/PP-OCRv4_server_rec_doc.yaml +39 -0
  229. paddlex/configs/modules/text_recognition/arabic_PP-OCRv3_mobile_rec.yaml +39 -0
  230. paddlex/configs/modules/text_recognition/ch_RepSVTR_rec.yaml +39 -0
  231. paddlex/configs/modules/text_recognition/ch_SVTRv2_rec.yaml +39 -0
  232. paddlex/configs/modules/text_recognition/chinese_cht_PP-OCRv3_mobile_rec.yaml +39 -0
  233. paddlex/configs/modules/text_recognition/cyrillic_PP-OCRv3_mobile_rec.yaml +39 -0
  234. paddlex/configs/modules/text_recognition/devanagari_PP-OCRv3_mobile_rec.yaml +39 -0
  235. paddlex/configs/modules/text_recognition/en_PP-OCRv3_mobile_rec.yaml +39 -0
  236. paddlex/configs/modules/text_recognition/en_PP-OCRv4_mobile_rec.yaml +39 -0
  237. paddlex/configs/modules/text_recognition/japan_PP-OCRv3_mobile_rec.yaml +39 -0
  238. paddlex/configs/modules/text_recognition/ka_PP-OCRv3_mobile_rec.yaml +39 -0
  239. paddlex/configs/modules/text_recognition/korean_PP-OCRv3_mobile_rec.yaml +39 -0
  240. paddlex/configs/modules/text_recognition/latin_PP-OCRv3_mobile_rec.yaml +39 -0
  241. paddlex/configs/modules/text_recognition/ta_PP-OCRv3_mobile_rec.yaml +39 -0
  242. paddlex/configs/modules/text_recognition/te_PP-OCRv3_mobile_rec.yaml +39 -0
  243. paddlex/configs/modules/textline_orientation/PP-LCNet_x0_25_textline_ori.yaml +41 -0
  244. paddlex/configs/modules/ts_anomaly_detection/AutoEncoder_ad.yaml +37 -0
  245. paddlex/configs/modules/ts_anomaly_detection/DLinear_ad.yaml +37 -0
  246. paddlex/configs/modules/ts_anomaly_detection/Nonstationary_ad.yaml +37 -0
  247. paddlex/configs/modules/ts_anomaly_detection/PatchTST_ad.yaml +37 -0
  248. paddlex/configs/modules/ts_anomaly_detection/TimesNet_ad.yaml +37 -0
  249. paddlex/configs/modules/ts_classification/TimesNet_cls.yaml +37 -0
  250. paddlex/configs/modules/ts_forecast/DLinear.yaml +38 -0
  251. paddlex/configs/modules/ts_forecast/NLinear.yaml +38 -0
  252. paddlex/configs/modules/ts_forecast/Nonstationary.yaml +38 -0
  253. paddlex/configs/modules/ts_forecast/PatchTST.yaml +38 -0
  254. paddlex/configs/modules/ts_forecast/RLinear.yaml +38 -0
  255. paddlex/configs/modules/ts_forecast/TiDE.yaml +38 -0
  256. paddlex/configs/modules/ts_forecast/TimesNet.yaml +38 -0
  257. paddlex/configs/modules/vehicle_attribute_recognition/PP-LCNet_x1_0_vehicle_attribute.yaml +41 -0
  258. paddlex/configs/modules/vehicle_detection/PP-YOLOE-L_vehicle.yaml +41 -0
  259. paddlex/configs/modules/vehicle_detection/PP-YOLOE-S_vehicle.yaml +42 -0
  260. paddlex/configs/modules/video_classification/PP-TSM-R50_8frames_uniform.yaml +42 -0
  261. paddlex/configs/modules/video_classification/PP-TSMv2-LCNetV2_16frames_uniform.yaml +42 -0
  262. paddlex/configs/modules/video_classification/PP-TSMv2-LCNetV2_8frames_uniform.yaml +42 -0
  263. paddlex/configs/modules/video_detection/YOWO.yaml +40 -0
  264. paddlex/configs/pipelines/3d_bev_detection.yaml +9 -0
  265. paddlex/configs/pipelines/OCR.yaml +44 -0
  266. paddlex/configs/pipelines/PP-ChatOCRv3-doc.yaml +149 -0
  267. paddlex/configs/pipelines/PP-ChatOCRv4-doc.yaml +184 -0
  268. paddlex/configs/pipelines/PP-ShiTuV2.yaml +18 -0
  269. paddlex/configs/pipelines/PP-StructureV3.yaml +226 -0
  270. paddlex/configs/pipelines/anomaly_detection.yaml +8 -0
  271. paddlex/configs/pipelines/doc_preprocessor.yaml +15 -0
  272. paddlex/configs/pipelines/face_recognition.yaml +18 -0
  273. paddlex/configs/pipelines/formula_recognition.yaml +39 -0
  274. paddlex/configs/pipelines/human_keypoint_detection.yaml +17 -0
  275. paddlex/configs/pipelines/image_classification.yaml +10 -0
  276. paddlex/configs/pipelines/image_multilabel_classification.yaml +9 -0
  277. paddlex/configs/pipelines/instance_segmentation.yaml +10 -0
  278. paddlex/configs/pipelines/layout_parsing.yaml +101 -0
  279. paddlex/configs/pipelines/multilingual_speech_recognition.yaml +9 -0
  280. paddlex/configs/pipelines/object_detection.yaml +10 -0
  281. paddlex/configs/pipelines/open_vocabulary_detection.yaml +12 -0
  282. paddlex/configs/pipelines/open_vocabulary_segmentation.yaml +13 -0
  283. paddlex/configs/pipelines/pedestrian_attribute_recognition.yaml +15 -0
  284. paddlex/configs/pipelines/rotated_object_detection.yaml +10 -0
  285. paddlex/configs/pipelines/seal_recognition.yaml +51 -0
  286. paddlex/configs/pipelines/semantic_segmentation.yaml +10 -0
  287. paddlex/configs/pipelines/small_object_detection.yaml +10 -0
  288. paddlex/configs/pipelines/table_recognition.yaml +56 -0
  289. paddlex/configs/pipelines/table_recognition_v2.yaml +76 -0
  290. paddlex/configs/pipelines/ts_anomaly_detection.yaml +8 -0
  291. paddlex/configs/pipelines/ts_classification.yaml +8 -0
  292. paddlex/configs/pipelines/ts_forecast.yaml +8 -0
  293. paddlex/configs/pipelines/vehicle_attribute_recognition.yaml +15 -0
  294. paddlex/configs/pipelines/video_classification.yaml +9 -0
  295. paddlex/configs/pipelines/video_detection.yaml +10 -0
  296. paddlex/engine.py +54 -0
  297. paddlex/hpip_links.html +19 -0
  298. paddlex/inference/__init__.py +19 -0
  299. paddlex/inference/common/__init__.py +13 -0
  300. paddlex/inference/common/batch_sampler/__init__.py +20 -0
  301. paddlex/inference/common/batch_sampler/audio_batch_sampler.py +84 -0
  302. paddlex/inference/common/batch_sampler/base_batch_sampler.py +90 -0
  303. paddlex/inference/common/batch_sampler/det_3d_batch_sampler.py +147 -0
  304. paddlex/inference/common/batch_sampler/image_batch_sampler.py +136 -0
  305. paddlex/inference/common/batch_sampler/ts_batch_sampler.py +110 -0
  306. paddlex/inference/common/batch_sampler/video_batch_sampler.py +94 -0
  307. paddlex/inference/common/reader/__init__.py +19 -0
  308. paddlex/inference/common/reader/audio_reader.py +46 -0
  309. paddlex/inference/common/reader/det_3d_reader.py +239 -0
  310. paddlex/inference/common/reader/image_reader.py +69 -0
  311. paddlex/inference/common/reader/ts_reader.py +45 -0
  312. paddlex/inference/common/reader/video_reader.py +42 -0
  313. paddlex/inference/common/result/__init__.py +29 -0
  314. paddlex/inference/common/result/base_cv_result.py +31 -0
  315. paddlex/inference/common/result/base_result.py +70 -0
  316. paddlex/inference/common/result/base_ts_result.py +42 -0
  317. paddlex/inference/common/result/base_video_result.py +36 -0
  318. paddlex/inference/common/result/mixin.py +703 -0
  319. paddlex/inference/models/3d_bev_detection/__init__.py +15 -0
  320. paddlex/inference/models/3d_bev_detection/predictor.py +314 -0
  321. paddlex/inference/models/3d_bev_detection/processors.py +978 -0
  322. paddlex/inference/models/3d_bev_detection/result.py +65 -0
  323. paddlex/inference/models/3d_bev_detection/visualizer_3d.py +131 -0
  324. paddlex/inference/models/__init__.py +130 -0
  325. paddlex/inference/models/anomaly_detection/__init__.py +15 -0
  326. paddlex/inference/models/anomaly_detection/predictor.py +145 -0
  327. paddlex/inference/models/anomaly_detection/processors.py +46 -0
  328. paddlex/inference/models/anomaly_detection/result.py +70 -0
  329. paddlex/inference/models/base/__init__.py +15 -0
  330. paddlex/inference/models/base/predictor/__init__.py +16 -0
  331. paddlex/inference/models/base/predictor/base_predictor.py +175 -0
  332. paddlex/inference/models/base/predictor/basic_predictor.py +139 -0
  333. paddlex/inference/models/common/__init__.py +35 -0
  334. paddlex/inference/models/common/static_infer.py +329 -0
  335. paddlex/inference/models/common/tokenizer/__init__.py +17 -0
  336. paddlex/inference/models/common/tokenizer/bert_tokenizer.py +655 -0
  337. paddlex/inference/models/common/tokenizer/gpt_tokenizer.py +451 -0
  338. paddlex/inference/models/common/tokenizer/tokenizer_utils.py +2141 -0
  339. paddlex/inference/models/common/tokenizer/tokenizer_utils_base.py +3504 -0
  340. paddlex/inference/models/common/tokenizer/utils.py +66 -0
  341. paddlex/inference/models/common/tokenizer/vocab.py +647 -0
  342. paddlex/inference/models/common/ts/__init__.py +15 -0
  343. paddlex/inference/models/common/ts/funcs.py +533 -0
  344. paddlex/inference/models/common/ts/processors.py +313 -0
  345. paddlex/inference/models/common/vision/__init__.py +23 -0
  346. paddlex/inference/models/common/vision/funcs.py +93 -0
  347. paddlex/inference/models/common/vision/processors.py +270 -0
  348. paddlex/inference/models/face_feature/__init__.py +15 -0
  349. paddlex/inference/models/face_feature/predictor.py +65 -0
  350. paddlex/inference/models/formula_recognition/__init__.py +15 -0
  351. paddlex/inference/models/formula_recognition/predictor.py +203 -0
  352. paddlex/inference/models/formula_recognition/processors.py +986 -0
  353. paddlex/inference/models/formula_recognition/result.py +403 -0
  354. paddlex/inference/models/image_classification/__init__.py +15 -0
  355. paddlex/inference/models/image_classification/predictor.py +182 -0
  356. paddlex/inference/models/image_classification/processors.py +87 -0
  357. paddlex/inference/models/image_classification/result.py +92 -0
  358. paddlex/inference/models/image_feature/__init__.py +15 -0
  359. paddlex/inference/models/image_feature/predictor.py +156 -0
  360. paddlex/inference/models/image_feature/processors.py +29 -0
  361. paddlex/inference/models/image_feature/result.py +33 -0
  362. paddlex/inference/models/image_multilabel_classification/__init__.py +15 -0
  363. paddlex/inference/models/image_multilabel_classification/predictor.py +94 -0
  364. paddlex/inference/models/image_multilabel_classification/processors.py +85 -0
  365. paddlex/inference/models/image_multilabel_classification/result.py +95 -0
  366. paddlex/inference/models/image_unwarping/__init__.py +15 -0
  367. paddlex/inference/models/image_unwarping/predictor.py +105 -0
  368. paddlex/inference/models/image_unwarping/processors.py +88 -0
  369. paddlex/inference/models/image_unwarping/result.py +45 -0
  370. paddlex/inference/models/instance_segmentation/__init__.py +15 -0
  371. paddlex/inference/models/instance_segmentation/predictor.py +210 -0
  372. paddlex/inference/models/instance_segmentation/processors.py +105 -0
  373. paddlex/inference/models/instance_segmentation/result.py +161 -0
  374. paddlex/inference/models/keypoint_detection/__init__.py +15 -0
  375. paddlex/inference/models/keypoint_detection/predictor.py +188 -0
  376. paddlex/inference/models/keypoint_detection/processors.py +359 -0
  377. paddlex/inference/models/keypoint_detection/result.py +192 -0
  378. paddlex/inference/models/multilingual_speech_recognition/__init__.py +15 -0
  379. paddlex/inference/models/multilingual_speech_recognition/predictor.py +141 -0
  380. paddlex/inference/models/multilingual_speech_recognition/processors.py +1941 -0
  381. paddlex/inference/models/multilingual_speech_recognition/result.py +21 -0
  382. paddlex/inference/models/object_detection/__init__.py +15 -0
  383. paddlex/inference/models/object_detection/predictor.py +348 -0
  384. paddlex/inference/models/object_detection/processors.py +855 -0
  385. paddlex/inference/models/object_detection/result.py +113 -0
  386. paddlex/inference/models/object_detection/utils.py +68 -0
  387. paddlex/inference/models/open_vocabulary_detection/__init__.py +15 -0
  388. paddlex/inference/models/open_vocabulary_detection/predictor.py +155 -0
  389. paddlex/inference/models/open_vocabulary_detection/processors/__init__.py +15 -0
  390. paddlex/inference/models/open_vocabulary_detection/processors/groundingdino_processors.py +485 -0
  391. paddlex/inference/models/open_vocabulary_segmentation/__init__.py +15 -0
  392. paddlex/inference/models/open_vocabulary_segmentation/predictor.py +120 -0
  393. paddlex/inference/models/open_vocabulary_segmentation/processors/__init__.py +15 -0
  394. paddlex/inference/models/open_vocabulary_segmentation/processors/sam_processer.py +249 -0
  395. paddlex/inference/models/open_vocabulary_segmentation/results/__init__.py +15 -0
  396. paddlex/inference/models/open_vocabulary_segmentation/results/sam_result.py +147 -0
  397. paddlex/inference/models/semantic_segmentation/__init__.py +15 -0
  398. paddlex/inference/models/semantic_segmentation/predictor.py +167 -0
  399. paddlex/inference/models/semantic_segmentation/processors.py +114 -0
  400. paddlex/inference/models/semantic_segmentation/result.py +72 -0
  401. paddlex/inference/models/table_structure_recognition/__init__.py +15 -0
  402. paddlex/inference/models/table_structure_recognition/predictor.py +171 -0
  403. paddlex/inference/models/table_structure_recognition/processors.py +235 -0
  404. paddlex/inference/models/table_structure_recognition/result.py +70 -0
  405. paddlex/inference/models/text_detection/__init__.py +15 -0
  406. paddlex/inference/models/text_detection/predictor.py +191 -0
  407. paddlex/inference/models/text_detection/processors.py +466 -0
  408. paddlex/inference/models/text_detection/result.py +51 -0
  409. paddlex/inference/models/text_recognition/__init__.py +15 -0
  410. paddlex/inference/models/text_recognition/predictor.py +106 -0
  411. paddlex/inference/models/text_recognition/processors.py +231 -0
  412. paddlex/inference/models/text_recognition/result.py +75 -0
  413. paddlex/inference/models/ts_anomaly_detection/__init__.py +15 -0
  414. paddlex/inference/models/ts_anomaly_detection/predictor.py +146 -0
  415. paddlex/inference/models/ts_anomaly_detection/processors.py +94 -0
  416. paddlex/inference/models/ts_anomaly_detection/result.py +72 -0
  417. paddlex/inference/models/ts_classification/__init__.py +15 -0
  418. paddlex/inference/models/ts_classification/predictor.py +135 -0
  419. paddlex/inference/models/ts_classification/processors.py +117 -0
  420. paddlex/inference/models/ts_classification/result.py +78 -0
  421. paddlex/inference/models/ts_forecasting/__init__.py +15 -0
  422. paddlex/inference/models/ts_forecasting/predictor.py +159 -0
  423. paddlex/inference/models/ts_forecasting/processors.py +149 -0
  424. paddlex/inference/models/ts_forecasting/result.py +83 -0
  425. paddlex/inference/models/video_classification/__init__.py +15 -0
  426. paddlex/inference/models/video_classification/predictor.py +147 -0
  427. paddlex/inference/models/video_classification/processors.py +409 -0
  428. paddlex/inference/models/video_classification/result.py +92 -0
  429. paddlex/inference/models/video_detection/__init__.py +15 -0
  430. paddlex/inference/models/video_detection/predictor.py +136 -0
  431. paddlex/inference/models/video_detection/processors.py +450 -0
  432. paddlex/inference/models/video_detection/result.py +104 -0
  433. paddlex/inference/pipelines/3d_bev_detection/__init__.py +15 -0
  434. paddlex/inference/pipelines/3d_bev_detection/pipeline.py +67 -0
  435. paddlex/inference/pipelines/__init__.py +228 -0
  436. paddlex/inference/pipelines/anomaly_detection/__init__.py +15 -0
  437. paddlex/inference/pipelines/anomaly_detection/pipeline.py +62 -0
  438. paddlex/inference/pipelines/attribute_recognition/__init__.py +15 -0
  439. paddlex/inference/pipelines/attribute_recognition/pipeline.py +105 -0
  440. paddlex/inference/pipelines/attribute_recognition/result.py +100 -0
  441. paddlex/inference/pipelines/base.py +132 -0
  442. paddlex/inference/pipelines/components/__init__.py +23 -0
  443. paddlex/inference/pipelines/components/chat_server/__init__.py +16 -0
  444. paddlex/inference/pipelines/components/chat_server/base.py +39 -0
  445. paddlex/inference/pipelines/components/chat_server/openai_bot_chat.py +236 -0
  446. paddlex/inference/pipelines/components/common/__init__.py +18 -0
  447. paddlex/inference/pipelines/components/common/base_operator.py +36 -0
  448. paddlex/inference/pipelines/components/common/base_result.py +65 -0
  449. paddlex/inference/pipelines/components/common/convert_points_and_boxes.py +46 -0
  450. paddlex/inference/pipelines/components/common/crop_image_regions.py +550 -0
  451. paddlex/inference/pipelines/components/common/seal_det_warp.py +941 -0
  452. paddlex/inference/pipelines/components/common/sort_boxes.py +83 -0
  453. paddlex/inference/pipelines/components/faisser.py +352 -0
  454. paddlex/inference/pipelines/components/prompt_engineering/__init__.py +16 -0
  455. paddlex/inference/pipelines/components/prompt_engineering/base.py +35 -0
  456. paddlex/inference/pipelines/components/prompt_engineering/generate_ensemble_prompt.py +127 -0
  457. paddlex/inference/pipelines/components/prompt_engineering/generate_kie_prompt.py +148 -0
  458. paddlex/inference/pipelines/components/retriever/__init__.py +16 -0
  459. paddlex/inference/pipelines/components/retriever/base.py +226 -0
  460. paddlex/inference/pipelines/components/retriever/openai_bot_retriever.py +70 -0
  461. paddlex/inference/pipelines/components/retriever/qianfan_bot_retriever.py +163 -0
  462. paddlex/inference/pipelines/components/utils/__init__.py +13 -0
  463. paddlex/inference/pipelines/components/utils/mixin.py +206 -0
  464. paddlex/inference/pipelines/doc_preprocessor/__init__.py +15 -0
  465. paddlex/inference/pipelines/doc_preprocessor/pipeline.py +190 -0
  466. paddlex/inference/pipelines/doc_preprocessor/result.py +103 -0
  467. paddlex/inference/pipelines/face_recognition/__init__.py +15 -0
  468. paddlex/inference/pipelines/face_recognition/pipeline.py +61 -0
  469. paddlex/inference/pipelines/face_recognition/result.py +43 -0
  470. paddlex/inference/pipelines/formula_recognition/__init__.py +15 -0
  471. paddlex/inference/pipelines/formula_recognition/pipeline.py +303 -0
  472. paddlex/inference/pipelines/formula_recognition/result.py +291 -0
  473. paddlex/inference/pipelines/image_classification/__init__.py +15 -0
  474. paddlex/inference/pipelines/image_classification/pipeline.py +71 -0
  475. paddlex/inference/pipelines/image_multilabel_classification/__init__.py +15 -0
  476. paddlex/inference/pipelines/image_multilabel_classification/pipeline.py +78 -0
  477. paddlex/inference/pipelines/instance_segmentation/__init__.py +15 -0
  478. paddlex/inference/pipelines/instance_segmentation/pipeline.py +70 -0
  479. paddlex/inference/pipelines/keypoint_detection/__init__.py +15 -0
  480. paddlex/inference/pipelines/keypoint_detection/pipeline.py +137 -0
  481. paddlex/inference/pipelines/layout_parsing/__init__.py +16 -0
  482. paddlex/inference/pipelines/layout_parsing/pipeline.py +570 -0
  483. paddlex/inference/pipelines/layout_parsing/pipeline_v2.py +739 -0
  484. paddlex/inference/pipelines/layout_parsing/result.py +203 -0
  485. paddlex/inference/pipelines/layout_parsing/result_v2.py +470 -0
  486. paddlex/inference/pipelines/layout_parsing/utils.py +2385 -0
  487. paddlex/inference/pipelines/multilingual_speech_recognition/__init__.py +15 -0
  488. paddlex/inference/pipelines/multilingual_speech_recognition/pipeline.py +67 -0
  489. paddlex/inference/pipelines/object_detection/__init__.py +15 -0
  490. paddlex/inference/pipelines/object_detection/pipeline.py +95 -0
  491. paddlex/inference/pipelines/ocr/__init__.py +15 -0
  492. paddlex/inference/pipelines/ocr/pipeline.py +389 -0
  493. paddlex/inference/pipelines/ocr/result.py +248 -0
  494. paddlex/inference/pipelines/open_vocabulary_detection/__init__.py +15 -0
  495. paddlex/inference/pipelines/open_vocabulary_detection/pipeline.py +75 -0
  496. paddlex/inference/pipelines/open_vocabulary_segmentation/__init__.py +15 -0
  497. paddlex/inference/pipelines/open_vocabulary_segmentation/pipeline.py +89 -0
  498. paddlex/inference/pipelines/pp_chatocr/__init__.py +16 -0
  499. paddlex/inference/pipelines/pp_chatocr/pipeline_base.py +102 -0
  500. paddlex/inference/pipelines/pp_chatocr/pipeline_v3.py +773 -0
  501. paddlex/inference/pipelines/pp_chatocr/pipeline_v4.py +977 -0
  502. paddlex/inference/pipelines/pp_shitu_v2/__init__.py +15 -0
  503. paddlex/inference/pipelines/pp_shitu_v2/pipeline.py +152 -0
  504. paddlex/inference/pipelines/pp_shitu_v2/result.py +126 -0
  505. paddlex/inference/pipelines/rotated_object_detection/__init__.py +15 -0
  506. paddlex/inference/pipelines/rotated_object_detection/pipeline.py +74 -0
  507. paddlex/inference/pipelines/seal_recognition/__init__.py +15 -0
  508. paddlex/inference/pipelines/seal_recognition/pipeline.py +271 -0
  509. paddlex/inference/pipelines/seal_recognition/result.py +87 -0
  510. paddlex/inference/pipelines/semantic_segmentation/__init__.py +15 -0
  511. paddlex/inference/pipelines/semantic_segmentation/pipeline.py +74 -0
  512. paddlex/inference/pipelines/small_object_detection/__init__.py +15 -0
  513. paddlex/inference/pipelines/small_object_detection/pipeline.py +74 -0
  514. paddlex/inference/pipelines/table_recognition/__init__.py +16 -0
  515. paddlex/inference/pipelines/table_recognition/pipeline.py +462 -0
  516. paddlex/inference/pipelines/table_recognition/pipeline_v2.py +792 -0
  517. paddlex/inference/pipelines/table_recognition/result.py +216 -0
  518. paddlex/inference/pipelines/table_recognition/table_recognition_post_processing.py +362 -0
  519. paddlex/inference/pipelines/table_recognition/table_recognition_post_processing_v2.py +470 -0
  520. paddlex/inference/pipelines/table_recognition/utils.py +44 -0
  521. paddlex/inference/pipelines/ts_anomaly_detection/__init__.py +15 -0
  522. paddlex/inference/pipelines/ts_anomaly_detection/pipeline.py +62 -0
  523. paddlex/inference/pipelines/ts_classification/__init__.py +15 -0
  524. paddlex/inference/pipelines/ts_classification/pipeline.py +62 -0
  525. paddlex/inference/pipelines/ts_forecasting/__init__.py +15 -0
  526. paddlex/inference/pipelines/ts_forecasting/pipeline.py +62 -0
  527. paddlex/inference/pipelines/video_classification/__init__.py +15 -0
  528. paddlex/inference/pipelines/video_classification/pipeline.py +68 -0
  529. paddlex/inference/pipelines/video_detection/__init__.py +15 -0
  530. paddlex/inference/pipelines/video_detection/pipeline.py +73 -0
  531. paddlex/inference/serving/__init__.py +13 -0
  532. paddlex/inference/serving/basic_serving/__init__.py +18 -0
  533. paddlex/inference/serving/basic_serving/_app.py +209 -0
  534. paddlex/inference/serving/basic_serving/_pipeline_apps/__init__.py +41 -0
  535. paddlex/inference/serving/basic_serving/_pipeline_apps/_common/__init__.py +13 -0
  536. paddlex/inference/serving/basic_serving/_pipeline_apps/_common/common.py +96 -0
  537. paddlex/inference/serving/basic_serving/_pipeline_apps/_common/image_recognition.py +36 -0
  538. paddlex/inference/serving/basic_serving/_pipeline_apps/_common/ocr.py +90 -0
  539. paddlex/inference/serving/basic_serving/_pipeline_apps/anomaly_detection.py +64 -0
  540. paddlex/inference/serving/basic_serving/_pipeline_apps/doc_preprocessor.py +97 -0
  541. paddlex/inference/serving/basic_serving/_pipeline_apps/face_recognition.py +223 -0
  542. paddlex/inference/serving/basic_serving/_pipeline_apps/formula_recognition.py +97 -0
  543. paddlex/inference/serving/basic_serving/_pipeline_apps/human_keypoint_detection.py +78 -0
  544. paddlex/inference/serving/basic_serving/_pipeline_apps/image_classification.py +66 -0
  545. paddlex/inference/serving/basic_serving/_pipeline_apps/image_multilabel_classification.py +70 -0
  546. paddlex/inference/serving/basic_serving/_pipeline_apps/instance_segmentation.py +81 -0
  547. paddlex/inference/serving/basic_serving/_pipeline_apps/layout_parsing.py +115 -0
  548. paddlex/inference/serving/basic_serving/_pipeline_apps/m_3d_bev_detection.py +76 -0
  549. paddlex/inference/serving/basic_serving/_pipeline_apps/multilingual_speech_recognition.py +89 -0
  550. paddlex/inference/serving/basic_serving/_pipeline_apps/object_detection.py +74 -0
  551. paddlex/inference/serving/basic_serving/_pipeline_apps/ocr.py +99 -0
  552. paddlex/inference/serving/basic_serving/_pipeline_apps/open_vocabulary_detection.py +78 -0
  553. paddlex/inference/serving/basic_serving/_pipeline_apps/open_vocabulary_segmentation.py +85 -0
  554. paddlex/inference/serving/basic_serving/_pipeline_apps/pedestrian_attribute_recognition.py +81 -0
  555. paddlex/inference/serving/basic_serving/_pipeline_apps/pp_chatocrv3_doc.py +191 -0
  556. paddlex/inference/serving/basic_serving/_pipeline_apps/pp_chatocrv4_doc.py +221 -0
  557. paddlex/inference/serving/basic_serving/_pipeline_apps/pp_shituv2.py +218 -0
  558. paddlex/inference/serving/basic_serving/_pipeline_apps/pp_structurev3.py +136 -0
  559. paddlex/inference/serving/basic_serving/_pipeline_apps/rotated_object_detection.py +78 -0
  560. paddlex/inference/serving/basic_serving/_pipeline_apps/seal_recognition.py +103 -0
  561. paddlex/inference/serving/basic_serving/_pipeline_apps/semantic_segmentation.py +64 -0
  562. paddlex/inference/serving/basic_serving/_pipeline_apps/small_object_detection.py +69 -0
  563. paddlex/inference/serving/basic_serving/_pipeline_apps/table_recognition.py +105 -0
  564. paddlex/inference/serving/basic_serving/_pipeline_apps/table_recognition_v2.py +107 -0
  565. paddlex/inference/serving/basic_serving/_pipeline_apps/ts_anomaly_detection.py +62 -0
  566. paddlex/inference/serving/basic_serving/_pipeline_apps/ts_classification.py +61 -0
  567. paddlex/inference/serving/basic_serving/_pipeline_apps/ts_forecast.py +62 -0
  568. paddlex/inference/serving/basic_serving/_pipeline_apps/vehicle_attribute_recognition.py +81 -0
  569. paddlex/inference/serving/basic_serving/_pipeline_apps/video_classification.py +73 -0
  570. paddlex/inference/serving/basic_serving/_pipeline_apps/video_detection.py +89 -0
  571. paddlex/inference/serving/basic_serving/_server.py +35 -0
  572. paddlex/inference/serving/infra/__init__.py +13 -0
  573. paddlex/inference/serving/infra/config.py +36 -0
  574. paddlex/inference/serving/infra/models.py +72 -0
  575. paddlex/inference/serving/infra/storage.py +175 -0
  576. paddlex/inference/serving/infra/utils.py +259 -0
  577. paddlex/inference/serving/schemas/__init__.py +13 -0
  578. paddlex/inference/serving/schemas/anomaly_detection.py +39 -0
  579. paddlex/inference/serving/schemas/doc_preprocessor.py +54 -0
  580. paddlex/inference/serving/schemas/face_recognition.py +124 -0
  581. paddlex/inference/serving/schemas/formula_recognition.py +56 -0
  582. paddlex/inference/serving/schemas/human_keypoint_detection.py +55 -0
  583. paddlex/inference/serving/schemas/image_classification.py +45 -0
  584. paddlex/inference/serving/schemas/image_multilabel_classification.py +47 -0
  585. paddlex/inference/serving/schemas/instance_segmentation.py +53 -0
  586. paddlex/inference/serving/schemas/layout_parsing.py +72 -0
  587. paddlex/inference/serving/schemas/m_3d_bev_detection.py +48 -0
  588. paddlex/inference/serving/schemas/multilingual_speech_recognition.py +57 -0
  589. paddlex/inference/serving/schemas/object_detection.py +52 -0
  590. paddlex/inference/serving/schemas/ocr.py +60 -0
  591. paddlex/inference/serving/schemas/open_vocabulary_detection.py +52 -0
  592. paddlex/inference/serving/schemas/open_vocabulary_segmentation.py +52 -0
  593. paddlex/inference/serving/schemas/pedestrian_attribute_recognition.py +61 -0
  594. paddlex/inference/serving/schemas/pp_chatocrv3_doc.py +134 -0
  595. paddlex/inference/serving/schemas/pp_chatocrv4_doc.py +151 -0
  596. paddlex/inference/serving/schemas/pp_shituv2.py +124 -0
  597. paddlex/inference/serving/schemas/pp_structurev3.py +84 -0
  598. paddlex/inference/serving/schemas/rotated_object_detection.py +52 -0
  599. paddlex/inference/serving/schemas/seal_recognition.py +62 -0
  600. paddlex/inference/serving/schemas/semantic_segmentation.py +45 -0
  601. paddlex/inference/serving/schemas/shared/__init__.py +13 -0
  602. paddlex/inference/serving/schemas/shared/classification.py +23 -0
  603. paddlex/inference/serving/schemas/shared/image_segmentation.py +28 -0
  604. paddlex/inference/serving/schemas/shared/object_detection.py +24 -0
  605. paddlex/inference/serving/schemas/shared/ocr.py +25 -0
  606. paddlex/inference/serving/schemas/small_object_detection.py +52 -0
  607. paddlex/inference/serving/schemas/table_recognition.py +64 -0
  608. paddlex/inference/serving/schemas/table_recognition_v2.py +66 -0
  609. paddlex/inference/serving/schemas/ts_anomaly_detection.py +37 -0
  610. paddlex/inference/serving/schemas/ts_classification.py +38 -0
  611. paddlex/inference/serving/schemas/ts_forecast.py +37 -0
  612. paddlex/inference/serving/schemas/vehicle_attribute_recognition.py +61 -0
  613. paddlex/inference/serving/schemas/video_classification.py +44 -0
  614. paddlex/inference/serving/schemas/video_detection.py +56 -0
  615. paddlex/inference/utils/__init__.py +13 -0
  616. paddlex/inference/utils/benchmark.py +226 -0
  617. paddlex/inference/utils/color_map.py +123 -0
  618. paddlex/inference/utils/get_pipeline_path.py +27 -0
  619. paddlex/inference/utils/io/__init__.py +36 -0
  620. paddlex/inference/utils/io/readers.py +500 -0
  621. paddlex/inference/utils/io/style.py +374 -0
  622. paddlex/inference/utils/io/tablepyxl.py +149 -0
  623. paddlex/inference/utils/io/writers.py +459 -0
  624. paddlex/inference/utils/new_ir_blacklist.py +28 -0
  625. paddlex/inference/utils/official_models.py +352 -0
  626. paddlex/inference/utils/pp_option.py +256 -0
  627. paddlex/model.py +113 -0
  628. paddlex/modules/3d_bev_detection/__init__.py +18 -0
  629. paddlex/modules/3d_bev_detection/dataset_checker/__init__.py +95 -0
  630. paddlex/modules/3d_bev_detection/dataset_checker/dataset_src/__init__.py +17 -0
  631. paddlex/modules/3d_bev_detection/dataset_checker/dataset_src/analyse_dataset.py +106 -0
  632. paddlex/modules/3d_bev_detection/dataset_checker/dataset_src/check_dataset.py +102 -0
  633. paddlex/modules/3d_bev_detection/evaluator.py +46 -0
  634. paddlex/modules/3d_bev_detection/exportor.py +22 -0
  635. paddlex/modules/3d_bev_detection/model_list.py +18 -0
  636. paddlex/modules/3d_bev_detection/trainer.py +70 -0
  637. paddlex/modules/__init__.py +138 -0
  638. paddlex/modules/anomaly_detection/__init__.py +18 -0
  639. paddlex/modules/anomaly_detection/dataset_checker/__init__.py +95 -0
  640. paddlex/modules/anomaly_detection/dataset_checker/dataset_src/__init__.py +19 -0
  641. paddlex/modules/anomaly_detection/dataset_checker/dataset_src/analyse_dataset.py +79 -0
  642. paddlex/modules/anomaly_detection/dataset_checker/dataset_src/check_dataset.py +87 -0
  643. paddlex/modules/anomaly_detection/dataset_checker/dataset_src/convert_dataset.py +230 -0
  644. paddlex/modules/anomaly_detection/dataset_checker/dataset_src/split_dataset.py +87 -0
  645. paddlex/modules/anomaly_detection/dataset_checker/dataset_src/utils/__init__.py +13 -0
  646. paddlex/modules/anomaly_detection/dataset_checker/dataset_src/utils/visualizer.py +71 -0
  647. paddlex/modules/anomaly_detection/evaluator.py +58 -0
  648. paddlex/modules/anomaly_detection/exportor.py +22 -0
  649. paddlex/modules/anomaly_detection/model_list.py +16 -0
  650. paddlex/modules/anomaly_detection/trainer.py +71 -0
  651. paddlex/modules/base/__init__.py +18 -0
  652. paddlex/modules/base/build_model.py +34 -0
  653. paddlex/modules/base/dataset_checker/__init__.py +16 -0
  654. paddlex/modules/base/dataset_checker/dataset_checker.py +169 -0
  655. paddlex/modules/base/dataset_checker/utils.py +110 -0
  656. paddlex/modules/base/evaluator.py +170 -0
  657. paddlex/modules/base/exportor.py +146 -0
  658. paddlex/modules/base/trainer.py +134 -0
  659. paddlex/modules/face_recognition/__init__.py +18 -0
  660. paddlex/modules/face_recognition/dataset_checker/__init__.py +71 -0
  661. paddlex/modules/face_recognition/dataset_checker/dataset_src/__init__.py +16 -0
  662. paddlex/modules/face_recognition/dataset_checker/dataset_src/check_dataset.py +174 -0
  663. paddlex/modules/face_recognition/dataset_checker/dataset_src/utils/__init__.py +13 -0
  664. paddlex/modules/face_recognition/dataset_checker/dataset_src/utils/visualizer.py +156 -0
  665. paddlex/modules/face_recognition/evaluator.py +52 -0
  666. paddlex/modules/face_recognition/exportor.py +22 -0
  667. paddlex/modules/face_recognition/model_list.py +15 -0
  668. paddlex/modules/face_recognition/trainer.py +75 -0
  669. paddlex/modules/formula_recognition/__init__.py +18 -0
  670. paddlex/modules/formula_recognition/dataset_checker/__init__.py +113 -0
  671. paddlex/modules/formula_recognition/dataset_checker/dataset_src/__init__.py +19 -0
  672. paddlex/modules/formula_recognition/dataset_checker/dataset_src/analyse_dataset.py +157 -0
  673. paddlex/modules/formula_recognition/dataset_checker/dataset_src/check_dataset.py +80 -0
  674. paddlex/modules/formula_recognition/dataset_checker/dataset_src/convert_dataset.py +94 -0
  675. paddlex/modules/formula_recognition/dataset_checker/dataset_src/split_dataset.py +81 -0
  676. paddlex/modules/formula_recognition/evaluator.py +77 -0
  677. paddlex/modules/formula_recognition/exportor.py +22 -0
  678. paddlex/modules/formula_recognition/model_list.py +20 -0
  679. paddlex/modules/formula_recognition/trainer.py +121 -0
  680. paddlex/modules/general_recognition/__init__.py +18 -0
  681. paddlex/modules/general_recognition/dataset_checker/__init__.py +107 -0
  682. paddlex/modules/general_recognition/dataset_checker/dataset_src/__init__.py +19 -0
  683. paddlex/modules/general_recognition/dataset_checker/dataset_src/analyse_dataset.py +98 -0
  684. paddlex/modules/general_recognition/dataset_checker/dataset_src/check_dataset.py +100 -0
  685. paddlex/modules/general_recognition/dataset_checker/dataset_src/convert_dataset.py +99 -0
  686. paddlex/modules/general_recognition/dataset_checker/dataset_src/split_dataset.py +82 -0
  687. paddlex/modules/general_recognition/dataset_checker/dataset_src/utils/__init__.py +13 -0
  688. paddlex/modules/general_recognition/dataset_checker/dataset_src/utils/visualizer.py +150 -0
  689. paddlex/modules/general_recognition/evaluator.py +31 -0
  690. paddlex/modules/general_recognition/exportor.py +22 -0
  691. paddlex/modules/general_recognition/model_list.py +19 -0
  692. paddlex/modules/general_recognition/trainer.py +52 -0
  693. paddlex/modules/image_classification/__init__.py +18 -0
  694. paddlex/modules/image_classification/dataset_checker/__init__.py +104 -0
  695. paddlex/modules/image_classification/dataset_checker/dataset_src/__init__.py +19 -0
  696. paddlex/modules/image_classification/dataset_checker/dataset_src/analyse_dataset.py +93 -0
  697. paddlex/modules/image_classification/dataset_checker/dataset_src/check_dataset.py +131 -0
  698. paddlex/modules/image_classification/dataset_checker/dataset_src/convert_dataset.py +51 -0
  699. paddlex/modules/image_classification/dataset_checker/dataset_src/split_dataset.py +81 -0
  700. paddlex/modules/image_classification/dataset_checker/dataset_src/utils/__init__.py +13 -0
  701. paddlex/modules/image_classification/dataset_checker/dataset_src/utils/visualizer.py +156 -0
  702. paddlex/modules/image_classification/evaluator.py +43 -0
  703. paddlex/modules/image_classification/exportor.py +22 -0
  704. paddlex/modules/image_classification/model_list.py +99 -0
  705. paddlex/modules/image_classification/trainer.py +82 -0
  706. paddlex/modules/image_unwarping/__init__.py +13 -0
  707. paddlex/modules/image_unwarping/model_list.py +17 -0
  708. paddlex/modules/instance_segmentation/__init__.py +18 -0
  709. paddlex/modules/instance_segmentation/dataset_checker/__init__.py +108 -0
  710. paddlex/modules/instance_segmentation/dataset_checker/dataset_src/__init__.py +19 -0
  711. paddlex/modules/instance_segmentation/dataset_checker/dataset_src/analyse_dataset.py +78 -0
  712. paddlex/modules/instance_segmentation/dataset_checker/dataset_src/check_dataset.py +92 -0
  713. paddlex/modules/instance_segmentation/dataset_checker/dataset_src/convert_dataset.py +241 -0
  714. paddlex/modules/instance_segmentation/dataset_checker/dataset_src/split_dataset.py +119 -0
  715. paddlex/modules/instance_segmentation/dataset_checker/dataset_src/utils/__init__.py +13 -0
  716. paddlex/modules/instance_segmentation/dataset_checker/dataset_src/utils/visualizer.py +221 -0
  717. paddlex/modules/instance_segmentation/evaluator.py +32 -0
  718. paddlex/modules/instance_segmentation/exportor.py +22 -0
  719. paddlex/modules/instance_segmentation/model_list.py +33 -0
  720. paddlex/modules/instance_segmentation/trainer.py +31 -0
  721. paddlex/modules/keypoint_detection/__init__.py +18 -0
  722. paddlex/modules/keypoint_detection/dataset_checker/__init__.py +56 -0
  723. paddlex/modules/keypoint_detection/dataset_checker/dataset_src/__init__.py +15 -0
  724. paddlex/modules/keypoint_detection/dataset_checker/dataset_src/check_dataset.py +86 -0
  725. paddlex/modules/keypoint_detection/dataset_checker/dataset_src/utils/__init__.py +13 -0
  726. paddlex/modules/keypoint_detection/dataset_checker/dataset_src/utils/visualizer.py +119 -0
  727. paddlex/modules/keypoint_detection/evaluator.py +41 -0
  728. paddlex/modules/keypoint_detection/exportor.py +22 -0
  729. paddlex/modules/keypoint_detection/model_list.py +16 -0
  730. paddlex/modules/keypoint_detection/trainer.py +39 -0
  731. paddlex/modules/multilabel_classification/__init__.py +18 -0
  732. paddlex/modules/multilabel_classification/dataset_checker/__init__.py +106 -0
  733. paddlex/modules/multilabel_classification/dataset_checker/dataset_src/__init__.py +19 -0
  734. paddlex/modules/multilabel_classification/dataset_checker/dataset_src/analyse_dataset.py +95 -0
  735. paddlex/modules/multilabel_classification/dataset_checker/dataset_src/check_dataset.py +131 -0
  736. paddlex/modules/multilabel_classification/dataset_checker/dataset_src/convert_dataset.py +117 -0
  737. paddlex/modules/multilabel_classification/dataset_checker/dataset_src/split_dataset.py +81 -0
  738. paddlex/modules/multilabel_classification/dataset_checker/dataset_src/utils/__init__.py +13 -0
  739. paddlex/modules/multilabel_classification/dataset_checker/dataset_src/utils/visualizer.py +153 -0
  740. paddlex/modules/multilabel_classification/evaluator.py +43 -0
  741. paddlex/modules/multilabel_classification/exportor.py +22 -0
  742. paddlex/modules/multilabel_classification/model_list.py +24 -0
  743. paddlex/modules/multilabel_classification/trainer.py +85 -0
  744. paddlex/modules/multilingual_speech_recognition/__init__.py +18 -0
  745. paddlex/modules/multilingual_speech_recognition/dataset_checker.py +27 -0
  746. paddlex/modules/multilingual_speech_recognition/evaluator.py +27 -0
  747. paddlex/modules/multilingual_speech_recognition/exportor.py +27 -0
  748. paddlex/modules/multilingual_speech_recognition/model_list.py +22 -0
  749. paddlex/modules/multilingual_speech_recognition/trainer.py +40 -0
  750. paddlex/modules/object_detection/__init__.py +18 -0
  751. paddlex/modules/object_detection/dataset_checker/__init__.py +115 -0
  752. paddlex/modules/object_detection/dataset_checker/dataset_src/__init__.py +19 -0
  753. paddlex/modules/object_detection/dataset_checker/dataset_src/analyse_dataset.py +80 -0
  754. paddlex/modules/object_detection/dataset_checker/dataset_src/check_dataset.py +86 -0
  755. paddlex/modules/object_detection/dataset_checker/dataset_src/convert_dataset.py +433 -0
  756. paddlex/modules/object_detection/dataset_checker/dataset_src/split_dataset.py +119 -0
  757. paddlex/modules/object_detection/dataset_checker/dataset_src/utils/__init__.py +13 -0
  758. paddlex/modules/object_detection/dataset_checker/dataset_src/utils/visualizer.py +192 -0
  759. paddlex/modules/object_detection/evaluator.py +52 -0
  760. paddlex/modules/object_detection/exportor.py +22 -0
  761. paddlex/modules/object_detection/model_list.py +84 -0
  762. paddlex/modules/object_detection/trainer.py +99 -0
  763. paddlex/modules/open_vocabulary_detection/__init__.py +18 -0
  764. paddlex/modules/open_vocabulary_detection/dataset_checker.py +29 -0
  765. paddlex/modules/open_vocabulary_detection/evaluator.py +29 -0
  766. paddlex/modules/open_vocabulary_detection/exportor.py +29 -0
  767. paddlex/modules/open_vocabulary_detection/model_list.py +18 -0
  768. paddlex/modules/open_vocabulary_detection/trainer.py +42 -0
  769. paddlex/modules/open_vocabulary_segmentation/__init__.py +18 -0
  770. paddlex/modules/open_vocabulary_segmentation/dataset_checker.py +29 -0
  771. paddlex/modules/open_vocabulary_segmentation/evaluator.py +29 -0
  772. paddlex/modules/open_vocabulary_segmentation/exportor.py +29 -0
  773. paddlex/modules/open_vocabulary_segmentation/model_list.py +19 -0
  774. paddlex/modules/open_vocabulary_segmentation/trainer.py +42 -0
  775. paddlex/modules/semantic_segmentation/__init__.py +18 -0
  776. paddlex/modules/semantic_segmentation/dataset_checker/__init__.py +110 -0
  777. paddlex/modules/semantic_segmentation/dataset_checker/dataset_src/__init__.py +19 -0
  778. paddlex/modules/semantic_segmentation/dataset_checker/dataset_src/analyse_dataset.py +73 -0
  779. paddlex/modules/semantic_segmentation/dataset_checker/dataset_src/check_dataset.py +80 -0
  780. paddlex/modules/semantic_segmentation/dataset_checker/dataset_src/convert_dataset.py +162 -0
  781. paddlex/modules/semantic_segmentation/dataset_checker/dataset_src/split_dataset.py +87 -0
  782. paddlex/modules/semantic_segmentation/dataset_checker/dataset_src/utils/__init__.py +13 -0
  783. paddlex/modules/semantic_segmentation/dataset_checker/dataset_src/utils/visualizer.py +71 -0
  784. paddlex/modules/semantic_segmentation/evaluator.py +58 -0
  785. paddlex/modules/semantic_segmentation/exportor.py +31 -0
  786. paddlex/modules/semantic_segmentation/model_list.py +37 -0
  787. paddlex/modules/semantic_segmentation/trainer.py +73 -0
  788. paddlex/modules/table_recognition/__init__.py +18 -0
  789. paddlex/modules/table_recognition/dataset_checker/__init__.py +98 -0
  790. paddlex/modules/table_recognition/dataset_checker/dataset_src/__init__.py +18 -0
  791. paddlex/modules/table_recognition/dataset_checker/dataset_src/analyse_dataset.py +58 -0
  792. paddlex/modules/table_recognition/dataset_checker/dataset_src/check_dataset.py +86 -0
  793. paddlex/modules/table_recognition/dataset_checker/dataset_src/split_dataset.py +79 -0
  794. paddlex/modules/table_recognition/evaluator.py +43 -0
  795. paddlex/modules/table_recognition/exportor.py +22 -0
  796. paddlex/modules/table_recognition/model_list.py +21 -0
  797. paddlex/modules/table_recognition/trainer.py +70 -0
  798. paddlex/modules/text_detection/__init__.py +18 -0
  799. paddlex/modules/text_detection/dataset_checker/__init__.py +109 -0
  800. paddlex/modules/text_detection/dataset_checker/dataset_src/__init__.py +18 -0
  801. paddlex/modules/text_detection/dataset_checker/dataset_src/analyse_dataset.py +217 -0
  802. paddlex/modules/text_detection/dataset_checker/dataset_src/check_dataset.py +106 -0
  803. paddlex/modules/text_detection/dataset_checker/dataset_src/split_dataset.py +140 -0
  804. paddlex/modules/text_detection/evaluator.py +41 -0
  805. paddlex/modules/text_detection/exportor.py +22 -0
  806. paddlex/modules/text_detection/model_list.py +24 -0
  807. paddlex/modules/text_detection/trainer.py +68 -0
  808. paddlex/modules/text_recognition/__init__.py +18 -0
  809. paddlex/modules/text_recognition/dataset_checker/__init__.py +126 -0
  810. paddlex/modules/text_recognition/dataset_checker/dataset_src/__init__.py +19 -0
  811. paddlex/modules/text_recognition/dataset_checker/dataset_src/analyse_dataset.py +161 -0
  812. paddlex/modules/text_recognition/dataset_checker/dataset_src/check_dataset.py +107 -0
  813. paddlex/modules/text_recognition/dataset_checker/dataset_src/convert_dataset.py +94 -0
  814. paddlex/modules/text_recognition/dataset_checker/dataset_src/split_dataset.py +81 -0
  815. paddlex/modules/text_recognition/evaluator.py +64 -0
  816. paddlex/modules/text_recognition/exportor.py +22 -0
  817. paddlex/modules/text_recognition/model_list.py +34 -0
  818. paddlex/modules/text_recognition/trainer.py +106 -0
  819. paddlex/modules/ts_anomaly_detection/__init__.py +19 -0
  820. paddlex/modules/ts_anomaly_detection/dataset_checker/__init__.py +112 -0
  821. paddlex/modules/ts_anomaly_detection/dataset_checker/dataset_src/__init__.py +19 -0
  822. paddlex/modules/ts_anomaly_detection/dataset_checker/dataset_src/analyse_dataset.py +27 -0
  823. paddlex/modules/ts_anomaly_detection/dataset_checker/dataset_src/check_dataset.py +64 -0
  824. paddlex/modules/ts_anomaly_detection/dataset_checker/dataset_src/convert_dataset.py +78 -0
  825. paddlex/modules/ts_anomaly_detection/dataset_checker/dataset_src/split_dataset.py +63 -0
  826. paddlex/modules/ts_anomaly_detection/evaluator.py +67 -0
  827. paddlex/modules/ts_anomaly_detection/exportor.py +45 -0
  828. paddlex/modules/ts_anomaly_detection/model_list.py +22 -0
  829. paddlex/modules/ts_anomaly_detection/trainer.py +113 -0
  830. paddlex/modules/ts_classification/__init__.py +19 -0
  831. paddlex/modules/ts_classification/dataset_checker/__init__.py +112 -0
  832. paddlex/modules/ts_classification/dataset_checker/dataset_src/__init__.py +19 -0
  833. paddlex/modules/ts_classification/dataset_checker/dataset_src/analyse_dataset.py +74 -0
  834. paddlex/modules/ts_classification/dataset_checker/dataset_src/check_dataset.py +64 -0
  835. paddlex/modules/ts_classification/dataset_checker/dataset_src/convert_dataset.py +78 -0
  836. paddlex/modules/ts_classification/dataset_checker/dataset_src/split_dataset.py +88 -0
  837. paddlex/modules/ts_classification/evaluator.py +66 -0
  838. paddlex/modules/ts_classification/exportor.py +45 -0
  839. paddlex/modules/ts_classification/model_list.py +18 -0
  840. paddlex/modules/ts_classification/trainer.py +108 -0
  841. paddlex/modules/ts_forecast/__init__.py +19 -0
  842. paddlex/modules/ts_forecast/dataset_checker/__init__.py +112 -0
  843. paddlex/modules/ts_forecast/dataset_checker/dataset_src/__init__.py +19 -0
  844. paddlex/modules/ts_forecast/dataset_checker/dataset_src/analyse_dataset.py +27 -0
  845. paddlex/modules/ts_forecast/dataset_checker/dataset_src/check_dataset.py +64 -0
  846. paddlex/modules/ts_forecast/dataset_checker/dataset_src/convert_dataset.py +77 -0
  847. paddlex/modules/ts_forecast/dataset_checker/dataset_src/split_dataset.py +63 -0
  848. paddlex/modules/ts_forecast/evaluator.py +66 -0
  849. paddlex/modules/ts_forecast/exportor.py +45 -0
  850. paddlex/modules/ts_forecast/model_list.py +24 -0
  851. paddlex/modules/ts_forecast/trainer.py +108 -0
  852. paddlex/modules/video_classification/__init__.py +18 -0
  853. paddlex/modules/video_classification/dataset_checker/__init__.py +93 -0
  854. paddlex/modules/video_classification/dataset_checker/dataset_src/__init__.py +18 -0
  855. paddlex/modules/video_classification/dataset_checker/dataset_src/analyse_dataset.py +93 -0
  856. paddlex/modules/video_classification/dataset_checker/dataset_src/check_dataset.py +121 -0
  857. paddlex/modules/video_classification/dataset_checker/dataset_src/split_dataset.py +82 -0
  858. paddlex/modules/video_classification/evaluator.py +44 -0
  859. paddlex/modules/video_classification/exportor.py +22 -0
  860. paddlex/modules/video_classification/model_list.py +19 -0
  861. paddlex/modules/video_classification/trainer.py +88 -0
  862. paddlex/modules/video_detection/__init__.py +18 -0
  863. paddlex/modules/video_detection/dataset_checker/__init__.py +86 -0
  864. paddlex/modules/video_detection/dataset_checker/dataset_src/__init__.py +17 -0
  865. paddlex/modules/video_detection/dataset_checker/dataset_src/analyse_dataset.py +101 -0
  866. paddlex/modules/video_detection/dataset_checker/dataset_src/check_dataset.py +134 -0
  867. paddlex/modules/video_detection/evaluator.py +42 -0
  868. paddlex/modules/video_detection/exportor.py +22 -0
  869. paddlex/modules/video_detection/model_list.py +15 -0
  870. paddlex/modules/video_detection/trainer.py +82 -0
  871. paddlex/ops/__init__.py +149 -0
  872. paddlex/ops/iou3d_nms/iou3d_cpu.cpp +264 -0
  873. paddlex/ops/iou3d_nms/iou3d_cpu.h +27 -0
  874. paddlex/ops/iou3d_nms/iou3d_nms.cpp +204 -0
  875. paddlex/ops/iou3d_nms/iou3d_nms.h +33 -0
  876. paddlex/ops/iou3d_nms/iou3d_nms_api.cpp +108 -0
  877. paddlex/ops/iou3d_nms/iou3d_nms_kernel.cu +482 -0
  878. paddlex/ops/setup.py +37 -0
  879. paddlex/ops/voxel/voxelize_op.cc +191 -0
  880. paddlex/ops/voxel/voxelize_op.cu +346 -0
  881. paddlex/paddle2onnx_requirements.txt +1 -0
  882. paddlex/paddlex_cli.py +464 -0
  883. paddlex/repo_apis/Paddle3D_api/__init__.py +17 -0
  884. paddlex/repo_apis/Paddle3D_api/bev_fusion/__init__.py +18 -0
  885. paddlex/repo_apis/Paddle3D_api/bev_fusion/config.py +118 -0
  886. paddlex/repo_apis/Paddle3D_api/bev_fusion/model.py +238 -0
  887. paddlex/repo_apis/Paddle3D_api/bev_fusion/register.py +55 -0
  888. paddlex/repo_apis/Paddle3D_api/bev_fusion/runner.py +104 -0
  889. paddlex/repo_apis/Paddle3D_api/pp3d_config.py +144 -0
  890. paddlex/repo_apis/PaddleClas_api/__init__.py +17 -0
  891. paddlex/repo_apis/PaddleClas_api/cls/__init__.py +19 -0
  892. paddlex/repo_apis/PaddleClas_api/cls/config.py +594 -0
  893. paddlex/repo_apis/PaddleClas_api/cls/model.py +355 -0
  894. paddlex/repo_apis/PaddleClas_api/cls/register.py +908 -0
  895. paddlex/repo_apis/PaddleClas_api/cls/runner.py +219 -0
  896. paddlex/repo_apis/PaddleClas_api/shitu_rec/__init__.py +18 -0
  897. paddlex/repo_apis/PaddleClas_api/shitu_rec/config.py +141 -0
  898. paddlex/repo_apis/PaddleClas_api/shitu_rec/model.py +23 -0
  899. paddlex/repo_apis/PaddleClas_api/shitu_rec/register.py +68 -0
  900. paddlex/repo_apis/PaddleClas_api/shitu_rec/runner.py +55 -0
  901. paddlex/repo_apis/PaddleDetection_api/__init__.py +17 -0
  902. paddlex/repo_apis/PaddleDetection_api/config_helper.py +280 -0
  903. paddlex/repo_apis/PaddleDetection_api/instance_seg/__init__.py +18 -0
  904. paddlex/repo_apis/PaddleDetection_api/instance_seg/config.py +458 -0
  905. paddlex/repo_apis/PaddleDetection_api/instance_seg/model.py +403 -0
  906. paddlex/repo_apis/PaddleDetection_api/instance_seg/register.py +263 -0
  907. paddlex/repo_apis/PaddleDetection_api/instance_seg/runner.py +226 -0
  908. paddlex/repo_apis/PaddleDetection_api/object_det/__init__.py +19 -0
  909. paddlex/repo_apis/PaddleDetection_api/object_det/config.py +539 -0
  910. paddlex/repo_apis/PaddleDetection_api/object_det/model.py +430 -0
  911. paddlex/repo_apis/PaddleDetection_api/object_det/official_categories.py +220 -0
  912. paddlex/repo_apis/PaddleDetection_api/object_det/register.py +1106 -0
  913. paddlex/repo_apis/PaddleDetection_api/object_det/runner.py +226 -0
  914. paddlex/repo_apis/PaddleNLP_api/__init__.py +13 -0
  915. paddlex/repo_apis/PaddleOCR_api/__init__.py +21 -0
  916. paddlex/repo_apis/PaddleOCR_api/config_utils.py +53 -0
  917. paddlex/repo_apis/PaddleOCR_api/formula_rec/__init__.py +16 -0
  918. paddlex/repo_apis/PaddleOCR_api/formula_rec/config.py +570 -0
  919. paddlex/repo_apis/PaddleOCR_api/formula_rec/model.py +402 -0
  920. paddlex/repo_apis/PaddleOCR_api/formula_rec/register.py +73 -0
  921. paddlex/repo_apis/PaddleOCR_api/formula_rec/runner.py +240 -0
  922. paddlex/repo_apis/PaddleOCR_api/table_rec/__init__.py +16 -0
  923. paddlex/repo_apis/PaddleOCR_api/table_rec/config.py +64 -0
  924. paddlex/repo_apis/PaddleOCR_api/table_rec/model.py +126 -0
  925. paddlex/repo_apis/PaddleOCR_api/table_rec/register.py +71 -0
  926. paddlex/repo_apis/PaddleOCR_api/table_rec/runner.py +51 -0
  927. paddlex/repo_apis/PaddleOCR_api/text_det/__init__.py +16 -0
  928. paddlex/repo_apis/PaddleOCR_api/text_det/config.py +62 -0
  929. paddlex/repo_apis/PaddleOCR_api/text_det/model.py +72 -0
  930. paddlex/repo_apis/PaddleOCR_api/text_det/register.py +90 -0
  931. paddlex/repo_apis/PaddleOCR_api/text_det/runner.py +53 -0
  932. paddlex/repo_apis/PaddleOCR_api/text_rec/__init__.py +16 -0
  933. paddlex/repo_apis/PaddleOCR_api/text_rec/config.py +563 -0
  934. paddlex/repo_apis/PaddleOCR_api/text_rec/model.py +402 -0
  935. paddlex/repo_apis/PaddleOCR_api/text_rec/register.py +199 -0
  936. paddlex/repo_apis/PaddleOCR_api/text_rec/runner.py +240 -0
  937. paddlex/repo_apis/PaddleSeg_api/__init__.py +16 -0
  938. paddlex/repo_apis/PaddleSeg_api/base_seg_config.py +134 -0
  939. paddlex/repo_apis/PaddleSeg_api/seg/__init__.py +16 -0
  940. paddlex/repo_apis/PaddleSeg_api/seg/config.py +186 -0
  941. paddlex/repo_apis/PaddleSeg_api/seg/model.py +491 -0
  942. paddlex/repo_apis/PaddleSeg_api/seg/register.py +273 -0
  943. paddlex/repo_apis/PaddleSeg_api/seg/runner.py +262 -0
  944. paddlex/repo_apis/PaddleTS_api/__init__.py +19 -0
  945. paddlex/repo_apis/PaddleTS_api/ts_ad/__init__.py +16 -0
  946. paddlex/repo_apis/PaddleTS_api/ts_ad/config.py +89 -0
  947. paddlex/repo_apis/PaddleTS_api/ts_ad/register.py +146 -0
  948. paddlex/repo_apis/PaddleTS_api/ts_ad/runner.py +158 -0
  949. paddlex/repo_apis/PaddleTS_api/ts_base/__init__.py +13 -0
  950. paddlex/repo_apis/PaddleTS_api/ts_base/config.py +246 -0
  951. paddlex/repo_apis/PaddleTS_api/ts_base/model.py +276 -0
  952. paddlex/repo_apis/PaddleTS_api/ts_base/runner.py +158 -0
  953. paddlex/repo_apis/PaddleTS_api/ts_cls/__init__.py +16 -0
  954. paddlex/repo_apis/PaddleTS_api/ts_cls/config.py +73 -0
  955. paddlex/repo_apis/PaddleTS_api/ts_cls/register.py +59 -0
  956. paddlex/repo_apis/PaddleTS_api/ts_cls/runner.py +158 -0
  957. paddlex/repo_apis/PaddleTS_api/ts_fc/__init__.py +16 -0
  958. paddlex/repo_apis/PaddleTS_api/ts_fc/config.py +137 -0
  959. paddlex/repo_apis/PaddleTS_api/ts_fc/register.py +186 -0
  960. paddlex/repo_apis/PaddleVideo_api/__init__.py +17 -0
  961. paddlex/repo_apis/PaddleVideo_api/config_utils.py +51 -0
  962. paddlex/repo_apis/PaddleVideo_api/video_cls/__init__.py +19 -0
  963. paddlex/repo_apis/PaddleVideo_api/video_cls/config.py +547 -0
  964. paddlex/repo_apis/PaddleVideo_api/video_cls/model.py +346 -0
  965. paddlex/repo_apis/PaddleVideo_api/video_cls/register.py +71 -0
  966. paddlex/repo_apis/PaddleVideo_api/video_cls/runner.py +205 -0
  967. paddlex/repo_apis/PaddleVideo_api/video_det/__init__.py +19 -0
  968. paddlex/repo_apis/PaddleVideo_api/video_det/config.py +548 -0
  969. paddlex/repo_apis/PaddleVideo_api/video_det/model.py +298 -0
  970. paddlex/repo_apis/PaddleVideo_api/video_det/register.py +45 -0
  971. paddlex/repo_apis/PaddleVideo_api/video_det/runner.py +200 -0
  972. paddlex/repo_apis/__init__.py +13 -0
  973. paddlex/repo_apis/base/__init__.py +23 -0
  974. paddlex/repo_apis/base/config.py +238 -0
  975. paddlex/repo_apis/base/model.py +571 -0
  976. paddlex/repo_apis/base/register.py +135 -0
  977. paddlex/repo_apis/base/runner.py +391 -0
  978. paddlex/repo_apis/base/utils/__init__.py +13 -0
  979. paddlex/repo_apis/base/utils/arg.py +64 -0
  980. paddlex/repo_apis/base/utils/subprocess.py +107 -0
  981. paddlex/repo_manager/__init__.py +24 -0
  982. paddlex/repo_manager/core.py +271 -0
  983. paddlex/repo_manager/meta.py +170 -0
  984. paddlex/repo_manager/repo.py +415 -0
  985. paddlex/repo_manager/requirements.txt +21 -0
  986. paddlex/repo_manager/utils.py +359 -0
  987. paddlex/serving_requirements.txt +9 -0
  988. paddlex/utils/__init__.py +1 -12
  989. paddlex/utils/cache.py +148 -0
  990. paddlex/utils/config.py +215 -0
  991. paddlex/utils/custom_device_whitelist.py +457 -0
  992. paddlex/utils/device.py +151 -0
  993. paddlex/utils/download.py +168 -182
  994. paddlex/utils/env.py +11 -50
  995. paddlex/utils/errors/__init__.py +17 -0
  996. paddlex/utils/errors/dataset_checker.py +78 -0
  997. paddlex/utils/errors/others.py +152 -0
  998. paddlex/utils/file_interface.py +212 -0
  999. paddlex/utils/flags.py +65 -0
  1000. paddlex/utils/fonts/__init__.py +67 -0
  1001. paddlex/utils/func_register.py +41 -0
  1002. paddlex/utils/interactive_get_pipeline.py +55 -0
  1003. paddlex/utils/lazy_loader.py +68 -0
  1004. paddlex/utils/logging.py +131 -33
  1005. paddlex/utils/misc.py +201 -0
  1006. paddlex/utils/pipeline_arguments.py +711 -0
  1007. paddlex/utils/result_saver.py +59 -0
  1008. paddlex/utils/subclass_register.py +101 -0
  1009. paddlex/version.py +54 -0
  1010. paddlex-3.0.0rc0.dist-info/LICENSE +169 -0
  1011. paddlex-3.0.0rc0.dist-info/METADATA +1035 -0
  1012. paddlex-3.0.0rc0.dist-info/RECORD +1015 -0
  1013. paddlex-3.0.0rc0.dist-info/WHEEL +5 -0
  1014. paddlex-3.0.0rc0.dist-info/entry_points.txt +2 -0
  1015. paddlex-3.0.0rc0.dist-info/top_level.txt +1 -0
  1016. PaddleClas/__init__.py +0 -16
  1017. PaddleClas/deploy/__init__.py +0 -1
  1018. PaddleClas/deploy/paddleserving/__init__.py +0 -0
  1019. PaddleClas/deploy/paddleserving/classification_web_service.py +0 -74
  1020. PaddleClas/deploy/paddleserving/cpu_utilization.py +0 -4
  1021. PaddleClas/deploy/paddleserving/pipeline_http_client.py +0 -20
  1022. PaddleClas/deploy/paddleserving/pipeline_rpc_client.py +0 -33
  1023. PaddleClas/deploy/paddleserving/recognition/__init__.py +0 -0
  1024. PaddleClas/deploy/paddleserving/recognition/pipeline_http_client.py +0 -21
  1025. PaddleClas/deploy/paddleserving/recognition/pipeline_rpc_client.py +0 -34
  1026. PaddleClas/deploy/paddleserving/recognition/recognition_web_service.py +0 -209
  1027. PaddleClas/deploy/python/__init__.py +0 -0
  1028. PaddleClas/deploy/python/build_gallery.py +0 -214
  1029. PaddleClas/deploy/python/det_preprocess.py +0 -205
  1030. PaddleClas/deploy/python/postprocess.py +0 -161
  1031. PaddleClas/deploy/python/predict_cls.py +0 -142
  1032. PaddleClas/deploy/python/predict_det.py +0 -158
  1033. PaddleClas/deploy/python/predict_rec.py +0 -138
  1034. PaddleClas/deploy/python/predict_system.py +0 -144
  1035. PaddleClas/deploy/python/preprocess.py +0 -337
  1036. PaddleClas/deploy/utils/__init__.py +0 -5
  1037. PaddleClas/deploy/utils/config.py +0 -197
  1038. PaddleClas/deploy/utils/draw_bbox.py +0 -61
  1039. PaddleClas/deploy/utils/encode_decode.py +0 -31
  1040. PaddleClas/deploy/utils/get_image_list.py +0 -49
  1041. PaddleClas/deploy/utils/logger.py +0 -120
  1042. PaddleClas/deploy/utils/predictor.py +0 -71
  1043. PaddleClas/deploy/vector_search/__init__.py +0 -1
  1044. PaddleClas/deploy/vector_search/interface.py +0 -272
  1045. PaddleClas/deploy/vector_search/test.py +0 -34
  1046. PaddleClas/hubconf.py +0 -788
  1047. PaddleClas/paddleclas.py +0 -552
  1048. PaddleClas/ppcls/__init__.py +0 -20
  1049. PaddleClas/ppcls/arch/__init__.py +0 -127
  1050. PaddleClas/ppcls/arch/backbone/__init__.py +0 -80
  1051. PaddleClas/ppcls/arch/backbone/base/__init__.py +0 -0
  1052. PaddleClas/ppcls/arch/backbone/base/theseus_layer.py +0 -126
  1053. PaddleClas/ppcls/arch/backbone/legendary_models/__init__.py +0 -6
  1054. PaddleClas/ppcls/arch/backbone/legendary_models/esnet.py +0 -355
  1055. PaddleClas/ppcls/arch/backbone/legendary_models/hrnet.py +0 -744
  1056. PaddleClas/ppcls/arch/backbone/legendary_models/inception_v3.py +0 -539
  1057. PaddleClas/ppcls/arch/backbone/legendary_models/mobilenet_v1.py +0 -234
  1058. PaddleClas/ppcls/arch/backbone/legendary_models/mobilenet_v3.py +0 -561
  1059. PaddleClas/ppcls/arch/backbone/legendary_models/pp_lcnet.py +0 -399
  1060. PaddleClas/ppcls/arch/backbone/legendary_models/resnet.py +0 -534
  1061. PaddleClas/ppcls/arch/backbone/legendary_models/vgg.py +0 -231
  1062. PaddleClas/ppcls/arch/backbone/model_zoo/__init__.py +0 -0
  1063. PaddleClas/ppcls/arch/backbone/model_zoo/alexnet.py +0 -168
  1064. PaddleClas/ppcls/arch/backbone/model_zoo/cspnet.py +0 -376
  1065. PaddleClas/ppcls/arch/backbone/model_zoo/darknet.py +0 -197
  1066. PaddleClas/ppcls/arch/backbone/model_zoo/densenet.py +0 -344
  1067. PaddleClas/ppcls/arch/backbone/model_zoo/distilled_vision_transformer.py +0 -272
  1068. PaddleClas/ppcls/arch/backbone/model_zoo/dla.py +0 -528
  1069. PaddleClas/ppcls/arch/backbone/model_zoo/dpn.py +0 -451
  1070. PaddleClas/ppcls/arch/backbone/model_zoo/efficientnet.py +0 -976
  1071. PaddleClas/ppcls/arch/backbone/model_zoo/ghostnet.py +0 -363
  1072. PaddleClas/ppcls/arch/backbone/model_zoo/googlenet.py +0 -229
  1073. PaddleClas/ppcls/arch/backbone/model_zoo/gvt.py +0 -693
  1074. PaddleClas/ppcls/arch/backbone/model_zoo/hardnet.py +0 -293
  1075. PaddleClas/ppcls/arch/backbone/model_zoo/inception_v4.py +0 -477
  1076. PaddleClas/ppcls/arch/backbone/model_zoo/levit.py +0 -589
  1077. PaddleClas/ppcls/arch/backbone/model_zoo/mixnet.py +0 -815
  1078. PaddleClas/ppcls/arch/backbone/model_zoo/mobilenet_v2.py +0 -287
  1079. PaddleClas/ppcls/arch/backbone/model_zoo/rednet.py +0 -203
  1080. PaddleClas/ppcls/arch/backbone/model_zoo/regnet.py +0 -431
  1081. PaddleClas/ppcls/arch/backbone/model_zoo/repvgg.py +0 -422
  1082. PaddleClas/ppcls/arch/backbone/model_zoo/res2net.py +0 -264
  1083. PaddleClas/ppcls/arch/backbone/model_zoo/res2net_vd.py +0 -305
  1084. PaddleClas/ppcls/arch/backbone/model_zoo/resnest.py +0 -740
  1085. PaddleClas/ppcls/arch/backbone/model_zoo/resnet_vc.py +0 -309
  1086. PaddleClas/ppcls/arch/backbone/model_zoo/resnext.py +0 -298
  1087. PaddleClas/ppcls/arch/backbone/model_zoo/resnext101_wsl.py +0 -490
  1088. PaddleClas/ppcls/arch/backbone/model_zoo/resnext_vd.py +0 -317
  1089. PaddleClas/ppcls/arch/backbone/model_zoo/rexnet.py +0 -281
  1090. PaddleClas/ppcls/arch/backbone/model_zoo/se_resnet_vd.py +0 -390
  1091. PaddleClas/ppcls/arch/backbone/model_zoo/se_resnext.py +0 -364
  1092. PaddleClas/ppcls/arch/backbone/model_zoo/se_resnext_vd.py +0 -309
  1093. PaddleClas/ppcls/arch/backbone/model_zoo/shufflenet_v2.py +0 -362
  1094. PaddleClas/ppcls/arch/backbone/model_zoo/squeezenet.py +0 -194
  1095. PaddleClas/ppcls/arch/backbone/model_zoo/swin_transformer.py +0 -857
  1096. PaddleClas/ppcls/arch/backbone/model_zoo/tnt.py +0 -385
  1097. PaddleClas/ppcls/arch/backbone/model_zoo/vision_transformer.py +0 -495
  1098. PaddleClas/ppcls/arch/backbone/model_zoo/xception.py +0 -377
  1099. PaddleClas/ppcls/arch/backbone/model_zoo/xception_deeplab.py +0 -421
  1100. PaddleClas/ppcls/arch/backbone/variant_models/__init__.py +0 -3
  1101. PaddleClas/ppcls/arch/backbone/variant_models/pp_lcnet_variant.py +0 -29
  1102. PaddleClas/ppcls/arch/backbone/variant_models/resnet_variant.py +0 -23
  1103. PaddleClas/ppcls/arch/backbone/variant_models/vgg_variant.py +0 -28
  1104. PaddleClas/ppcls/arch/gears/__init__.py +0 -32
  1105. PaddleClas/ppcls/arch/gears/arcmargin.py +0 -72
  1106. PaddleClas/ppcls/arch/gears/circlemargin.py +0 -59
  1107. PaddleClas/ppcls/arch/gears/cosmargin.py +0 -55
  1108. PaddleClas/ppcls/arch/gears/fc.py +0 -35
  1109. PaddleClas/ppcls/arch/gears/identity_head.py +0 -9
  1110. PaddleClas/ppcls/arch/gears/vehicle_neck.py +0 -52
  1111. PaddleClas/ppcls/arch/utils.py +0 -53
  1112. PaddleClas/ppcls/data/__init__.py +0 -144
  1113. PaddleClas/ppcls/data/dataloader/DistributedRandomIdentitySampler.py +0 -90
  1114. PaddleClas/ppcls/data/dataloader/__init__.py +0 -9
  1115. PaddleClas/ppcls/data/dataloader/common_dataset.py +0 -84
  1116. PaddleClas/ppcls/data/dataloader/dali.py +0 -319
  1117. PaddleClas/ppcls/data/dataloader/icartoon_dataset.py +0 -36
  1118. PaddleClas/ppcls/data/dataloader/imagenet_dataset.py +0 -38
  1119. PaddleClas/ppcls/data/dataloader/logo_dataset.py +0 -46
  1120. PaddleClas/ppcls/data/dataloader/mix_dataset.py +0 -49
  1121. PaddleClas/ppcls/data/dataloader/mix_sampler.py +0 -79
  1122. PaddleClas/ppcls/data/dataloader/multilabel_dataset.py +0 -59
  1123. PaddleClas/ppcls/data/dataloader/pk_sampler.py +0 -105
  1124. PaddleClas/ppcls/data/dataloader/vehicle_dataset.py +0 -138
  1125. PaddleClas/ppcls/data/postprocess/__init__.py +0 -41
  1126. PaddleClas/ppcls/data/postprocess/topk.py +0 -85
  1127. PaddleClas/ppcls/data/preprocess/__init__.py +0 -100
  1128. PaddleClas/ppcls/data/preprocess/batch_ops/__init__.py +0 -1
  1129. PaddleClas/ppcls/data/preprocess/batch_ops/batch_operators.py +0 -231
  1130. PaddleClas/ppcls/data/preprocess/ops/__init__.py +0 -1
  1131. PaddleClas/ppcls/data/preprocess/ops/autoaugment.py +0 -264
  1132. PaddleClas/ppcls/data/preprocess/ops/cutout.py +0 -41
  1133. PaddleClas/ppcls/data/preprocess/ops/fmix.py +0 -217
  1134. PaddleClas/ppcls/data/preprocess/ops/functional.py +0 -138
  1135. PaddleClas/ppcls/data/preprocess/ops/grid.py +0 -89
  1136. PaddleClas/ppcls/data/preprocess/ops/hide_and_seek.py +0 -44
  1137. PaddleClas/ppcls/data/preprocess/ops/operators.py +0 -384
  1138. PaddleClas/ppcls/data/preprocess/ops/randaugment.py +0 -106
  1139. PaddleClas/ppcls/data/preprocess/ops/random_erasing.py +0 -90
  1140. PaddleClas/ppcls/data/preprocess/ops/timm_autoaugment.py +0 -877
  1141. PaddleClas/ppcls/data/utils/__init__.py +0 -13
  1142. PaddleClas/ppcls/data/utils/get_image_list.py +0 -49
  1143. PaddleClas/ppcls/engine/__init__.py +0 -0
  1144. PaddleClas/ppcls/engine/engine.py +0 -436
  1145. PaddleClas/ppcls/engine/evaluation/__init__.py +0 -16
  1146. PaddleClas/ppcls/engine/evaluation/classification.py +0 -143
  1147. PaddleClas/ppcls/engine/evaluation/retrieval.py +0 -169
  1148. PaddleClas/ppcls/engine/slim/__init__.py +0 -16
  1149. PaddleClas/ppcls/engine/slim/prune.py +0 -66
  1150. PaddleClas/ppcls/engine/slim/quant.py +0 -55
  1151. PaddleClas/ppcls/engine/train/__init__.py +0 -14
  1152. PaddleClas/ppcls/engine/train/train.py +0 -79
  1153. PaddleClas/ppcls/engine/train/utils.py +0 -72
  1154. PaddleClas/ppcls/loss/__init__.py +0 -65
  1155. PaddleClas/ppcls/loss/celoss.py +0 -67
  1156. PaddleClas/ppcls/loss/centerloss.py +0 -54
  1157. PaddleClas/ppcls/loss/comfunc.py +0 -45
  1158. PaddleClas/ppcls/loss/deephashloss.py +0 -92
  1159. PaddleClas/ppcls/loss/distanceloss.py +0 -43
  1160. PaddleClas/ppcls/loss/distillationloss.py +0 -141
  1161. PaddleClas/ppcls/loss/dmlloss.py +0 -46
  1162. PaddleClas/ppcls/loss/emlloss.py +0 -97
  1163. PaddleClas/ppcls/loss/googlenetloss.py +0 -41
  1164. PaddleClas/ppcls/loss/msmloss.py +0 -78
  1165. PaddleClas/ppcls/loss/multilabelloss.py +0 -43
  1166. PaddleClas/ppcls/loss/npairsloss.py +0 -38
  1167. PaddleClas/ppcls/loss/pairwisecosface.py +0 -55
  1168. PaddleClas/ppcls/loss/supconloss.py +0 -108
  1169. PaddleClas/ppcls/loss/trihardloss.py +0 -82
  1170. PaddleClas/ppcls/loss/triplet.py +0 -137
  1171. PaddleClas/ppcls/metric/__init__.py +0 -51
  1172. PaddleClas/ppcls/metric/metrics.py +0 -308
  1173. PaddleClas/ppcls/optimizer/__init__.py +0 -72
  1174. PaddleClas/ppcls/optimizer/learning_rate.py +0 -326
  1175. PaddleClas/ppcls/optimizer/optimizer.py +0 -207
  1176. PaddleClas/ppcls/utils/__init__.py +0 -27
  1177. PaddleClas/ppcls/utils/check.py +0 -151
  1178. PaddleClas/ppcls/utils/config.py +0 -210
  1179. PaddleClas/ppcls/utils/download.py +0 -319
  1180. PaddleClas/ppcls/utils/ema.py +0 -63
  1181. PaddleClas/ppcls/utils/logger.py +0 -137
  1182. PaddleClas/ppcls/utils/metrics.py +0 -107
  1183. PaddleClas/ppcls/utils/misc.py +0 -63
  1184. PaddleClas/ppcls/utils/model_zoo.py +0 -213
  1185. PaddleClas/ppcls/utils/profiler.py +0 -111
  1186. PaddleClas/ppcls/utils/save_load.py +0 -136
  1187. PaddleClas/setup.py +0 -58
  1188. PaddleClas/tools/__init__.py +0 -15
  1189. PaddleClas/tools/eval.py +0 -31
  1190. PaddleClas/tools/export_model.py +0 -34
  1191. PaddleClas/tools/infer.py +0 -31
  1192. PaddleClas/tools/train.py +0 -32
  1193. paddlex/cls.py +0 -82
  1194. paddlex/command.py +0 -215
  1195. paddlex/cv/__init__.py +0 -17
  1196. paddlex/cv/datasets/__init__.py +0 -18
  1197. paddlex/cv/datasets/coco.py +0 -208
  1198. paddlex/cv/datasets/imagenet.py +0 -88
  1199. paddlex/cv/datasets/seg_dataset.py +0 -91
  1200. paddlex/cv/datasets/voc.py +0 -445
  1201. paddlex/cv/models/__init__.py +0 -18
  1202. paddlex/cv/models/base.py +0 -631
  1203. paddlex/cv/models/classifier.py +0 -989
  1204. paddlex/cv/models/detector.py +0 -2292
  1205. paddlex/cv/models/load_model.py +0 -148
  1206. paddlex/cv/models/segmenter.py +0 -768
  1207. paddlex/cv/models/slim/__init__.py +0 -13
  1208. paddlex/cv/models/slim/prune.py +0 -55
  1209. paddlex/cv/models/utils/__init__.py +0 -13
  1210. paddlex/cv/models/utils/det_metrics/__init__.py +0 -15
  1211. paddlex/cv/models/utils/det_metrics/coco_utils.py +0 -476
  1212. paddlex/cv/models/utils/det_metrics/metrics.py +0 -220
  1213. paddlex/cv/models/utils/infer_nets.py +0 -45
  1214. paddlex/cv/models/utils/seg_metrics.py +0 -62
  1215. paddlex/cv/models/utils/visualize.py +0 -399
  1216. paddlex/cv/transforms/__init__.py +0 -46
  1217. paddlex/cv/transforms/batch_operators.py +0 -286
  1218. paddlex/cv/transforms/box_utils.py +0 -41
  1219. paddlex/cv/transforms/functions.py +0 -193
  1220. paddlex/cv/transforms/operators.py +0 -1402
  1221. paddlex/deploy.py +0 -268
  1222. paddlex/det.py +0 -49
  1223. paddlex/paddleseg/__init__.py +0 -17
  1224. paddlex/paddleseg/core/__init__.py +0 -20
  1225. paddlex/paddleseg/core/infer.py +0 -289
  1226. paddlex/paddleseg/core/predict.py +0 -145
  1227. paddlex/paddleseg/core/train.py +0 -258
  1228. paddlex/paddleseg/core/val.py +0 -172
  1229. paddlex/paddleseg/cvlibs/__init__.py +0 -17
  1230. paddlex/paddleseg/cvlibs/callbacks.py +0 -279
  1231. paddlex/paddleseg/cvlibs/config.py +0 -359
  1232. paddlex/paddleseg/cvlibs/manager.py +0 -142
  1233. paddlex/paddleseg/cvlibs/param_init.py +0 -91
  1234. paddlex/paddleseg/datasets/__init__.py +0 -21
  1235. paddlex/paddleseg/datasets/ade.py +0 -112
  1236. paddlex/paddleseg/datasets/cityscapes.py +0 -86
  1237. paddlex/paddleseg/datasets/cocostuff.py +0 -79
  1238. paddlex/paddleseg/datasets/dataset.py +0 -164
  1239. paddlex/paddleseg/datasets/mini_deep_globe_road_extraction.py +0 -95
  1240. paddlex/paddleseg/datasets/optic_disc_seg.py +0 -97
  1241. paddlex/paddleseg/datasets/pascal_context.py +0 -80
  1242. paddlex/paddleseg/datasets/voc.py +0 -113
  1243. paddlex/paddleseg/models/__init__.py +0 -39
  1244. paddlex/paddleseg/models/ann.py +0 -436
  1245. paddlex/paddleseg/models/attention_unet.py +0 -189
  1246. paddlex/paddleseg/models/backbones/__init__.py +0 -18
  1247. paddlex/paddleseg/models/backbones/hrnet.py +0 -815
  1248. paddlex/paddleseg/models/backbones/mobilenetv3.py +0 -365
  1249. paddlex/paddleseg/models/backbones/resnet_vd.py +0 -364
  1250. paddlex/paddleseg/models/backbones/xception_deeplab.py +0 -415
  1251. paddlex/paddleseg/models/bisenet.py +0 -311
  1252. paddlex/paddleseg/models/danet.py +0 -220
  1253. paddlex/paddleseg/models/decoupled_segnet.py +0 -233
  1254. paddlex/paddleseg/models/deeplab.py +0 -258
  1255. paddlex/paddleseg/models/dnlnet.py +0 -231
  1256. paddlex/paddleseg/models/emanet.py +0 -219
  1257. paddlex/paddleseg/models/fast_scnn.py +0 -318
  1258. paddlex/paddleseg/models/fcn.py +0 -135
  1259. paddlex/paddleseg/models/gcnet.py +0 -223
  1260. paddlex/paddleseg/models/gscnn.py +0 -357
  1261. paddlex/paddleseg/models/hardnet.py +0 -309
  1262. paddlex/paddleseg/models/isanet.py +0 -202
  1263. paddlex/paddleseg/models/layers/__init__.py +0 -19
  1264. paddlex/paddleseg/models/layers/activation.py +0 -73
  1265. paddlex/paddleseg/models/layers/attention.py +0 -146
  1266. paddlex/paddleseg/models/layers/layer_libs.py +0 -168
  1267. paddlex/paddleseg/models/layers/nonlocal2d.py +0 -155
  1268. paddlex/paddleseg/models/layers/pyramid_pool.py +0 -182
  1269. paddlex/paddleseg/models/losses/__init__.py +0 -27
  1270. paddlex/paddleseg/models/losses/binary_cross_entropy_loss.py +0 -174
  1271. paddlex/paddleseg/models/losses/bootstrapped_cross_entropy.py +0 -73
  1272. paddlex/paddleseg/models/losses/cross_entropy_loss.py +0 -94
  1273. paddlex/paddleseg/models/losses/decoupledsegnet_relax_boundary_loss.py +0 -129
  1274. paddlex/paddleseg/models/losses/dice_loss.py +0 -61
  1275. paddlex/paddleseg/models/losses/edge_attention_loss.py +0 -78
  1276. paddlex/paddleseg/models/losses/gscnn_dual_task_loss.py +0 -141
  1277. paddlex/paddleseg/models/losses/l1_loss.py +0 -76
  1278. paddlex/paddleseg/models/losses/lovasz_loss.py +0 -222
  1279. paddlex/paddleseg/models/losses/mean_square_error_loss.py +0 -65
  1280. paddlex/paddleseg/models/losses/mixed_loss.py +0 -58
  1281. paddlex/paddleseg/models/losses/ohem_cross_entropy_loss.py +0 -99
  1282. paddlex/paddleseg/models/losses/ohem_edge_attention_loss.py +0 -114
  1283. paddlex/paddleseg/models/ocrnet.py +0 -248
  1284. paddlex/paddleseg/models/pspnet.py +0 -147
  1285. paddlex/paddleseg/models/sfnet.py +0 -236
  1286. paddlex/paddleseg/models/shufflenet_slim.py +0 -268
  1287. paddlex/paddleseg/models/u2net.py +0 -574
  1288. paddlex/paddleseg/models/unet.py +0 -155
  1289. paddlex/paddleseg/models/unet_3plus.py +0 -316
  1290. paddlex/paddleseg/models/unet_plusplus.py +0 -237
  1291. paddlex/paddleseg/transforms/__init__.py +0 -16
  1292. paddlex/paddleseg/transforms/functional.py +0 -161
  1293. paddlex/paddleseg/transforms/transforms.py +0 -937
  1294. paddlex/paddleseg/utils/__init__.py +0 -22
  1295. paddlex/paddleseg/utils/config_check.py +0 -60
  1296. paddlex/paddleseg/utils/download.py +0 -163
  1297. paddlex/paddleseg/utils/env/__init__.py +0 -16
  1298. paddlex/paddleseg/utils/env/seg_env.py +0 -56
  1299. paddlex/paddleseg/utils/env/sys_env.py +0 -122
  1300. paddlex/paddleseg/utils/logger.py +0 -48
  1301. paddlex/paddleseg/utils/metrics.py +0 -146
  1302. paddlex/paddleseg/utils/progbar.py +0 -212
  1303. paddlex/paddleseg/utils/timer.py +0 -53
  1304. paddlex/paddleseg/utils/utils.py +0 -120
  1305. paddlex/paddleseg/utils/visualize.py +0 -90
  1306. paddlex/ppcls/__init__.py +0 -20
  1307. paddlex/ppcls/arch/__init__.py +0 -127
  1308. paddlex/ppcls/arch/backbone/__init__.py +0 -80
  1309. paddlex/ppcls/arch/backbone/base/__init__.py +0 -0
  1310. paddlex/ppcls/arch/backbone/base/theseus_layer.py +0 -130
  1311. paddlex/ppcls/arch/backbone/legendary_models/__init__.py +0 -6
  1312. paddlex/ppcls/arch/backbone/legendary_models/esnet.py +0 -355
  1313. paddlex/ppcls/arch/backbone/legendary_models/hrnet.py +0 -748
  1314. paddlex/ppcls/arch/backbone/legendary_models/inception_v3.py +0 -539
  1315. paddlex/ppcls/arch/backbone/legendary_models/mobilenet_v1.py +0 -234
  1316. paddlex/ppcls/arch/backbone/legendary_models/mobilenet_v3.py +0 -561
  1317. paddlex/ppcls/arch/backbone/legendary_models/pp_lcnet.py +0 -399
  1318. paddlex/ppcls/arch/backbone/legendary_models/resnet.py +0 -534
  1319. paddlex/ppcls/arch/backbone/legendary_models/vgg.py +0 -235
  1320. paddlex/ppcls/arch/backbone/model_zoo/__init__.py +0 -0
  1321. paddlex/ppcls/arch/backbone/model_zoo/alexnet.py +0 -168
  1322. paddlex/ppcls/arch/backbone/model_zoo/cspnet.py +0 -376
  1323. paddlex/ppcls/arch/backbone/model_zoo/darknet.py +0 -197
  1324. paddlex/ppcls/arch/backbone/model_zoo/densenet.py +0 -344
  1325. paddlex/ppcls/arch/backbone/model_zoo/distilled_vision_transformer.py +0 -272
  1326. paddlex/ppcls/arch/backbone/model_zoo/dla.py +0 -528
  1327. paddlex/ppcls/arch/backbone/model_zoo/dpn.py +0 -451
  1328. paddlex/ppcls/arch/backbone/model_zoo/efficientnet.py +0 -976
  1329. paddlex/ppcls/arch/backbone/model_zoo/ghostnet.py +0 -363
  1330. paddlex/ppcls/arch/backbone/model_zoo/googlenet.py +0 -229
  1331. paddlex/ppcls/arch/backbone/model_zoo/gvt.py +0 -693
  1332. paddlex/ppcls/arch/backbone/model_zoo/hardnet.py +0 -293
  1333. paddlex/ppcls/arch/backbone/model_zoo/inception_v4.py +0 -477
  1334. paddlex/ppcls/arch/backbone/model_zoo/levit.py +0 -589
  1335. paddlex/ppcls/arch/backbone/model_zoo/mixnet.py +0 -815
  1336. paddlex/ppcls/arch/backbone/model_zoo/mobilenet_v2.py +0 -287
  1337. paddlex/ppcls/arch/backbone/model_zoo/rednet.py +0 -203
  1338. paddlex/ppcls/arch/backbone/model_zoo/regnet.py +0 -431
  1339. paddlex/ppcls/arch/backbone/model_zoo/repvgg.py +0 -422
  1340. paddlex/ppcls/arch/backbone/model_zoo/res2net.py +0 -264
  1341. paddlex/ppcls/arch/backbone/model_zoo/res2net_vd.py +0 -305
  1342. paddlex/ppcls/arch/backbone/model_zoo/resnest.py +0 -740
  1343. paddlex/ppcls/arch/backbone/model_zoo/resnet_vc.py +0 -309
  1344. paddlex/ppcls/arch/backbone/model_zoo/resnext.py +0 -298
  1345. paddlex/ppcls/arch/backbone/model_zoo/resnext101_wsl.py +0 -490
  1346. paddlex/ppcls/arch/backbone/model_zoo/resnext_vd.py +0 -317
  1347. paddlex/ppcls/arch/backbone/model_zoo/rexnet.py +0 -281
  1348. paddlex/ppcls/arch/backbone/model_zoo/se_resnet_vd.py +0 -390
  1349. paddlex/ppcls/arch/backbone/model_zoo/se_resnext.py +0 -364
  1350. paddlex/ppcls/arch/backbone/model_zoo/se_resnext_vd.py +0 -309
  1351. paddlex/ppcls/arch/backbone/model_zoo/shufflenet_v2.py +0 -362
  1352. paddlex/ppcls/arch/backbone/model_zoo/squeezenet.py +0 -194
  1353. paddlex/ppcls/arch/backbone/model_zoo/swin_transformer.py +0 -857
  1354. paddlex/ppcls/arch/backbone/model_zoo/tnt.py +0 -385
  1355. paddlex/ppcls/arch/backbone/model_zoo/vision_transformer.py +0 -495
  1356. paddlex/ppcls/arch/backbone/model_zoo/xception.py +0 -377
  1357. paddlex/ppcls/arch/backbone/model_zoo/xception_deeplab.py +0 -421
  1358. paddlex/ppcls/arch/backbone/variant_models/__init__.py +0 -3
  1359. paddlex/ppcls/arch/backbone/variant_models/pp_lcnet_variant.py +0 -29
  1360. paddlex/ppcls/arch/backbone/variant_models/resnet_variant.py +0 -23
  1361. paddlex/ppcls/arch/backbone/variant_models/vgg_variant.py +0 -28
  1362. paddlex/ppcls/arch/gears/__init__.py +0 -32
  1363. paddlex/ppcls/arch/gears/arcmargin.py +0 -72
  1364. paddlex/ppcls/arch/gears/circlemargin.py +0 -59
  1365. paddlex/ppcls/arch/gears/cosmargin.py +0 -55
  1366. paddlex/ppcls/arch/gears/fc.py +0 -35
  1367. paddlex/ppcls/arch/gears/identity_head.py +0 -9
  1368. paddlex/ppcls/arch/gears/vehicle_neck.py +0 -52
  1369. paddlex/ppcls/arch/utils.py +0 -53
  1370. paddlex/ppcls/data/__init__.py +0 -144
  1371. paddlex/ppcls/data/dataloader/DistributedRandomIdentitySampler.py +0 -90
  1372. paddlex/ppcls/data/dataloader/__init__.py +0 -9
  1373. paddlex/ppcls/data/dataloader/common_dataset.py +0 -84
  1374. paddlex/ppcls/data/dataloader/dali.py +0 -319
  1375. paddlex/ppcls/data/dataloader/icartoon_dataset.py +0 -36
  1376. paddlex/ppcls/data/dataloader/imagenet_dataset.py +0 -38
  1377. paddlex/ppcls/data/dataloader/logo_dataset.py +0 -46
  1378. paddlex/ppcls/data/dataloader/mix_dataset.py +0 -49
  1379. paddlex/ppcls/data/dataloader/mix_sampler.py +0 -79
  1380. paddlex/ppcls/data/dataloader/multilabel_dataset.py +0 -59
  1381. paddlex/ppcls/data/dataloader/pk_sampler.py +0 -105
  1382. paddlex/ppcls/data/dataloader/vehicle_dataset.py +0 -138
  1383. paddlex/ppcls/data/postprocess/__init__.py +0 -41
  1384. paddlex/ppcls/data/postprocess/topk.py +0 -85
  1385. paddlex/ppcls/data/preprocess/__init__.py +0 -100
  1386. paddlex/ppcls/data/preprocess/batch_ops/__init__.py +0 -0
  1387. paddlex/ppcls/data/preprocess/batch_ops/batch_operators.py +0 -231
  1388. paddlex/ppcls/data/preprocess/ops/__init__.py +0 -0
  1389. paddlex/ppcls/data/preprocess/ops/autoaugment.py +0 -264
  1390. paddlex/ppcls/data/preprocess/ops/cutout.py +0 -41
  1391. paddlex/ppcls/data/preprocess/ops/fmix.py +0 -217
  1392. paddlex/ppcls/data/preprocess/ops/functional.py +0 -141
  1393. paddlex/ppcls/data/preprocess/ops/grid.py +0 -89
  1394. paddlex/ppcls/data/preprocess/ops/hide_and_seek.py +0 -44
  1395. paddlex/ppcls/data/preprocess/ops/operators.py +0 -384
  1396. paddlex/ppcls/data/preprocess/ops/randaugment.py +0 -106
  1397. paddlex/ppcls/data/preprocess/ops/random_erasing.py +0 -90
  1398. paddlex/ppcls/data/preprocess/ops/timm_autoaugment.py +0 -877
  1399. paddlex/ppcls/data/utils/__init__.py +0 -13
  1400. paddlex/ppcls/data/utils/get_image_list.py +0 -49
  1401. paddlex/ppcls/engine/__init__.py +0 -0
  1402. paddlex/ppcls/engine/engine.py +0 -436
  1403. paddlex/ppcls/engine/evaluation/__init__.py +0 -16
  1404. paddlex/ppcls/engine/evaluation/classification.py +0 -143
  1405. paddlex/ppcls/engine/evaluation/retrieval.py +0 -169
  1406. paddlex/ppcls/engine/slim/__init__.py +0 -16
  1407. paddlex/ppcls/engine/slim/prune.py +0 -66
  1408. paddlex/ppcls/engine/slim/quant.py +0 -55
  1409. paddlex/ppcls/engine/train/__init__.py +0 -14
  1410. paddlex/ppcls/engine/train/train.py +0 -79
  1411. paddlex/ppcls/engine/train/utils.py +0 -72
  1412. paddlex/ppcls/loss/__init__.py +0 -65
  1413. paddlex/ppcls/loss/celoss.py +0 -67
  1414. paddlex/ppcls/loss/centerloss.py +0 -54
  1415. paddlex/ppcls/loss/comfunc.py +0 -45
  1416. paddlex/ppcls/loss/deephashloss.py +0 -96
  1417. paddlex/ppcls/loss/distanceloss.py +0 -43
  1418. paddlex/ppcls/loss/distillationloss.py +0 -141
  1419. paddlex/ppcls/loss/dmlloss.py +0 -46
  1420. paddlex/ppcls/loss/emlloss.py +0 -97
  1421. paddlex/ppcls/loss/googlenetloss.py +0 -42
  1422. paddlex/ppcls/loss/msmloss.py +0 -78
  1423. paddlex/ppcls/loss/multilabelloss.py +0 -43
  1424. paddlex/ppcls/loss/npairsloss.py +0 -38
  1425. paddlex/ppcls/loss/pairwisecosface.py +0 -59
  1426. paddlex/ppcls/loss/supconloss.py +0 -108
  1427. paddlex/ppcls/loss/trihardloss.py +0 -82
  1428. paddlex/ppcls/loss/triplet.py +0 -137
  1429. paddlex/ppcls/metric/__init__.py +0 -51
  1430. paddlex/ppcls/metric/metrics.py +0 -308
  1431. paddlex/ppcls/optimizer/__init__.py +0 -72
  1432. paddlex/ppcls/optimizer/learning_rate.py +0 -326
  1433. paddlex/ppcls/optimizer/optimizer.py +0 -208
  1434. paddlex/ppcls/utils/__init__.py +0 -27
  1435. paddlex/ppcls/utils/check.py +0 -151
  1436. paddlex/ppcls/utils/config.py +0 -210
  1437. paddlex/ppcls/utils/download.py +0 -319
  1438. paddlex/ppcls/utils/ema.py +0 -63
  1439. paddlex/ppcls/utils/logger.py +0 -137
  1440. paddlex/ppcls/utils/metrics.py +0 -112
  1441. paddlex/ppcls/utils/misc.py +0 -63
  1442. paddlex/ppcls/utils/model_zoo.py +0 -213
  1443. paddlex/ppcls/utils/profiler.py +0 -111
  1444. paddlex/ppcls/utils/save_load.py +0 -136
  1445. paddlex/ppdet/__init__.py +0 -16
  1446. paddlex/ppdet/core/__init__.py +0 -15
  1447. paddlex/ppdet/core/config/__init__.py +0 -13
  1448. paddlex/ppdet/core/config/schema.py +0 -248
  1449. paddlex/ppdet/core/config/yaml_helpers.py +0 -118
  1450. paddlex/ppdet/core/workspace.py +0 -278
  1451. paddlex/ppdet/data/__init__.py +0 -21
  1452. paddlex/ppdet/data/crop_utils/__init__.py +0 -13
  1453. paddlex/ppdet/data/crop_utils/annotation_cropper.py +0 -585
  1454. paddlex/ppdet/data/crop_utils/chip_box_utils.py +0 -170
  1455. paddlex/ppdet/data/reader.py +0 -302
  1456. paddlex/ppdet/data/shm_utils.py +0 -67
  1457. paddlex/ppdet/data/source/__init__.py +0 -29
  1458. paddlex/ppdet/data/source/category.py +0 -904
  1459. paddlex/ppdet/data/source/coco.py +0 -251
  1460. paddlex/ppdet/data/source/dataset.py +0 -197
  1461. paddlex/ppdet/data/source/keypoint_coco.py +0 -669
  1462. paddlex/ppdet/data/source/mot.py +0 -636
  1463. paddlex/ppdet/data/source/sniper_coco.py +0 -191
  1464. paddlex/ppdet/data/source/voc.py +0 -231
  1465. paddlex/ppdet/data/source/widerface.py +0 -180
  1466. paddlex/ppdet/data/transform/__init__.py +0 -28
  1467. paddlex/ppdet/data/transform/atss_assigner.py +0 -270
  1468. paddlex/ppdet/data/transform/autoaugment_utils.py +0 -1591
  1469. paddlex/ppdet/data/transform/batch_operators.py +0 -1080
  1470. paddlex/ppdet/data/transform/gridmask_utils.py +0 -86
  1471. paddlex/ppdet/data/transform/keypoint_operators.py +0 -868
  1472. paddlex/ppdet/data/transform/mot_operators.py +0 -628
  1473. paddlex/ppdet/data/transform/op_helper.py +0 -498
  1474. paddlex/ppdet/data/transform/operators.py +0 -3025
  1475. paddlex/ppdet/engine/__init__.py +0 -30
  1476. paddlex/ppdet/engine/callbacks.py +0 -340
  1477. paddlex/ppdet/engine/env.py +0 -50
  1478. paddlex/ppdet/engine/export_utils.py +0 -177
  1479. paddlex/ppdet/engine/tracker.py +0 -538
  1480. paddlex/ppdet/engine/trainer.py +0 -723
  1481. paddlex/ppdet/metrics/__init__.py +0 -29
  1482. paddlex/ppdet/metrics/coco_utils.py +0 -184
  1483. paddlex/ppdet/metrics/json_results.py +0 -149
  1484. paddlex/ppdet/metrics/keypoint_metrics.py +0 -401
  1485. paddlex/ppdet/metrics/map_utils.py +0 -444
  1486. paddlex/ppdet/metrics/mcmot_metrics.py +0 -470
  1487. paddlex/ppdet/metrics/metrics.py +0 -434
  1488. paddlex/ppdet/metrics/mot_metrics.py +0 -1236
  1489. paddlex/ppdet/metrics/munkres.py +0 -428
  1490. paddlex/ppdet/metrics/widerface_utils.py +0 -393
  1491. paddlex/ppdet/model_zoo/__init__.py +0 -18
  1492. paddlex/ppdet/model_zoo/model_zoo.py +0 -84
  1493. paddlex/ppdet/modeling/__init__.py +0 -45
  1494. paddlex/ppdet/modeling/architectures/__init__.py +0 -51
  1495. paddlex/ppdet/modeling/architectures/blazeface.py +0 -91
  1496. paddlex/ppdet/modeling/architectures/cascade_rcnn.py +0 -144
  1497. paddlex/ppdet/modeling/architectures/centernet.py +0 -108
  1498. paddlex/ppdet/modeling/architectures/deepsort.py +0 -69
  1499. paddlex/ppdet/modeling/architectures/detr.py +0 -93
  1500. paddlex/ppdet/modeling/architectures/fairmot.py +0 -100
  1501. paddlex/ppdet/modeling/architectures/faster_rcnn.py +0 -106
  1502. paddlex/ppdet/modeling/architectures/fcos.py +0 -105
  1503. paddlex/ppdet/modeling/architectures/gfl.py +0 -87
  1504. paddlex/ppdet/modeling/architectures/jde.py +0 -111
  1505. paddlex/ppdet/modeling/architectures/keypoint_hrhrnet.py +0 -287
  1506. paddlex/ppdet/modeling/architectures/keypoint_hrnet.py +0 -267
  1507. paddlex/ppdet/modeling/architectures/mask_rcnn.py +0 -135
  1508. paddlex/ppdet/modeling/architectures/meta_arch.py +0 -128
  1509. paddlex/ppdet/modeling/architectures/picodet.py +0 -91
  1510. paddlex/ppdet/modeling/architectures/s2anet.py +0 -102
  1511. paddlex/ppdet/modeling/architectures/solov2.py +0 -110
  1512. paddlex/ppdet/modeling/architectures/sparse_rcnn.py +0 -99
  1513. paddlex/ppdet/modeling/architectures/ssd.py +0 -93
  1514. paddlex/ppdet/modeling/architectures/tood.py +0 -78
  1515. paddlex/ppdet/modeling/architectures/ttfnet.py +0 -98
  1516. paddlex/ppdet/modeling/architectures/yolo.py +0 -124
  1517. paddlex/ppdet/modeling/assigners/__init__.py +0 -23
  1518. paddlex/ppdet/modeling/assigners/atss_assigner.py +0 -211
  1519. paddlex/ppdet/modeling/assigners/simota_assigner.py +0 -262
  1520. paddlex/ppdet/modeling/assigners/task_aligned_assigner.py +0 -158
  1521. paddlex/ppdet/modeling/assigners/utils.py +0 -195
  1522. paddlex/ppdet/modeling/backbones/__init__.py +0 -49
  1523. paddlex/ppdet/modeling/backbones/blazenet.py +0 -323
  1524. paddlex/ppdet/modeling/backbones/darknet.py +0 -340
  1525. paddlex/ppdet/modeling/backbones/dla.py +0 -244
  1526. paddlex/ppdet/modeling/backbones/esnet.py +0 -290
  1527. paddlex/ppdet/modeling/backbones/ghostnet.py +0 -470
  1528. paddlex/ppdet/modeling/backbones/hardnet.py +0 -224
  1529. paddlex/ppdet/modeling/backbones/hrnet.py +0 -727
  1530. paddlex/ppdet/modeling/backbones/lcnet.py +0 -259
  1531. paddlex/ppdet/modeling/backbones/lite_hrnet.py +0 -886
  1532. paddlex/ppdet/modeling/backbones/mobilenet_v1.py +0 -418
  1533. paddlex/ppdet/modeling/backbones/mobilenet_v3.py +0 -483
  1534. paddlex/ppdet/modeling/backbones/name_adapter.py +0 -69
  1535. paddlex/ppdet/modeling/backbones/res2net.py +0 -358
  1536. paddlex/ppdet/modeling/backbones/resnet.py +0 -613
  1537. paddlex/ppdet/modeling/backbones/senet.py +0 -139
  1538. paddlex/ppdet/modeling/backbones/shufflenet_v2.py +0 -246
  1539. paddlex/ppdet/modeling/backbones/swin_transformer.py +0 -743
  1540. paddlex/ppdet/modeling/backbones/vgg.py +0 -210
  1541. paddlex/ppdet/modeling/bbox_utils.py +0 -778
  1542. paddlex/ppdet/modeling/heads/__init__.py +0 -53
  1543. paddlex/ppdet/modeling/heads/bbox_head.py +0 -377
  1544. paddlex/ppdet/modeling/heads/cascade_head.py +0 -284
  1545. paddlex/ppdet/modeling/heads/centernet_head.py +0 -292
  1546. paddlex/ppdet/modeling/heads/detr_head.py +0 -368
  1547. paddlex/ppdet/modeling/heads/face_head.py +0 -110
  1548. paddlex/ppdet/modeling/heads/fcos_head.py +0 -259
  1549. paddlex/ppdet/modeling/heads/gfl_head.py +0 -487
  1550. paddlex/ppdet/modeling/heads/keypoint_hrhrnet_head.py +0 -108
  1551. paddlex/ppdet/modeling/heads/mask_head.py +0 -250
  1552. paddlex/ppdet/modeling/heads/pico_head.py +0 -278
  1553. paddlex/ppdet/modeling/heads/roi_extractor.py +0 -111
  1554. paddlex/ppdet/modeling/heads/s2anet_head.py +0 -1056
  1555. paddlex/ppdet/modeling/heads/simota_head.py +0 -506
  1556. paddlex/ppdet/modeling/heads/solov2_head.py +0 -560
  1557. paddlex/ppdet/modeling/heads/sparsercnn_head.py +0 -375
  1558. paddlex/ppdet/modeling/heads/ssd_head.py +0 -215
  1559. paddlex/ppdet/modeling/heads/tood_head.py +0 -366
  1560. paddlex/ppdet/modeling/heads/ttf_head.py +0 -316
  1561. paddlex/ppdet/modeling/heads/yolo_head.py +0 -124
  1562. paddlex/ppdet/modeling/initializer.py +0 -317
  1563. paddlex/ppdet/modeling/keypoint_utils.py +0 -342
  1564. paddlex/ppdet/modeling/layers.py +0 -1430
  1565. paddlex/ppdet/modeling/losses/__init__.py +0 -43
  1566. paddlex/ppdet/modeling/losses/ctfocal_loss.py +0 -68
  1567. paddlex/ppdet/modeling/losses/detr_loss.py +0 -233
  1568. paddlex/ppdet/modeling/losses/fairmot_loss.py +0 -41
  1569. paddlex/ppdet/modeling/losses/fcos_loss.py +0 -225
  1570. paddlex/ppdet/modeling/losses/gfocal_loss.py +0 -217
  1571. paddlex/ppdet/modeling/losses/iou_aware_loss.py +0 -47
  1572. paddlex/ppdet/modeling/losses/iou_loss.py +0 -210
  1573. paddlex/ppdet/modeling/losses/jde_loss.py +0 -193
  1574. paddlex/ppdet/modeling/losses/keypoint_loss.py +0 -229
  1575. paddlex/ppdet/modeling/losses/solov2_loss.py +0 -101
  1576. paddlex/ppdet/modeling/losses/sparsercnn_loss.py +0 -425
  1577. paddlex/ppdet/modeling/losses/ssd_loss.py +0 -170
  1578. paddlex/ppdet/modeling/losses/varifocal_loss.py +0 -152
  1579. paddlex/ppdet/modeling/losses/yolo_loss.py +0 -212
  1580. paddlex/ppdet/modeling/mot/__init__.py +0 -25
  1581. paddlex/ppdet/modeling/mot/matching/__init__.py +0 -19
  1582. paddlex/ppdet/modeling/mot/matching/deepsort_matching.py +0 -382
  1583. paddlex/ppdet/modeling/mot/matching/jde_matching.py +0 -144
  1584. paddlex/ppdet/modeling/mot/motion/__init__.py +0 -17
  1585. paddlex/ppdet/modeling/mot/motion/kalman_filter.py +0 -270
  1586. paddlex/ppdet/modeling/mot/tracker/__init__.py +0 -23
  1587. paddlex/ppdet/modeling/mot/tracker/base_jde_tracker.py +0 -297
  1588. paddlex/ppdet/modeling/mot/tracker/base_sde_tracker.py +0 -156
  1589. paddlex/ppdet/modeling/mot/tracker/deepsort_tracker.py +0 -188
  1590. paddlex/ppdet/modeling/mot/tracker/jde_tracker.py +0 -277
  1591. paddlex/ppdet/modeling/mot/utils.py +0 -263
  1592. paddlex/ppdet/modeling/mot/visualization.py +0 -150
  1593. paddlex/ppdet/modeling/necks/__init__.py +0 -30
  1594. paddlex/ppdet/modeling/necks/bifpn.py +0 -302
  1595. paddlex/ppdet/modeling/necks/blazeface_fpn.py +0 -216
  1596. paddlex/ppdet/modeling/necks/centernet_fpn.py +0 -426
  1597. paddlex/ppdet/modeling/necks/csp_pan.py +0 -364
  1598. paddlex/ppdet/modeling/necks/fpn.py +0 -231
  1599. paddlex/ppdet/modeling/necks/hrfpn.py +0 -126
  1600. paddlex/ppdet/modeling/necks/ttf_fpn.py +0 -242
  1601. paddlex/ppdet/modeling/necks/yolo_fpn.py +0 -988
  1602. paddlex/ppdet/modeling/ops.py +0 -1611
  1603. paddlex/ppdet/modeling/post_process.py +0 -731
  1604. paddlex/ppdet/modeling/proposal_generator/__init__.py +0 -2
  1605. paddlex/ppdet/modeling/proposal_generator/anchor_generator.py +0 -135
  1606. paddlex/ppdet/modeling/proposal_generator/proposal_generator.py +0 -77
  1607. paddlex/ppdet/modeling/proposal_generator/rpn_head.py +0 -260
  1608. paddlex/ppdet/modeling/proposal_generator/target.py +0 -681
  1609. paddlex/ppdet/modeling/proposal_generator/target_layer.py +0 -491
  1610. paddlex/ppdet/modeling/reid/__init__.py +0 -25
  1611. paddlex/ppdet/modeling/reid/fairmot_embedding_head.py +0 -225
  1612. paddlex/ppdet/modeling/reid/jde_embedding_head.py +0 -214
  1613. paddlex/ppdet/modeling/reid/pplcnet_embedding.py +0 -282
  1614. paddlex/ppdet/modeling/reid/pyramidal_embedding.py +0 -144
  1615. paddlex/ppdet/modeling/reid/resnet.py +0 -310
  1616. paddlex/ppdet/modeling/shape_spec.py +0 -25
  1617. paddlex/ppdet/modeling/transformers/__init__.py +0 -25
  1618. paddlex/ppdet/modeling/transformers/deformable_transformer.py +0 -517
  1619. paddlex/ppdet/modeling/transformers/detr_transformer.py +0 -353
  1620. paddlex/ppdet/modeling/transformers/matchers.py +0 -127
  1621. paddlex/ppdet/modeling/transformers/position_encoding.py +0 -108
  1622. paddlex/ppdet/modeling/transformers/utils.py +0 -110
  1623. paddlex/ppdet/optimizer.py +0 -335
  1624. paddlex/ppdet/slim/__init__.py +0 -82
  1625. paddlex/ppdet/slim/distill.py +0 -110
  1626. paddlex/ppdet/slim/prune.py +0 -85
  1627. paddlex/ppdet/slim/quant.py +0 -84
  1628. paddlex/ppdet/slim/unstructured_prune.py +0 -66
  1629. paddlex/ppdet/utils/__init__.py +0 -13
  1630. paddlex/ppdet/utils/check.py +0 -112
  1631. paddlex/ppdet/utils/checkpoint.py +0 -226
  1632. paddlex/ppdet/utils/cli.py +0 -151
  1633. paddlex/ppdet/utils/colormap.py +0 -58
  1634. paddlex/ppdet/utils/download.py +0 -558
  1635. paddlex/ppdet/utils/logger.py +0 -70
  1636. paddlex/ppdet/utils/profiler.py +0 -111
  1637. paddlex/ppdet/utils/stats.py +0 -94
  1638. paddlex/ppdet/utils/visualizer.py +0 -321
  1639. paddlex/ppdet/utils/voc_utils.py +0 -86
  1640. paddlex/seg.py +0 -41
  1641. paddlex/tools/__init__.py +0 -17
  1642. paddlex/tools/anchor_clustering/__init__.py +0 -15
  1643. paddlex/tools/anchor_clustering/yolo_cluster.py +0 -178
  1644. paddlex/tools/convert.py +0 -52
  1645. paddlex/tools/dataset_conversion/__init__.py +0 -24
  1646. paddlex/tools/dataset_conversion/x2coco.py +0 -379
  1647. paddlex/tools/dataset_conversion/x2imagenet.py +0 -82
  1648. paddlex/tools/dataset_conversion/x2seg.py +0 -343
  1649. paddlex/tools/dataset_conversion/x2voc.py +0 -230
  1650. paddlex/tools/dataset_split/__init__.py +0 -23
  1651. paddlex/tools/dataset_split/coco_split.py +0 -69
  1652. paddlex/tools/dataset_split/imagenet_split.py +0 -75
  1653. paddlex/tools/dataset_split/seg_split.py +0 -96
  1654. paddlex/tools/dataset_split/utils.py +0 -75
  1655. paddlex/tools/dataset_split/voc_split.py +0 -91
  1656. paddlex/tools/split.py +0 -41
  1657. paddlex/utils/checkpoint.py +0 -492
  1658. paddlex/utils/shm.py +0 -67
  1659. paddlex/utils/stats.py +0 -68
  1660. paddlex/utils/utils.py +0 -229
  1661. paddlex-2.1.0.data/data/paddlex_restful/restful/templates/paddlex_restful_demo.html +0 -5205
  1662. paddlex-2.1.0.dist-info/LICENSE +0 -201
  1663. paddlex-2.1.0.dist-info/METADATA +0 -32
  1664. paddlex-2.1.0.dist-info/RECORD +0 -698
  1665. paddlex-2.1.0.dist-info/WHEEL +0 -5
  1666. paddlex-2.1.0.dist-info/entry_points.txt +0 -4
  1667. paddlex-2.1.0.dist-info/top_level.txt +0 -3
  1668. paddlex_restful/__init__.py +0 -15
  1669. paddlex_restful/command.py +0 -63
  1670. paddlex_restful/restful/__init__.py +0 -15
  1671. paddlex_restful/restful/app.py +0 -969
  1672. paddlex_restful/restful/dataset/__init__.py +0 -13
  1673. paddlex_restful/restful/dataset/cls_dataset.py +0 -159
  1674. paddlex_restful/restful/dataset/dataset.py +0 -266
  1675. paddlex_restful/restful/dataset/datasetbase.py +0 -86
  1676. paddlex_restful/restful/dataset/det_dataset.py +0 -190
  1677. paddlex_restful/restful/dataset/ins_seg_dataset.py +0 -312
  1678. paddlex_restful/restful/dataset/operate.py +0 -155
  1679. paddlex_restful/restful/dataset/seg_dataset.py +0 -222
  1680. paddlex_restful/restful/dataset/utils.py +0 -267
  1681. paddlex_restful/restful/demo.py +0 -202
  1682. paddlex_restful/restful/dir.py +0 -45
  1683. paddlex_restful/restful/model.py +0 -312
  1684. paddlex_restful/restful/project/__init__.py +0 -13
  1685. paddlex_restful/restful/project/evaluate/__init__.py +0 -13
  1686. paddlex_restful/restful/project/evaluate/classification.py +0 -126
  1687. paddlex_restful/restful/project/evaluate/detection.py +0 -789
  1688. paddlex_restful/restful/project/evaluate/draw_pred_result.py +0 -181
  1689. paddlex_restful/restful/project/evaluate/segmentation.py +0 -122
  1690. paddlex_restful/restful/project/operate.py +0 -931
  1691. paddlex_restful/restful/project/project.py +0 -143
  1692. paddlex_restful/restful/project/prune/__init__.py +0 -13
  1693. paddlex_restful/restful/project/prune/classification.py +0 -32
  1694. paddlex_restful/restful/project/prune/detection.py +0 -48
  1695. paddlex_restful/restful/project/prune/segmentation.py +0 -34
  1696. paddlex_restful/restful/project/task.py +0 -884
  1697. paddlex_restful/restful/project/train/__init__.py +0 -13
  1698. paddlex_restful/restful/project/train/classification.py +0 -141
  1699. paddlex_restful/restful/project/train/detection.py +0 -263
  1700. paddlex_restful/restful/project/train/params.py +0 -432
  1701. paddlex_restful/restful/project/train/params_v2.py +0 -326
  1702. paddlex_restful/restful/project/train/segmentation.py +0 -191
  1703. paddlex_restful/restful/project/visualize.py +0 -244
  1704. paddlex_restful/restful/system.py +0 -102
  1705. paddlex_restful/restful/templates/paddlex_restful_demo.html +0 -5205
  1706. paddlex_restful/restful/utils.py +0 -841
  1707. paddlex_restful/restful/workspace.py +0 -343
  1708. paddlex_restful/restful/workspace_pb2.py +0 -1411
@@ -0,0 +1,977 @@
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
+ from typing import Any, Dict, Optional, Union, List, Tuple
16
+ import os
17
+ import re
18
+ import cv2
19
+ import copy
20
+ import json
21
+ import base64
22
+ import numpy as np
23
+ from .pipeline_base import PP_ChatOCR_Pipeline
24
+ from ...common.reader import ReadImage
25
+ from ...common.batch_sampler import ImageBatchSampler
26
+ from ....utils import logging
27
+ from ....utils.file_interface import custom_open
28
+ from ...utils.pp_option import PaddlePredictorOption
29
+ from ..layout_parsing.result import LayoutParsingResult
30
+ from ..components.chat_server import BaseChat
31
+
32
+
33
+ class PP_ChatOCRv4_Pipeline(PP_ChatOCR_Pipeline):
34
+ """PP-ChatOCRv4 Pipeline"""
35
+
36
+ entities = ["PP-ChatOCRv4-doc"]
37
+
38
+ def __init__(
39
+ self,
40
+ config: Dict,
41
+ device: str = None,
42
+ pp_option: PaddlePredictorOption = None,
43
+ use_hpip: bool = False,
44
+ initial_predictor: bool = True,
45
+ ) -> None:
46
+ """Initializes the pp-chatocrv3-doc pipeline.
47
+
48
+ Args:
49
+ config (Dict): Configuration dictionary containing various settings.
50
+ device (str, optional): Device to run the predictions on. Defaults to None.
51
+ pp_option (PaddlePredictorOption, optional): PaddlePredictor options. Defaults to None.
52
+ use_hpip (bool, optional): Whether to use high-performance inference (hpip) for prediction. Defaults to False.
53
+ use_layout_parsing (bool, optional): Whether to use layout parsing. Defaults to True.
54
+ initial_predictor (bool, optional): Whether to initialize the predictor. Defaults to True.
55
+ """
56
+
57
+ super().__init__(device=device, pp_option=pp_option, use_hpip=use_hpip)
58
+
59
+ self.pipeline_name = config["pipeline_name"]
60
+ self.config = config
61
+ self.use_layout_parser = config.get("use_layout_parser", True)
62
+ self.use_mllm_predict = config.get("use_mllm_predict", True)
63
+
64
+ self.layout_parsing_pipeline = None
65
+ self.chat_bot = None
66
+ self.retriever = None
67
+ self.mllm_chat_bot = None
68
+
69
+ if initial_predictor:
70
+ self.inintial_visual_predictor(config)
71
+ self.inintial_chat_predictor(config)
72
+ self.inintial_retriever_predictor(config)
73
+ self.inintial_mllm_predictor(config)
74
+
75
+ self.batch_sampler = ImageBatchSampler(batch_size=1)
76
+ self.img_reader = ReadImage(format="BGR")
77
+
78
+ self.table_structure_len_max = 500
79
+
80
+ def inintial_visual_predictor(self, config: dict) -> None:
81
+ """
82
+ Initializes the visual predictor with the given configuration.
83
+
84
+ Args:
85
+ config (dict): The configuration dictionary containing the necessary
86
+ parameters for initializing the predictor.
87
+ Returns:
88
+ None
89
+ """
90
+ self.use_layout_parser = config.get("use_layout_parser", True)
91
+
92
+ if self.use_layout_parser:
93
+ layout_parsing_config = config.get("SubPipelines", {}).get(
94
+ "LayoutParser",
95
+ {"pipeline_config_error": "config error for layout_parsing_pipeline!"},
96
+ )
97
+ self.layout_parsing_pipeline = self.create_pipeline(layout_parsing_config)
98
+ return
99
+
100
+ def inintial_retriever_predictor(self, config: dict) -> None:
101
+ """
102
+ Initializes the retriever predictor with the given configuration.
103
+
104
+ Args:
105
+ config (dict): The configuration dictionary containing the necessary
106
+ parameters for initializing the predictor.
107
+ Returns:
108
+ None
109
+ """
110
+ from .. import create_retriever
111
+
112
+ retriever_config = config.get("SubModules", {}).get(
113
+ "LLM_Retriever",
114
+ {"retriever_config_error": "config error for llm retriever!"},
115
+ )
116
+ self.retriever = create_retriever(retriever_config)
117
+
118
+ def inintial_chat_predictor(self, config: dict) -> None:
119
+ """
120
+ Initializes the chat predictor with the given configuration.
121
+
122
+ Args:
123
+ config (dict): The configuration dictionary containing the necessary
124
+ parameters for initializing the predictor.
125
+ Returns:
126
+ None
127
+ """
128
+ from .. import create_chat_bot
129
+
130
+ chat_bot_config = config.get("SubModules", {}).get(
131
+ "LLM_Chat",
132
+ {"chat_bot_config_error": "config error for llm chat bot!"},
133
+ )
134
+ self.chat_bot = create_chat_bot(chat_bot_config)
135
+
136
+ from .. import create_prompt_engineering
137
+
138
+ text_pe_config = (
139
+ config.get("SubModules", {})
140
+ .get("PromptEngneering", {})
141
+ .get(
142
+ "KIE_CommonText",
143
+ {"pe_config_error": "config error for text_pe!"},
144
+ )
145
+ )
146
+ self.text_pe = create_prompt_engineering(text_pe_config)
147
+
148
+ table_pe_config = (
149
+ config.get("SubModules", {})
150
+ .get("PromptEngneering", {})
151
+ .get(
152
+ "KIE_Table",
153
+ {"pe_config_error": "config error for table_pe!"},
154
+ )
155
+ )
156
+ self.table_pe = create_prompt_engineering(table_pe_config)
157
+ return
158
+
159
+ def inintial_mllm_predictor(self, config: dict) -> None:
160
+ """
161
+ Initializes the predictor with the given configuration.
162
+
163
+ Args:
164
+ config (dict): The configuration dictionary containing the necessary
165
+ parameters for initializing the predictor.
166
+ Returns:
167
+ None
168
+ """
169
+ from .. import create_chat_bot, create_prompt_engineering
170
+
171
+ self.use_mllm_predict = config.get("use_mllm_predict", True)
172
+ if self.use_mllm_predict:
173
+ mllm_chat_bot_config = config.get("SubModules", {}).get(
174
+ "MLLM_Chat",
175
+ {"mllm_chat_bot_config": "config error for mllm chat bot!"},
176
+ )
177
+ self.mllm_chat_bot = create_chat_bot(mllm_chat_bot_config)
178
+ ensemble_pe_config = (
179
+ config.get("SubModules", {})
180
+ .get("PromptEngneering", {})
181
+ .get(
182
+ "Ensemble",
183
+ {"pe_config_error": "config error for ensemble_pe!"},
184
+ )
185
+ )
186
+ self.ensemble_pe = create_prompt_engineering(ensemble_pe_config)
187
+ return
188
+
189
+ def decode_visual_result(self, layout_parsing_result: LayoutParsingResult) -> dict:
190
+ """
191
+ Decodes the visual result from the layout parsing result.
192
+
193
+ Args:
194
+ layout_parsing_result (LayoutParsingResult): The result of layout parsing.
195
+
196
+ Returns:
197
+ dict: The decoded visual information.
198
+ """
199
+ normal_text_dict = {}
200
+ parsing_res_list = layout_parsing_result["parsing_res_list"]
201
+ for pno in range(len(parsing_res_list)):
202
+ label = parsing_res_list[pno]["block_label"]
203
+ content = parsing_res_list[pno]["block_content"]
204
+ if label in ["table", "formula"]:
205
+ continue
206
+ key = f"words in {label}"
207
+ if key not in normal_text_dict:
208
+ normal_text_dict[key] = content
209
+ else:
210
+ normal_text_dict[key] += f"\n {content}"
211
+
212
+ table_res_list = layout_parsing_result["table_res_list"]
213
+ table_text_list = []
214
+ table_html_list = []
215
+ table_nei_text_list = []
216
+ for table_res in table_res_list:
217
+ table_html_list.append(table_res["pred_html"])
218
+ single_table_text = " ".join(table_res["table_ocr_pred"]["rec_texts"])
219
+ table_text_list.append(single_table_text)
220
+ table_nei_text_list.append(table_res["neighbor_texts"])
221
+
222
+ visual_info = {}
223
+ visual_info["normal_text_dict"] = normal_text_dict
224
+ visual_info["table_text_list"] = table_text_list
225
+ visual_info["table_html_list"] = table_html_list
226
+ visual_info["table_nei_text_list"] = table_nei_text_list
227
+ return visual_info
228
+
229
+ # Function to perform visual prediction on input images
230
+ def visual_predict(
231
+ self,
232
+ input: Union[str, List[str], np.ndarray, List[np.ndarray]],
233
+ use_doc_orientation_classify: Optional[bool] = None,
234
+ use_doc_unwarping: Optional[bool] = None,
235
+ use_general_ocr: Optional[bool] = None,
236
+ use_seal_recognition: Optional[bool] = None,
237
+ use_table_recognition: Optional[bool] = None,
238
+ layout_threshold: Optional[Union[float, dict]] = None,
239
+ layout_nms: Optional[bool] = None,
240
+ layout_unclip_ratio: Optional[Union[float, Tuple[float, float], dict]] = None,
241
+ layout_merge_bboxes_mode: Optional[str] = None,
242
+ text_det_limit_side_len: Optional[int] = None,
243
+ text_det_limit_type: Optional[str] = None,
244
+ text_det_thresh: Optional[float] = None,
245
+ text_det_box_thresh: Optional[float] = None,
246
+ text_det_unclip_ratio: Optional[float] = None,
247
+ text_rec_score_thresh: Optional[float] = None,
248
+ seal_det_limit_side_len: Optional[int] = None,
249
+ seal_det_limit_type: Optional[str] = None,
250
+ seal_det_thresh: Optional[float] = None,
251
+ seal_det_box_thresh: Optional[float] = None,
252
+ seal_det_unclip_ratio: Optional[float] = None,
253
+ seal_rec_score_thresh: Optional[float] = None,
254
+ **kwargs,
255
+ ) -> dict:
256
+ """
257
+ This function takes an input image or a list of images and performs various visual
258
+ prediction tasks such as document orientation classification, document unwarping,
259
+ general OCR, seal recognition, and table recognition based on the provided flags.
260
+
261
+ Args:
262
+ input (Union[str, list[str], np.ndarray, list[np.ndarray]]): Input image path, list of image paths,
263
+ numpy array of an image, or list of numpy arrays.
264
+ use_doc_orientation_classify (bool): Flag to use document orientation classification.
265
+ use_doc_unwarping (bool): Flag to use document unwarping.
266
+ use_general_ocr (bool): Flag to use general OCR.
267
+ use_seal_recognition (bool): Flag to use seal recognition.
268
+ use_table_recognition (bool): Flag to use table recognition.
269
+ layout_threshold (Optional[float]): The threshold value to filter out low-confidence predictions. Default is None.
270
+ layout_nms (bool, optional): Whether to use layout-aware NMS. Defaults to False.
271
+ layout_unclip_ratio (Optional[Union[float, Tuple[float, float]]], optional): The ratio of unclipping the bounding box.
272
+ Defaults to None.
273
+ If it's a single number, then both width and height are used.
274
+ If it's a tuple of two numbers, then they are used separately for width and height respectively.
275
+ If it's None, then no unclipping will be performed.
276
+ layout_merge_bboxes_mode (Optional[str], optional): The mode for merging bounding boxes. Defaults to None.
277
+ text_det_limit_side_len (Optional[int]): Maximum side length for text detection.
278
+ text_det_limit_type (Optional[str]): Type of limit to apply for text detection.
279
+ text_det_thresh (Optional[float]): Threshold for text detection.
280
+ text_det_box_thresh (Optional[float]): Threshold for text detection boxes.
281
+ text_det_unclip_ratio (Optional[float]): Ratio for unclipping text detection boxes.
282
+ text_rec_score_thresh (Optional[float]): Score threshold for text recognition.
283
+ seal_det_limit_side_len (Optional[int]): Maximum side length for seal detection.
284
+ seal_det_limit_type (Optional[str]): Type of limit to apply for seal detection.
285
+ seal_det_thresh (Optional[float]): Threshold for seal detection.
286
+ seal_det_box_thresh (Optional[float]): Threshold for seal detection boxes.
287
+ seal_det_unclip_ratio (Optional[float]): Ratio for unclipping seal detection boxes.
288
+ seal_rec_score_thresh (Optional[float]): Score threshold for seal recognition.
289
+ **kwargs: Additional keyword arguments.
290
+
291
+ Returns:
292
+ dict: A dictionary containing the layout parsing result and visual information.
293
+ """
294
+ if self.use_layout_parser == False:
295
+ logging.error("The models for layout parser are not initialized.")
296
+ yield {"error": "The models for layout parser are not initialized."}
297
+
298
+ if self.layout_parsing_pipeline is None:
299
+ logging.warning(
300
+ "The layout parsing pipeline is not initialized, will initialize it now."
301
+ )
302
+ self.inintial_visual_predictor(self.config)
303
+
304
+ for layout_parsing_result in self.layout_parsing_pipeline.predict(
305
+ input,
306
+ use_doc_orientation_classify=use_doc_orientation_classify,
307
+ use_doc_unwarping=use_doc_unwarping,
308
+ use_general_ocr=use_general_ocr,
309
+ use_seal_recognition=use_seal_recognition,
310
+ use_table_recognition=use_table_recognition,
311
+ layout_threshold=layout_threshold,
312
+ layout_nms=layout_nms,
313
+ layout_unclip_ratio=layout_unclip_ratio,
314
+ layout_merge_bboxes_mode=layout_merge_bboxes_mode,
315
+ text_det_limit_side_len=text_det_limit_side_len,
316
+ text_det_limit_type=text_det_limit_type,
317
+ text_det_thresh=text_det_thresh,
318
+ text_det_box_thresh=text_det_box_thresh,
319
+ text_det_unclip_ratio=text_det_unclip_ratio,
320
+ text_rec_score_thresh=text_rec_score_thresh,
321
+ seal_det_box_thresh=seal_det_box_thresh,
322
+ seal_det_limit_side_len=seal_det_limit_side_len,
323
+ seal_det_limit_type=seal_det_limit_type,
324
+ seal_det_thresh=seal_det_thresh,
325
+ seal_det_unclip_ratio=seal_det_unclip_ratio,
326
+ seal_rec_score_thresh=seal_rec_score_thresh,
327
+ ):
328
+
329
+ visual_info = self.decode_visual_result(layout_parsing_result)
330
+
331
+ visual_predict_res = {
332
+ "layout_parsing_result": layout_parsing_result,
333
+ "visual_info": visual_info,
334
+ }
335
+ yield visual_predict_res
336
+
337
+ def save_visual_info_list(self, visual_info: dict, save_path: str) -> None:
338
+ """
339
+ Save the visual info list to the specified file path.
340
+
341
+ Args:
342
+ visual_info (dict): The visual info result, which can be a single object or a list of objects.
343
+ save_path (str): The file path to save the visual info list.
344
+
345
+ Returns:
346
+ None
347
+ """
348
+ if not isinstance(visual_info, list):
349
+ visual_info_list = [visual_info]
350
+ else:
351
+ visual_info_list = visual_info
352
+
353
+ with open(save_path, "w") as fout:
354
+ fout.write(json.dumps(visual_info_list, ensure_ascii=False) + "\n")
355
+ return
356
+
357
+ def load_visual_info_list(self, data_path: str) -> List[dict]:
358
+ """
359
+ Loads visual info list from a JSON file.
360
+
361
+ Args:
362
+ data_path (str): The path to the JSON file containing visual info.
363
+
364
+ Returns:
365
+ list[dict]: A list of dict objects parsed from the JSON file.
366
+ """
367
+ with open(data_path, "r") as fin:
368
+ data = fin.readline()
369
+ visual_info_list = json.loads(data)
370
+ return visual_info_list
371
+
372
+ def merge_visual_info_list(
373
+ self, visual_info_list: List[dict]
374
+ ) -> Tuple[list, list, list, list]:
375
+ """
376
+ Merge visual info lists.
377
+
378
+ Args:
379
+ visual_info_list (list[dict]): A list of visual info results.
380
+
381
+ Returns:
382
+ tuple[list, list, list, list]: A tuple containing four lists, one for normal text dicts,
383
+ one for table text lists, one for table HTML lists.
384
+ one for table neighbor texts.
385
+ """
386
+ all_normal_text_list = []
387
+ all_table_text_list = []
388
+ all_table_html_list = []
389
+ all_table_nei_text_list = []
390
+ for single_visual_info in visual_info_list:
391
+ normal_text_dict = single_visual_info["normal_text_dict"]
392
+ for key in normal_text_dict:
393
+ normal_text_dict[key] = normal_text_dict[key].replace("\n", "")
394
+ table_text_list = single_visual_info["table_text_list"]
395
+ table_html_list = single_visual_info["table_html_list"]
396
+ table_nei_text_list = single_visual_info["table_nei_text_list"]
397
+ all_normal_text_list.append(normal_text_dict)
398
+ all_table_text_list.extend(table_text_list)
399
+ all_table_html_list.extend(table_html_list)
400
+ all_table_nei_text_list.extend(table_nei_text_list)
401
+ return (
402
+ all_normal_text_list,
403
+ all_table_text_list,
404
+ all_table_html_list,
405
+ all_table_nei_text_list,
406
+ )
407
+
408
+ def build_vector(
409
+ self,
410
+ visual_info: dict,
411
+ min_characters: int = 3500,
412
+ block_size: int = 300,
413
+ flag_save_bytes_vector: bool = False,
414
+ retriever_config: dict = None,
415
+ ) -> dict:
416
+ """
417
+ Build a vector representation from visual information.
418
+
419
+ Args:
420
+ visual_info (dict): The visual information input, can be a single instance or a list of instances.
421
+ min_characters (int): The minimum number of characters required for text processing, defaults to 3500.
422
+ block_size (int): The size of each chunk to split the text into.
423
+ flag_save_bytes_vector (bool): Whether to save the vector as bytes, defaults to False.
424
+ retriever_config (dict): The configuration for the retriever, defaults to None.
425
+
426
+ Returns:
427
+ dict: A dictionary containing the vector info and a flag indicating if the text is too short.
428
+ """
429
+
430
+ if not isinstance(visual_info, list):
431
+ visual_info_list = [visual_info]
432
+ else:
433
+ visual_info_list = visual_info
434
+
435
+ if retriever_config is not None:
436
+ from .. import create_retriever
437
+
438
+ retriever = create_retriever(retriever_config)
439
+ else:
440
+ if self.retriever is None:
441
+ logging.warning(
442
+ "The retriever is not initialized,will initialize it now."
443
+ )
444
+ self.inintial_retriever_predictor(self.config)
445
+ retriever = self.retriever
446
+
447
+ all_visual_info = self.merge_visual_info_list(visual_info_list)
448
+ (
449
+ all_normal_text_list,
450
+ all_table_text_list,
451
+ all_table_html_list,
452
+ all_table_nei_text_list,
453
+ ) = all_visual_info
454
+
455
+ vector_info = {}
456
+
457
+ all_items = []
458
+ for i, normal_text_dict in enumerate(all_normal_text_list):
459
+ for type, text in normal_text_dict.items():
460
+ all_items += [f"{type}:{text}\n"]
461
+
462
+ for table_html, table_text, table_nei_text in zip(
463
+ all_table_html_list, all_table_text_list, all_table_nei_text_list
464
+ ):
465
+ if len(table_html) > min_characters - self.table_structure_len_max:
466
+ all_items += [f"table:{table_text}\t{table_nei_text}"]
467
+
468
+ all_text_str = "".join(all_items)
469
+ vector_info["flag_save_bytes_vector"] = False
470
+ if len(all_text_str) > min_characters:
471
+ vector_info["flag_too_short_text"] = False
472
+ vector_info["model_name"] = retriever.model_name
473
+ vector_info["block_size"] = block_size
474
+ vector_info["vector"] = retriever.generate_vector_database(
475
+ all_items, block_size=block_size
476
+ )
477
+ if flag_save_bytes_vector:
478
+ vector_info["vector"] = retriever.encode_vector_store_to_bytes(
479
+ vector_info["vector"]
480
+ )
481
+ vector_info["flag_save_bytes_vector"] = True
482
+ else:
483
+ vector_info["flag_too_short_text"] = True
484
+ vector_info["vector"] = all_items
485
+ return vector_info
486
+
487
+ def save_vector(
488
+ self, vector_info: dict, save_path: str, retriever_config: dict = None
489
+ ) -> None:
490
+ directory = os.path.dirname(save_path)
491
+ if not os.path.exists(directory):
492
+ os.makedirs(directory)
493
+
494
+ if retriever_config is not None:
495
+ from .. import create_retriever
496
+
497
+ retriever = create_retriever(retriever_config)
498
+ else:
499
+ if self.retriever is None:
500
+ logging.warning(
501
+ "The retriever is not initialized,will initialize it now."
502
+ )
503
+ self.inintial_retriever_predictor(self.config)
504
+ retriever = self.retriever
505
+
506
+ vector_info_data = copy.deepcopy(vector_info)
507
+ if (
508
+ not vector_info["flag_too_short_text"]
509
+ and not vector_info["flag_save_bytes_vector"]
510
+ ):
511
+ vector_info_data["vector"] = retriever.encode_vector_store_to_bytes(
512
+ vector_info_data["vector"]
513
+ )
514
+ vector_info_data["flag_save_bytes_vector"] = True
515
+
516
+ with custom_open(save_path, "w") as fout:
517
+ fout.write(json.dumps(vector_info_data, ensure_ascii=False) + "\n")
518
+ return
519
+
520
+ def load_vector(self, data_path: str, retriever_config: dict = None) -> dict:
521
+ vector_info = None
522
+
523
+ if retriever_config is not None:
524
+ from .. import create_retriever
525
+
526
+ retriever = create_retriever(retriever_config)
527
+ else:
528
+ if self.retriever is None:
529
+ logging.warning(
530
+ "The retriever is not initialized,will initialize it now."
531
+ )
532
+ self.inintial_retriever_predictor(self.config)
533
+ retriever = self.retriever
534
+
535
+ with open(data_path, "r") as fin:
536
+ data = fin.readline()
537
+ vector_info = json.loads(data)
538
+ if (
539
+ "flag_too_short_text" not in vector_info
540
+ or "flag_save_bytes_vector" not in vector_info
541
+ or "vector" not in vector_info
542
+ ):
543
+ logging.error("Invalid vector info.")
544
+ return {"error": "Invalid vector info when load vector!"}
545
+ if vector_info["flag_save_bytes_vector"]:
546
+ vector_info["vector"] = retriever.decode_vector_store_from_bytes(
547
+ vector_info["vector"]
548
+ )
549
+ vector_info["flag_save_bytes_vector"] = False
550
+
551
+ return vector_info
552
+
553
+ def format_key(self, key_list: Union[str, List[str]]) -> List[str]:
554
+ """
555
+ Formats the key list.
556
+
557
+ Args:
558
+ key_list (str|list[str]): A string or a list of strings representing the keys.
559
+
560
+ Returns:
561
+ list[str]: A list of formatted keys.
562
+ """
563
+ if key_list == "":
564
+ return []
565
+
566
+ if isinstance(key_list, list):
567
+ key_list = [key.replace("\xa0", " ") for key in key_list]
568
+ return key_list
569
+
570
+ if isinstance(key_list, str):
571
+ key_list = re.sub(r"[\t\n\r\f\v]", "", key_list)
572
+ key_list = key_list.replace(",", ",").split(",")
573
+ return key_list
574
+
575
+ return []
576
+
577
+ def mllm_pred(
578
+ self,
579
+ input: Union[str, np.ndarray],
580
+ key_list: Union[str, List[str]],
581
+ mllm_chat_bot_config=None,
582
+ ) -> dict:
583
+ """
584
+ Generates MLLM results based on the provided key list and input image.
585
+
586
+ Args:
587
+ input (Union[str, np.ndarray]): Input image path, or numpy array of an image.
588
+ key_list (Union[str, list[str]]): A single key or a list of keys to extract information.
589
+ chat_bot_config (dict): The parameters for LLM chatbot, including api_type, api_key... refer to config file for more details.
590
+ Returns:
591
+ dict: A dictionary containing the chat results.
592
+ """
593
+ if self.use_mllm_predict == False:
594
+ logging.error("MLLM prediction is disabled.")
595
+ return {"mllm_res": "Error:MLLM prediction is disabled!"}
596
+
597
+ key_list = self.format_key(key_list)
598
+ if len(key_list) == 0:
599
+ return {"mllm_res": "Error:输入的key_list无效!"}
600
+
601
+ if isinstance(input, list):
602
+ logging.error("Input is a list, but it's not supported here.")
603
+ return {"mllm_res": "Error:Input is a list, but it's not supported here!"}
604
+ if isinstance(input, str) and input.endswith(".pdf"):
605
+ logging.error("MLMM prediction does not support PDF currently!")
606
+ return {"mllm_res": "Error:MLMM prediction does not support PDF currently!"}
607
+
608
+ if self.mllm_chat_bot is None:
609
+ logging.warning(
610
+ "The MLLM chat bot is not initialized,will initialize it now."
611
+ )
612
+ self.inintial_mllm_predictor(self.config)
613
+
614
+ if mllm_chat_bot_config is not None:
615
+ from .. import create_chat_bot
616
+
617
+ mllm_chat_bot = create_chat_bot(mllm_chat_bot_config)
618
+ else:
619
+ mllm_chat_bot = self.mllm_chat_bot
620
+
621
+ for image_array in self.img_reader([input]):
622
+
623
+ image_string = cv2.imencode(".jpg", image_array)[1].tostring()
624
+ image_base64 = base64.b64encode(image_string).decode("utf-8")
625
+ result = {}
626
+ for key in key_list:
627
+ prompt = (
628
+ str(key)
629
+ + "\n请用图片中完整出现的内容回答,可以是单词、短语或句子,针对问题回答尽可能详细和完整,并保持格式、单位、符号和标点都与图片中的文字内容完全一致。"
630
+ )
631
+ mllm_chat_bot_result = mllm_chat_bot.generate_chat_results(
632
+ prompt=prompt, image=image_base64
633
+ )["content"]
634
+ if mllm_chat_bot_result is None:
635
+ return {"mllm_res": "大模型调用失败"}
636
+ result[key] = mllm_chat_bot_result
637
+ return {"mllm_res": result}
638
+
639
+ def generate_and_merge_chat_results(
640
+ self,
641
+ chat_bot: BaseChat,
642
+ prompt: str,
643
+ key_list: list,
644
+ final_results: dict,
645
+ failed_results: list,
646
+ ) -> None:
647
+ """
648
+ Generate and merge chat results into the final results dictionary.
649
+
650
+ Args:
651
+ prompt (str): The input prompt for the chat bot.
652
+ key_list (list): A list of keys to track which results to merge.
653
+ final_results (dict): The dictionary to store the final merged results.
654
+ failed_results (list): A list of failed results to avoid merging.
655
+
656
+ Returns:
657
+ None
658
+ """
659
+
660
+ llm_result = chat_bot.generate_chat_results(prompt)
661
+ llm_result_content = llm_result["content"]
662
+ llm_result_reasoning_content = llm_result["reasoning_content"]
663
+
664
+ if llm_result_reasoning_content is not None:
665
+ if "reasoning_content" not in final_results:
666
+ final_results["reasoning_content"] = [llm_result_reasoning_content]
667
+ else:
668
+ final_results["reasoning_content"].append(llm_result_reasoning_content)
669
+
670
+ if llm_result_content is None:
671
+ logging.error(
672
+ "chat bot error: \n [prompt:]\n %s\n [result:] %s\n"
673
+ % (prompt, chat_bot.ERROR_MASSAGE)
674
+ )
675
+ return
676
+
677
+ llm_result_content = chat_bot.fix_llm_result_format(llm_result_content)
678
+
679
+ for key, value in llm_result_content.items():
680
+ if value not in failed_results and key in key_list:
681
+ key_list.remove(key)
682
+ final_results[key] = value
683
+ return
684
+
685
+ def get_related_normal_text(
686
+ self,
687
+ retriever_config: dict,
688
+ use_vector_retrieval: bool,
689
+ vector_info: dict,
690
+ key_list: List[str],
691
+ all_normal_text_list: list,
692
+ min_characters: int,
693
+ ) -> str:
694
+ """
695
+ Retrieve related normal text based on vector retrieval or all normal text list.
696
+
697
+ Args:
698
+ retriever_config (dict): Configuration for the retriever.
699
+ use_vector_retrieval (bool): Whether to use vector retrieval.
700
+ vector_info (dict): Dictionary containing vector information.
701
+ key_list (list[str]): List of keys to generate question keys.
702
+ all_normal_text_list (list): List of normal text.
703
+ min_characters (int): The minimum number of characters required for text processing, defaults to 3500.
704
+
705
+ Returns:
706
+ str: Related normal text.
707
+ """
708
+
709
+ if use_vector_retrieval and vector_info is not None:
710
+
711
+ if retriever_config is not None:
712
+ from .. import create_retriever
713
+
714
+ retriever = create_retriever(retriever_config)
715
+ else:
716
+ if self.retriever is None:
717
+ logging.warning(
718
+ "The retriever is not initialized,will initialize it now."
719
+ )
720
+ self.inintial_retriever_predictor(self.config)
721
+ retriever = self.retriever
722
+
723
+ question_key_list = [f"{key}" for key in key_list]
724
+ vector = vector_info["vector"]
725
+ if not vector_info["flag_too_short_text"]:
726
+ assert (
727
+ vector_info["model_name"] == retriever.model_name
728
+ ), f"The vector model name ({vector_info['model_name']}) does not match the retriever model name ({retriever.model_name}). Please check your retriever config."
729
+ if vector_info["flag_save_bytes_vector"]:
730
+ vector = retriever.decode_vector_store_from_bytes(vector)
731
+ related_text = retriever.similarity_retrieval(
732
+ question_key_list, vector, topk=50, min_characters=min_characters
733
+ )
734
+ else:
735
+ if len(vector) > 0:
736
+ related_text = "".join(vector)
737
+ else:
738
+ related_text = ""
739
+ else:
740
+ all_items = []
741
+ for i, normal_text_dict in enumerate(all_normal_text_list):
742
+ for type, text in normal_text_dict.items():
743
+ all_items += [f"{type}:{text}\n"]
744
+ related_text = "".join(all_items)
745
+ if len(related_text) > min_characters:
746
+ logging.warning(
747
+ "The input text content is too long, the large language model may truncate it."
748
+ )
749
+ return related_text
750
+
751
+ def ensemble_ocr_llm_mllm(
752
+ self,
753
+ chat_bot: BaseChat,
754
+ key_list: List[str],
755
+ ocr_llm_predict_dict: dict,
756
+ mllm_predict_dict: dict,
757
+ ) -> dict:
758
+ """
759
+ Ensemble OCR_LLM and LMM predictions based on given key list.
760
+
761
+ Args:
762
+ key_list (list[str]): List of keys to retrieve predictions.
763
+ ocr_llm_predict_dict (dict): Dictionary containing OCR LLM predictions.
764
+ mllm_predict_dict (dict): Dictionary containing mLLM predictions.
765
+
766
+ Returns:
767
+ dict: A dictionary with final predictions.
768
+ """
769
+ final_predict_dict = {}
770
+
771
+ for key in key_list:
772
+ predict = ""
773
+ ocr_llm_predict = ""
774
+ mllm_predict = ""
775
+ if key in ocr_llm_predict_dict:
776
+ ocr_llm_predict = ocr_llm_predict_dict[key]
777
+ if key in mllm_predict_dict:
778
+ mllm_predict = mllm_predict_dict[key]
779
+ if ocr_llm_predict != "" and mllm_predict != "":
780
+ prompt = self.ensemble_pe.generate_prompt(
781
+ key, ocr_llm_predict, mllm_predict
782
+ )
783
+ llm_result = chat_bot.generate_chat_results(prompt)
784
+ llm_result_content = llm_result["content"]
785
+ llm_result_reasoning_content = llm_result["reasoning_content"]
786
+ if llm_result_reasoning_content is not None:
787
+ if "reasoning_content" not in final_predict_dict:
788
+ final_predict_dict["reasoning_content"] = [
789
+ llm_result_reasoning_content
790
+ ]
791
+ else:
792
+ final_predict_dict["reasoning_content"].append(
793
+ llm_result_reasoning_content
794
+ )
795
+ if llm_result_content is not None:
796
+ llm_result_content = chat_bot.fix_llm_result_format(
797
+ llm_result_content
798
+ )
799
+ if key in llm_result_content:
800
+ tmp = llm_result_content[key]
801
+ if "B" in tmp:
802
+ predict = mllm_predict
803
+ else:
804
+ predict = ocr_llm_predict
805
+ else:
806
+ predict = ocr_llm_predict
807
+ elif key in ocr_llm_predict_dict:
808
+ predict = ocr_llm_predict_dict[key]
809
+ elif key in mllm_predict_dict:
810
+ predict = mllm_predict_dict[key]
811
+
812
+ if predict != "":
813
+ final_predict_dict[key] = predict
814
+ return final_predict_dict
815
+
816
+ def chat(
817
+ self,
818
+ key_list: Union[str, List[str]],
819
+ visual_info: dict,
820
+ use_vector_retrieval: bool = True,
821
+ vector_info: dict = None,
822
+ min_characters: int = 3500,
823
+ text_task_description: str = None,
824
+ text_output_format: str = None,
825
+ text_rules_str: str = None,
826
+ text_few_shot_demo_text_content: str = None,
827
+ text_few_shot_demo_key_value_list: str = None,
828
+ table_task_description: str = None,
829
+ table_output_format: str = None,
830
+ table_rules_str: str = None,
831
+ table_few_shot_demo_text_content: str = None,
832
+ table_few_shot_demo_key_value_list: str = None,
833
+ mllm_predict_info: dict = None,
834
+ mllm_integration_strategy: str = "integration",
835
+ chat_bot_config: dict = None,
836
+ retriever_config: dict = None,
837
+ ) -> dict:
838
+ """
839
+ Generates chat results based on the provided key list and visual information.
840
+
841
+ Args:
842
+ key_list (Union[str, list[str]]): A single key or a list of keys to extract information.
843
+ visual_info (dict): The visual information result.
844
+ use_vector_retrieval (bool): Whether to use vector retrieval.
845
+ vector_info (dict): The vector information for retrieval.
846
+ min_characters (int): The minimum number of characters required for text processing, defaults to 3500.
847
+ text_task_description (str): The description of the text task.
848
+ text_output_format (str): The output format for text results.
849
+ text_rules_str (str): The rules for generating text results.
850
+ text_few_shot_demo_text_content (str): The text content for few-shot demos.
851
+ text_few_shot_demo_key_value_list (str): The key-value list for few-shot demos.
852
+ table_task_description (str): The description of the table task.
853
+ table_output_format (str): The output format for table results.
854
+ table_rules_str (str): The rules for generating table results.
855
+ table_few_shot_demo_text_content (str): The text content for table few-shot demos.
856
+ table_few_shot_demo_key_value_list (str): The key-value list for table few-shot demos.
857
+ mllm_predict_dict (dict): The dictionary of mLLM predicts.
858
+ mllm_integration_strategy (str): The integration strategy of mLLM and LLM, defaults to "integration", options are "integration", "llm_only" and "mllm_only".
859
+ chat_bot_config (dict): The parameters for LLM chatbot, including api_type, api_key... refer to config file for more details.
860
+ retriever_config (dict): The parameters for LLM retriever, including api_type, api_key... refer to config file for more details.
861
+ Returns:
862
+ dict: A dictionary containing the chat results.
863
+ """
864
+
865
+ key_list = self.format_key(key_list)
866
+ key_list_ori = key_list.copy()
867
+ if len(key_list) == 0:
868
+ return {"chat_res": "Error:输入的key_list无效!"}
869
+
870
+ if not isinstance(visual_info, list):
871
+ visual_info_list = [visual_info]
872
+ else:
873
+ visual_info_list = visual_info
874
+
875
+ if self.chat_bot is None:
876
+ logging.warning(
877
+ "The LLM chat bot is not initialized,will initialize it now."
878
+ )
879
+ self.inintial_chat_predictor(self.config)
880
+
881
+ if chat_bot_config is not None:
882
+ from .. import create_chat_bot
883
+
884
+ chat_bot = create_chat_bot(chat_bot_config)
885
+ else:
886
+ chat_bot = self.chat_bot
887
+
888
+ all_visual_info = self.merge_visual_info_list(visual_info_list)
889
+ (
890
+ all_normal_text_list,
891
+ all_table_text_list,
892
+ all_table_html_list,
893
+ all_table_nei_text_list,
894
+ ) = all_visual_info
895
+
896
+ final_results = {}
897
+ failed_results = ["大模型调用失败", "未知", "未找到关键信息", "None", ""]
898
+
899
+ if len(key_list) > 0:
900
+ related_text = self.get_related_normal_text(
901
+ retriever_config,
902
+ use_vector_retrieval,
903
+ vector_info,
904
+ key_list,
905
+ all_normal_text_list,
906
+ min_characters,
907
+ )
908
+
909
+ if len(related_text) > 0:
910
+ prompt = self.text_pe.generate_prompt(
911
+ related_text,
912
+ key_list,
913
+ task_description=text_task_description,
914
+ output_format=text_output_format,
915
+ rules_str=text_rules_str,
916
+ few_shot_demo_text_content=text_few_shot_demo_text_content,
917
+ few_shot_demo_key_value_list=text_few_shot_demo_key_value_list,
918
+ )
919
+ self.generate_and_merge_chat_results(
920
+ chat_bot, prompt, key_list, final_results, failed_results
921
+ )
922
+
923
+ if len(key_list) > 0:
924
+ for table_html, table_text, table_nei_text in zip(
925
+ all_table_html_list, all_table_text_list, all_table_nei_text_list
926
+ ):
927
+ if len(table_html) <= min_characters - self.table_structure_len_max:
928
+ for table_info in [table_html]:
929
+ if len(key_list) > 0:
930
+
931
+ if len(table_nei_text) > 0:
932
+ table_info = (
933
+ table_info + "\n 表格周围文字:" + table_nei_text
934
+ )
935
+
936
+ prompt = self.table_pe.generate_prompt(
937
+ table_info,
938
+ key_list,
939
+ task_description=table_task_description,
940
+ output_format=table_output_format,
941
+ rules_str=table_rules_str,
942
+ few_shot_demo_text_content=table_few_shot_demo_text_content,
943
+ few_shot_demo_key_value_list=table_few_shot_demo_key_value_list,
944
+ )
945
+
946
+ self.generate_and_merge_chat_results(
947
+ chat_bot,
948
+ prompt,
949
+ key_list,
950
+ final_results,
951
+ failed_results,
952
+ )
953
+
954
+ if (
955
+ self.use_mllm_predict
956
+ and mllm_integration_strategy != "llm_only"
957
+ and mllm_predict_info is not None
958
+ ):
959
+ if mllm_integration_strategy == "integration":
960
+ final_predict_dict = self.ensemble_ocr_llm_mllm(
961
+ chat_bot, key_list_ori, final_results, mllm_predict_info
962
+ )
963
+ elif mllm_integration_strategy == "mllm_only":
964
+ final_predict_dict = mllm_predict_info
965
+ else:
966
+ return {
967
+ "chat_res": f"Error:Unsupported mllm_integration_strategy {mllm_integration_strategy}, only support 'integration', 'llm_only' and 'mllm_only'!"
968
+ }
969
+ else:
970
+ final_predict_dict = final_results
971
+ return {"chat_res": final_predict_dict}
972
+
973
+ def predict(self, *args, **kwargs) -> None:
974
+ logging.error(
975
+ "PP-ChatOCRv4-doc Pipeline do not support to call `predict()` directly! Please invoke `visual_predict`, `build_vector`, `chat` sequentially to obtain the result."
976
+ )
977
+ return