paddlex 3.0.0rc0__py3-none-any.whl → 3.0.0rc1__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 (785) hide show
  1. paddlex/.version +1 -1
  2. paddlex/__init__.py +17 -34
  3. paddlex/__main__.py +1 -1
  4. paddlex/configs/modules/doc_vlm/PP-DocBee-2B.yaml +14 -0
  5. paddlex/configs/modules/doc_vlm/PP-DocBee-7B.yaml +14 -0
  6. paddlex/configs/modules/open_vocabulary_detection/YOLO-Worldv2-L.yaml +13 -0
  7. paddlex/configs/pipelines/anomaly_detection.yaml +1 -1
  8. paddlex/configs/pipelines/doc_understanding.yaml +9 -0
  9. paddlex/configs/pipelines/ts_anomaly_detection.yaml +1 -1
  10. paddlex/configs/pipelines/ts_classification.yaml +1 -1
  11. paddlex/configs/pipelines/ts_forecast.yaml +1 -1
  12. paddlex/constants.py +17 -0
  13. paddlex/engine.py +7 -5
  14. paddlex/hpip_links.html +23 -11
  15. paddlex/inference/__init__.py +3 -3
  16. paddlex/inference/common/__init__.py +1 -1
  17. paddlex/inference/common/batch_sampler/__init__.py +5 -4
  18. paddlex/inference/common/batch_sampler/audio_batch_sampler.py +5 -6
  19. paddlex/inference/common/batch_sampler/base_batch_sampler.py +20 -16
  20. paddlex/inference/common/batch_sampler/det_3d_batch_sampler.py +4 -7
  21. paddlex/inference/common/batch_sampler/doc_vlm_batch_sampler.py +64 -0
  22. paddlex/inference/common/batch_sampler/image_batch_sampler.py +12 -36
  23. paddlex/inference/common/batch_sampler/ts_batch_sampler.py +9 -10
  24. paddlex/inference/common/batch_sampler/video_batch_sampler.py +2 -22
  25. paddlex/inference/common/reader/__init__.py +4 -4
  26. paddlex/inference/common/reader/audio_reader.py +3 -3
  27. paddlex/inference/common/reader/det_3d_reader.py +7 -5
  28. paddlex/inference/common/reader/image_reader.py +16 -12
  29. paddlex/inference/common/reader/ts_reader.py +3 -2
  30. paddlex/inference/common/reader/video_reader.py +3 -3
  31. paddlex/inference/common/result/__init__.py +7 -7
  32. paddlex/inference/common/result/base_cv_result.py +12 -2
  33. paddlex/inference/common/result/base_result.py +7 -5
  34. paddlex/inference/common/result/base_ts_result.py +1 -2
  35. paddlex/inference/common/result/base_video_result.py +2 -2
  36. paddlex/inference/common/result/mixin.py +12 -13
  37. paddlex/inference/models/__init__.py +41 -85
  38. paddlex/inference/models/anomaly_detection/__init__.py +1 -1
  39. paddlex/inference/models/anomaly_detection/predictor.py +9 -19
  40. paddlex/inference/models/anomaly_detection/processors.py +9 -2
  41. paddlex/inference/models/anomaly_detection/result.py +3 -2
  42. paddlex/inference/models/base/__init__.py +2 -2
  43. paddlex/inference/models/base/predictor/__init__.py +1 -2
  44. paddlex/inference/models/base/predictor/base_predictor.py +284 -39
  45. paddlex/inference/models/common/__init__.py +6 -15
  46. paddlex/inference/models/common/static_infer.py +764 -243
  47. paddlex/inference/models/common/tokenizer/__init__.py +5 -3
  48. paddlex/inference/models/common/tokenizer/bert_tokenizer.py +1 -1
  49. paddlex/inference/models/common/tokenizer/clip_tokenizer.py +609 -0
  50. paddlex/inference/models/common/tokenizer/gpt_tokenizer.py +7 -5
  51. paddlex/inference/models/common/tokenizer/qwen2_tokenizer.py +432 -0
  52. paddlex/inference/models/common/tokenizer/tokenizer_utils.py +72 -64
  53. paddlex/inference/models/common/tokenizer/tokenizer_utils_base.py +337 -121
  54. paddlex/inference/models/common/tokenizer/utils.py +1 -1
  55. paddlex/inference/models/common/tokenizer/vocab.py +1 -1
  56. paddlex/inference/models/common/ts/__init__.py +1 -1
  57. paddlex/inference/models/common/ts/funcs.py +13 -6
  58. paddlex/inference/models/common/ts/processors.py +14 -5
  59. paddlex/inference/models/common/vision/__init__.py +3 -3
  60. paddlex/inference/models/common/vision/funcs.py +17 -12
  61. paddlex/inference/models/common/vision/processors.py +61 -46
  62. paddlex/inference/models/common/vlm/__init__.py +13 -0
  63. paddlex/inference/models/common/vlm/activations.py +189 -0
  64. paddlex/inference/models/common/vlm/bert_padding.py +127 -0
  65. paddlex/inference/models/common/vlm/distributed.py +229 -0
  66. paddlex/inference/models/common/vlm/flash_attn_utils.py +119 -0
  67. paddlex/inference/models/common/vlm/generation/__init__.py +34 -0
  68. paddlex/inference/models/common/vlm/generation/configuration_utils.py +533 -0
  69. paddlex/inference/models/common/vlm/generation/logits_process.py +730 -0
  70. paddlex/inference/models/common/vlm/generation/stopping_criteria.py +106 -0
  71. paddlex/inference/models/common/vlm/generation/utils.py +2162 -0
  72. paddlex/inference/models/common/vlm/transformers/__init__.py +16 -0
  73. paddlex/inference/models/common/vlm/transformers/configuration_utils.py +1037 -0
  74. paddlex/inference/models/common/vlm/transformers/conversion_utils.py +408 -0
  75. paddlex/inference/models/common/vlm/transformers/model_outputs.py +1612 -0
  76. paddlex/inference/models/common/vlm/transformers/model_utils.py +2038 -0
  77. paddlex/inference/models/common/vlm/transformers/utils.py +178 -0
  78. paddlex/inference/models/common/vlm/utils.py +109 -0
  79. paddlex/inference/models/doc_vlm/__init__.py +15 -0
  80. paddlex/inference/models/doc_vlm/modeling/__init__.py +15 -0
  81. paddlex/inference/models/doc_vlm/modeling/qwen2_vl.py +2600 -0
  82. paddlex/inference/models/doc_vlm/predictor.py +198 -0
  83. paddlex/inference/models/doc_vlm/processors/__init__.py +15 -0
  84. paddlex/inference/models/doc_vlm/processors/common.py +372 -0
  85. paddlex/inference/models/doc_vlm/processors/qwen2_vl.py +698 -0
  86. paddlex/inference/models/doc_vlm/result.py +21 -0
  87. paddlex/inference/models/face_feature/__init__.py +1 -1
  88. paddlex/inference/models/face_feature/predictor.py +2 -1
  89. paddlex/inference/models/formula_recognition/__init__.py +1 -1
  90. paddlex/inference/models/formula_recognition/predictor.py +11 -27
  91. paddlex/inference/models/formula_recognition/processors.py +35 -19
  92. paddlex/inference/models/formula_recognition/result.py +19 -12
  93. paddlex/inference/models/image_classification/__init__.py +1 -1
  94. paddlex/inference/models/image_classification/predictor.py +9 -19
  95. paddlex/inference/models/image_classification/processors.py +4 -2
  96. paddlex/inference/models/image_classification/result.py +4 -3
  97. paddlex/inference/models/image_feature/__init__.py +1 -1
  98. paddlex/inference/models/image_feature/predictor.py +9 -19
  99. paddlex/inference/models/image_feature/processors.py +4 -1
  100. paddlex/inference/models/image_feature/result.py +2 -3
  101. paddlex/inference/models/image_multilabel_classification/__init__.py +1 -1
  102. paddlex/inference/models/image_multilabel_classification/predictor.py +7 -6
  103. paddlex/inference/models/image_multilabel_classification/processors.py +6 -2
  104. paddlex/inference/models/image_multilabel_classification/result.py +4 -3
  105. paddlex/inference/models/image_unwarping/__init__.py +1 -1
  106. paddlex/inference/models/image_unwarping/predictor.py +8 -16
  107. paddlex/inference/models/image_unwarping/processors.py +6 -2
  108. paddlex/inference/models/image_unwarping/result.py +4 -2
  109. paddlex/inference/models/instance_segmentation/__init__.py +1 -1
  110. paddlex/inference/models/instance_segmentation/predictor.py +7 -15
  111. paddlex/inference/models/instance_segmentation/processors.py +4 -7
  112. paddlex/inference/models/instance_segmentation/result.py +11 -10
  113. paddlex/inference/models/keypoint_detection/__init__.py +1 -1
  114. paddlex/inference/models/keypoint_detection/predictor.py +2 -3
  115. paddlex/inference/models/keypoint_detection/processors.py +11 -3
  116. paddlex/inference/models/keypoint_detection/result.py +9 -4
  117. paddlex/inference/models/{3d_bev_detection → m_3d_bev_detection}/__init__.py +1 -1
  118. paddlex/inference/models/{3d_bev_detection → m_3d_bev_detection}/predictor.py +15 -26
  119. paddlex/inference/models/{3d_bev_detection → m_3d_bev_detection}/processors.py +26 -14
  120. paddlex/inference/models/{3d_bev_detection → m_3d_bev_detection}/result.py +15 -12
  121. paddlex/inference/models/{3d_bev_detection → m_3d_bev_detection}/visualizer_3d.py +77 -39
  122. paddlex/inference/models/multilingual_speech_recognition/__init__.py +1 -1
  123. paddlex/inference/models/multilingual_speech_recognition/predictor.py +11 -15
  124. paddlex/inference/models/multilingual_speech_recognition/processors.py +45 -53
  125. paddlex/inference/models/multilingual_speech_recognition/result.py +1 -1
  126. paddlex/inference/models/object_detection/__init__.py +1 -1
  127. paddlex/inference/models/object_detection/predictor.py +6 -12
  128. paddlex/inference/models/object_detection/processors.py +36 -31
  129. paddlex/inference/models/object_detection/result.py +5 -4
  130. paddlex/inference/models/object_detection/utils.py +1 -1
  131. paddlex/inference/models/open_vocabulary_detection/__init__.py +1 -1
  132. paddlex/inference/models/open_vocabulary_detection/predictor.py +31 -14
  133. paddlex/inference/models/open_vocabulary_detection/processors/__init__.py +3 -2
  134. paddlex/inference/models/open_vocabulary_detection/processors/common.py +114 -0
  135. paddlex/inference/models/open_vocabulary_detection/processors/groundingdino_processors.py +19 -8
  136. paddlex/inference/models/open_vocabulary_detection/processors/yoloworld_processors.py +209 -0
  137. paddlex/inference/models/open_vocabulary_segmentation/__init__.py +1 -1
  138. paddlex/inference/models/open_vocabulary_segmentation/predictor.py +6 -13
  139. paddlex/inference/models/open_vocabulary_segmentation/processors/__init__.py +1 -1
  140. paddlex/inference/models/open_vocabulary_segmentation/processors/sam_processer.py +12 -12
  141. paddlex/inference/models/open_vocabulary_segmentation/results/__init__.py +1 -1
  142. paddlex/inference/models/open_vocabulary_segmentation/results/sam_result.py +11 -9
  143. paddlex/inference/models/semantic_segmentation/__init__.py +1 -1
  144. paddlex/inference/models/semantic_segmentation/predictor.py +9 -18
  145. paddlex/inference/models/semantic_segmentation/processors.py +11 -8
  146. paddlex/inference/models/semantic_segmentation/result.py +4 -3
  147. paddlex/inference/models/table_structure_recognition/__init__.py +1 -1
  148. paddlex/inference/models/table_structure_recognition/predictor.py +8 -18
  149. paddlex/inference/models/table_structure_recognition/processors.py +23 -29
  150. paddlex/inference/models/table_structure_recognition/result.py +9 -6
  151. paddlex/inference/models/text_detection/__init__.py +1 -1
  152. paddlex/inference/models/text_detection/predictor.py +16 -24
  153. paddlex/inference/models/text_detection/processors.py +74 -36
  154. paddlex/inference/models/text_detection/result.py +9 -4
  155. paddlex/inference/models/text_recognition/__init__.py +1 -1
  156. paddlex/inference/models/text_recognition/predictor.py +11 -19
  157. paddlex/inference/models/text_recognition/processors.py +27 -13
  158. paddlex/inference/models/text_recognition/result.py +3 -2
  159. paddlex/inference/models/ts_anomaly_detection/__init__.py +1 -1
  160. paddlex/inference/models/ts_anomaly_detection/predictor.py +12 -17
  161. paddlex/inference/models/ts_anomaly_detection/processors.py +6 -2
  162. paddlex/inference/models/ts_anomaly_detection/result.py +21 -10
  163. paddlex/inference/models/ts_classification/__init__.py +1 -1
  164. paddlex/inference/models/ts_classification/predictor.py +14 -27
  165. paddlex/inference/models/ts_classification/processors.py +7 -2
  166. paddlex/inference/models/ts_classification/result.py +21 -12
  167. paddlex/inference/models/ts_forecasting/__init__.py +1 -1
  168. paddlex/inference/models/ts_forecasting/predictor.py +13 -18
  169. paddlex/inference/models/ts_forecasting/processors.py +12 -3
  170. paddlex/inference/models/ts_forecasting/result.py +24 -11
  171. paddlex/inference/models/video_classification/__init__.py +1 -1
  172. paddlex/inference/models/video_classification/predictor.py +9 -15
  173. paddlex/inference/models/video_classification/processors.py +24 -24
  174. paddlex/inference/models/video_classification/result.py +7 -3
  175. paddlex/inference/models/video_detection/__init__.py +1 -1
  176. paddlex/inference/models/video_detection/predictor.py +8 -15
  177. paddlex/inference/models/video_detection/processors.py +24 -11
  178. paddlex/inference/models/video_detection/result.py +10 -5
  179. paddlex/inference/pipelines/__init__.py +44 -37
  180. paddlex/inference/pipelines/anomaly_detection/__init__.py +1 -1
  181. paddlex/inference/pipelines/anomaly_detection/pipeline.py +16 -6
  182. paddlex/inference/pipelines/attribute_recognition/__init__.py +1 -1
  183. paddlex/inference/pipelines/attribute_recognition/pipeline.py +13 -8
  184. paddlex/inference/pipelines/attribute_recognition/result.py +10 -8
  185. paddlex/inference/pipelines/base.py +31 -11
  186. paddlex/inference/pipelines/components/__init__.py +14 -8
  187. paddlex/inference/pipelines/components/chat_server/__init__.py +1 -1
  188. paddlex/inference/pipelines/components/chat_server/base.py +2 -2
  189. paddlex/inference/pipelines/components/chat_server/openai_bot_chat.py +8 -8
  190. paddlex/inference/pipelines/components/common/__init__.py +5 -4
  191. paddlex/inference/pipelines/components/common/base_operator.py +2 -1
  192. paddlex/inference/pipelines/components/common/base_result.py +3 -2
  193. paddlex/inference/pipelines/components/common/convert_points_and_boxes.py +1 -2
  194. paddlex/inference/pipelines/components/common/crop_image_regions.py +11 -5
  195. paddlex/inference/pipelines/components/common/seal_det_warp.py +44 -13
  196. paddlex/inference/pipelines/components/common/sort_boxes.py +4 -2
  197. paddlex/inference/pipelines/components/common/warp_image.py +50 -0
  198. paddlex/inference/pipelines/components/faisser.py +9 -4
  199. paddlex/inference/pipelines/components/prompt_engineering/__init__.py +2 -2
  200. paddlex/inference/pipelines/components/prompt_engineering/base.py +2 -2
  201. paddlex/inference/pipelines/components/prompt_engineering/generate_ensemble_prompt.py +2 -1
  202. paddlex/inference/pipelines/components/prompt_engineering/generate_kie_prompt.py +2 -2
  203. paddlex/inference/pipelines/components/retriever/__init__.py +2 -2
  204. paddlex/inference/pipelines/components/retriever/base.py +18 -16
  205. paddlex/inference/pipelines/components/retriever/openai_bot_retriever.py +2 -2
  206. paddlex/inference/pipelines/components/retriever/qianfan_bot_retriever.py +87 -84
  207. paddlex/inference/pipelines/components/utils/__init__.py +1 -1
  208. paddlex/inference/pipelines/components/utils/mixin.py +7 -7
  209. paddlex/inference/pipelines/doc_preprocessor/__init__.py +1 -1
  210. paddlex/inference/pipelines/doc_preprocessor/pipeline.py +21 -28
  211. paddlex/inference/pipelines/doc_preprocessor/result.py +5 -10
  212. paddlex/inference/pipelines/doc_understanding/__init__.py +15 -0
  213. paddlex/inference/pipelines/doc_understanding/pipeline.py +71 -0
  214. paddlex/inference/pipelines/face_recognition/__init__.py +1 -1
  215. paddlex/inference/pipelines/face_recognition/pipeline.py +3 -1
  216. paddlex/inference/pipelines/face_recognition/result.py +3 -2
  217. paddlex/inference/pipelines/formula_recognition/__init__.py +1 -1
  218. paddlex/inference/pipelines/formula_recognition/pipeline.py +22 -16
  219. paddlex/inference/pipelines/formula_recognition/result.py +20 -19
  220. paddlex/inference/pipelines/image_classification/__init__.py +1 -1
  221. paddlex/inference/pipelines/image_classification/pipeline.py +17 -8
  222. paddlex/inference/pipelines/image_multilabel_classification/__init__.py +1 -1
  223. paddlex/inference/pipelines/image_multilabel_classification/pipeline.py +18 -9
  224. paddlex/inference/pipelines/instance_segmentation/__init__.py +1 -1
  225. paddlex/inference/pipelines/instance_segmentation/pipeline.py +17 -6
  226. paddlex/inference/pipelines/keypoint_detection/__init__.py +1 -1
  227. paddlex/inference/pipelines/keypoint_detection/pipeline.py +17 -6
  228. paddlex/inference/pipelines/layout_parsing/__init__.py +1 -1
  229. paddlex/inference/pipelines/layout_parsing/pipeline.py +23 -12
  230. paddlex/inference/pipelines/layout_parsing/pipeline_v2.py +16 -6
  231. paddlex/inference/pipelines/layout_parsing/result.py +5 -4
  232. paddlex/inference/pipelines/layout_parsing/result_v2.py +5 -8
  233. paddlex/inference/pipelines/layout_parsing/utils.py +7 -8
  234. paddlex/inference/pipelines/{3d_bev_detection → m_3d_bev_detection}/__init__.py +1 -1
  235. paddlex/inference/pipelines/{3d_bev_detection → m_3d_bev_detection}/pipeline.py +17 -10
  236. paddlex/inference/pipelines/multilingual_speech_recognition/__init__.py +1 -1
  237. paddlex/inference/pipelines/multilingual_speech_recognition/pipeline.py +17 -6
  238. paddlex/inference/pipelines/object_detection/__init__.py +1 -1
  239. paddlex/inference/pipelines/object_detection/pipeline.py +16 -6
  240. paddlex/inference/pipelines/ocr/__init__.py +1 -1
  241. paddlex/inference/pipelines/ocr/pipeline.py +28 -11
  242. paddlex/inference/pipelines/ocr/result.py +13 -9
  243. paddlex/inference/pipelines/open_vocabulary_detection/__init__.py +1 -1
  244. paddlex/inference/pipelines/open_vocabulary_detection/pipeline.py +17 -6
  245. paddlex/inference/pipelines/open_vocabulary_segmentation/__init__.py +1 -1
  246. paddlex/inference/pipelines/open_vocabulary_segmentation/pipeline.py +17 -6
  247. paddlex/inference/pipelines/pp_chatocr/__init__.py +1 -1
  248. paddlex/inference/pipelines/pp_chatocr/pipeline_base.py +14 -5
  249. paddlex/inference/pipelines/pp_chatocr/pipeline_v3.py +22 -11
  250. paddlex/inference/pipelines/pp_chatocr/pipeline_v4.py +31 -13
  251. paddlex/inference/pipelines/pp_shitu_v2/__init__.py +1 -1
  252. paddlex/inference/pipelines/pp_shitu_v2/pipeline.py +12 -8
  253. paddlex/inference/pipelines/pp_shitu_v2/result.py +4 -4
  254. paddlex/inference/pipelines/rotated_object_detection/__init__.py +1 -1
  255. paddlex/inference/pipelines/rotated_object_detection/pipeline.py +17 -6
  256. paddlex/inference/pipelines/seal_recognition/__init__.py +1 -1
  257. paddlex/inference/pipelines/seal_recognition/pipeline.py +21 -13
  258. paddlex/inference/pipelines/seal_recognition/result.py +4 -2
  259. paddlex/inference/pipelines/semantic_segmentation/__init__.py +1 -1
  260. paddlex/inference/pipelines/semantic_segmentation/pipeline.py +17 -6
  261. paddlex/inference/pipelines/small_object_detection/__init__.py +1 -1
  262. paddlex/inference/pipelines/small_object_detection/pipeline.py +17 -6
  263. paddlex/inference/pipelines/table_recognition/__init__.py +1 -1
  264. paddlex/inference/pipelines/table_recognition/pipeline.py +41 -25
  265. paddlex/inference/pipelines/table_recognition/pipeline_v2.py +65 -33
  266. paddlex/inference/pipelines/table_recognition/result.py +11 -9
  267. paddlex/inference/pipelines/table_recognition/table_recognition_post_processing.py +12 -8
  268. paddlex/inference/pipelines/table_recognition/table_recognition_post_processing_v2.py +46 -32
  269. paddlex/inference/pipelines/table_recognition/utils.py +1 -1
  270. paddlex/inference/pipelines/ts_anomaly_detection/__init__.py +1 -1
  271. paddlex/inference/pipelines/ts_anomaly_detection/pipeline.py +16 -6
  272. paddlex/inference/pipelines/ts_classification/__init__.py +1 -1
  273. paddlex/inference/pipelines/ts_classification/pipeline.py +16 -6
  274. paddlex/inference/pipelines/ts_forecasting/__init__.py +1 -1
  275. paddlex/inference/pipelines/ts_forecasting/pipeline.py +16 -6
  276. paddlex/inference/pipelines/video_classification/__init__.py +1 -1
  277. paddlex/inference/pipelines/video_classification/pipeline.py +17 -6
  278. paddlex/inference/pipelines/video_detection/__init__.py +1 -1
  279. paddlex/inference/pipelines/video_detection/pipeline.py +20 -7
  280. paddlex/inference/serving/__init__.py +5 -1
  281. paddlex/inference/serving/basic_serving/__init__.py +1 -1
  282. paddlex/inference/serving/basic_serving/_app.py +31 -19
  283. paddlex/inference/serving/basic_serving/_pipeline_apps/__init__.py +7 -4
  284. paddlex/inference/serving/basic_serving/_pipeline_apps/_common/__init__.py +1 -1
  285. paddlex/inference/serving/basic_serving/_pipeline_apps/_common/common.py +7 -3
  286. paddlex/inference/serving/basic_serving/_pipeline_apps/_common/image_recognition.py +1 -1
  287. paddlex/inference/serving/basic_serving/_pipeline_apps/_common/ocr.py +7 -2
  288. paddlex/inference/serving/basic_serving/_pipeline_apps/anomaly_detection.py +10 -7
  289. paddlex/inference/serving/basic_serving/_pipeline_apps/doc_preprocessor.py +10 -7
  290. paddlex/inference/serving/basic_serving/_pipeline_apps/doc_understanding.py +153 -0
  291. paddlex/inference/serving/basic_serving/_pipeline_apps/face_recognition.py +16 -13
  292. paddlex/inference/serving/basic_serving/_pipeline_apps/formula_recognition.py +10 -7
  293. paddlex/inference/serving/basic_serving/_pipeline_apps/human_keypoint_detection.py +10 -7
  294. paddlex/inference/serving/basic_serving/_pipeline_apps/image_classification.py +10 -7
  295. paddlex/inference/serving/basic_serving/_pipeline_apps/image_multilabel_classification.py +10 -7
  296. paddlex/inference/serving/basic_serving/_pipeline_apps/instance_segmentation.py +13 -7
  297. paddlex/inference/serving/basic_serving/_pipeline_apps/layout_parsing.py +10 -7
  298. paddlex/inference/serving/basic_serving/_pipeline_apps/m_3d_bev_detection.py +10 -7
  299. paddlex/inference/serving/basic_serving/_pipeline_apps/multilingual_speech_recognition.py +10 -7
  300. paddlex/inference/serving/basic_serving/_pipeline_apps/object_detection.py +10 -7
  301. paddlex/inference/serving/basic_serving/_pipeline_apps/ocr.py +10 -7
  302. paddlex/inference/serving/basic_serving/_pipeline_apps/open_vocabulary_detection.py +10 -7
  303. paddlex/inference/serving/basic_serving/_pipeline_apps/open_vocabulary_segmentation.py +13 -7
  304. paddlex/inference/serving/basic_serving/_pipeline_apps/pedestrian_attribute_recognition.py +10 -7
  305. paddlex/inference/serving/basic_serving/_pipeline_apps/pp_chatocrv3_doc.py +14 -11
  306. paddlex/inference/serving/basic_serving/_pipeline_apps/pp_chatocrv4_doc.py +16 -13
  307. paddlex/inference/serving/basic_serving/_pipeline_apps/pp_shituv2.py +16 -13
  308. paddlex/inference/serving/basic_serving/_pipeline_apps/pp_structurev3.py +10 -7
  309. paddlex/inference/serving/basic_serving/_pipeline_apps/rotated_object_detection.py +10 -7
  310. paddlex/inference/serving/basic_serving/_pipeline_apps/seal_recognition.py +10 -7
  311. paddlex/inference/serving/basic_serving/_pipeline_apps/semantic_segmentation.py +10 -7
  312. paddlex/inference/serving/basic_serving/_pipeline_apps/small_object_detection.py +10 -7
  313. paddlex/inference/serving/basic_serving/_pipeline_apps/table_recognition.py +10 -7
  314. paddlex/inference/serving/basic_serving/_pipeline_apps/table_recognition_v2.py +10 -7
  315. paddlex/inference/serving/basic_serving/_pipeline_apps/ts_anomaly_detection.py +10 -7
  316. paddlex/inference/serving/basic_serving/_pipeline_apps/ts_classification.py +10 -7
  317. paddlex/inference/serving/basic_serving/_pipeline_apps/ts_forecast.py +10 -7
  318. paddlex/inference/serving/basic_serving/_pipeline_apps/vehicle_attribute_recognition.py +10 -7
  319. paddlex/inference/serving/basic_serving/_pipeline_apps/video_classification.py +10 -7
  320. paddlex/inference/serving/basic_serving/_pipeline_apps/video_detection.py +10 -7
  321. paddlex/inference/serving/basic_serving/_server.py +9 -4
  322. paddlex/inference/serving/infra/__init__.py +1 -1
  323. paddlex/inference/serving/infra/config.py +1 -1
  324. paddlex/inference/serving/infra/models.py +13 -6
  325. paddlex/inference/serving/infra/storage.py +9 -4
  326. paddlex/inference/serving/infra/utils.py +37 -9
  327. paddlex/inference/serving/schemas/__init__.py +1 -1
  328. paddlex/inference/serving/schemas/anomaly_detection.py +1 -1
  329. paddlex/inference/serving/schemas/doc_preprocessor.py +1 -1
  330. paddlex/inference/serving/schemas/doc_understanding.py +78 -0
  331. paddlex/inference/serving/schemas/face_recognition.py +1 -1
  332. paddlex/inference/serving/schemas/formula_recognition.py +1 -1
  333. paddlex/inference/serving/schemas/human_keypoint_detection.py +1 -1
  334. paddlex/inference/serving/schemas/image_classification.py +1 -1
  335. paddlex/inference/serving/schemas/image_multilabel_classification.py +1 -1
  336. paddlex/inference/serving/schemas/instance_segmentation.py +1 -1
  337. paddlex/inference/serving/schemas/layout_parsing.py +1 -1
  338. paddlex/inference/serving/schemas/m_3d_bev_detection.py +1 -1
  339. paddlex/inference/serving/schemas/multilingual_speech_recognition.py +1 -1
  340. paddlex/inference/serving/schemas/object_detection.py +1 -1
  341. paddlex/inference/serving/schemas/ocr.py +1 -1
  342. paddlex/inference/serving/schemas/open_vocabulary_detection.py +1 -1
  343. paddlex/inference/serving/schemas/open_vocabulary_segmentation.py +1 -1
  344. paddlex/inference/serving/schemas/pedestrian_attribute_recognition.py +1 -1
  345. paddlex/inference/serving/schemas/pp_chatocrv3_doc.py +1 -1
  346. paddlex/inference/serving/schemas/pp_chatocrv4_doc.py +1 -1
  347. paddlex/inference/serving/schemas/pp_shituv2.py +1 -1
  348. paddlex/inference/serving/schemas/pp_structurev3.py +1 -1
  349. paddlex/inference/serving/schemas/rotated_object_detection.py +1 -1
  350. paddlex/inference/serving/schemas/seal_recognition.py +1 -1
  351. paddlex/inference/serving/schemas/semantic_segmentation.py +1 -1
  352. paddlex/inference/serving/schemas/shared/__init__.py +1 -1
  353. paddlex/inference/serving/schemas/shared/classification.py +1 -1
  354. paddlex/inference/serving/schemas/shared/image_segmentation.py +1 -1
  355. paddlex/inference/serving/schemas/shared/object_detection.py +1 -1
  356. paddlex/inference/serving/schemas/shared/ocr.py +1 -1
  357. paddlex/inference/serving/schemas/small_object_detection.py +1 -1
  358. paddlex/inference/serving/schemas/table_recognition.py +1 -1
  359. paddlex/inference/serving/schemas/table_recognition_v2.py +1 -1
  360. paddlex/inference/serving/schemas/ts_anomaly_detection.py +1 -1
  361. paddlex/inference/serving/schemas/ts_classification.py +1 -1
  362. paddlex/inference/serving/schemas/ts_forecast.py +1 -1
  363. paddlex/inference/serving/schemas/vehicle_attribute_recognition.py +1 -1
  364. paddlex/inference/serving/schemas/video_classification.py +1 -1
  365. paddlex/inference/serving/schemas/video_detection.py +1 -1
  366. paddlex/inference/utils/__init__.py +1 -1
  367. paddlex/inference/utils/benchmark.py +332 -179
  368. paddlex/inference/utils/color_map.py +1 -1
  369. paddlex/inference/utils/get_pipeline_path.py +1 -1
  370. paddlex/inference/utils/hpi.py +251 -0
  371. paddlex/inference/utils/hpi_model_info_collection.json +2252 -0
  372. paddlex/inference/utils/io/__init__.py +11 -11
  373. paddlex/inference/utils/io/readers.py +22 -18
  374. paddlex/inference/utils/io/style.py +21 -14
  375. paddlex/inference/utils/io/tablepyxl.py +13 -5
  376. paddlex/inference/utils/io/writers.py +9 -10
  377. paddlex/inference/utils/model_paths.py +48 -0
  378. paddlex/inference/utils/{new_ir_blacklist.py → new_ir_blocklist.py} +1 -2
  379. paddlex/inference/utils/official_models.py +264 -262
  380. paddlex/inference/utils/pp_option.py +164 -93
  381. paddlex/inference/utils/trt_blocklist.py +43 -0
  382. paddlex/inference/utils/trt_config.py +420 -0
  383. paddlex/model.py +28 -10
  384. paddlex/modules/__init__.py +57 -80
  385. paddlex/modules/anomaly_detection/__init__.py +2 -2
  386. paddlex/modules/anomaly_detection/dataset_checker/__init__.py +2 -3
  387. paddlex/modules/anomaly_detection/dataset_checker/dataset_src/__init__.py +2 -2
  388. paddlex/modules/anomaly_detection/dataset_checker/dataset_src/analyse_dataset.py +6 -3
  389. paddlex/modules/anomaly_detection/dataset_checker/dataset_src/check_dataset.py +8 -4
  390. paddlex/modules/anomaly_detection/dataset_checker/dataset_src/convert_dataset.py +7 -4
  391. paddlex/modules/anomaly_detection/dataset_checker/dataset_src/split_dataset.py +2 -2
  392. paddlex/modules/anomaly_detection/dataset_checker/dataset_src/utils/__init__.py +1 -1
  393. paddlex/modules/anomaly_detection/dataset_checker/dataset_src/utils/visualizer.py +7 -2
  394. paddlex/modules/anomaly_detection/evaluator.py +1 -1
  395. paddlex/modules/anomaly_detection/exportor.py +1 -1
  396. paddlex/modules/anomaly_detection/model_list.py +1 -1
  397. paddlex/modules/anomaly_detection/trainer.py +3 -4
  398. paddlex/modules/base/__init__.py +5 -5
  399. paddlex/modules/base/build_model.py +1 -2
  400. paddlex/modules/base/dataset_checker/__init__.py +2 -2
  401. paddlex/modules/base/dataset_checker/dataset_checker.py +4 -4
  402. paddlex/modules/base/dataset_checker/utils.py +1 -3
  403. paddlex/modules/base/evaluator.py +8 -8
  404. paddlex/modules/base/exportor.py +12 -13
  405. paddlex/modules/base/trainer.py +21 -11
  406. paddlex/modules/base/utils/__init__.py +13 -0
  407. paddlex/modules/base/utils/cinn_setting.py +89 -0
  408. paddlex/modules/base/utils/coco_eval.py +94 -0
  409. paddlex/modules/base/utils/topk_eval.py +118 -0
  410. paddlex/modules/doc_vlm/__init__.py +18 -0
  411. paddlex/modules/doc_vlm/dataset_checker.py +29 -0
  412. paddlex/modules/doc_vlm/evaluator.py +29 -0
  413. paddlex/modules/doc_vlm/exportor.py +29 -0
  414. paddlex/modules/doc_vlm/model_list.py +16 -0
  415. paddlex/modules/doc_vlm/trainer.py +41 -0
  416. paddlex/modules/face_recognition/__init__.py +2 -2
  417. paddlex/modules/face_recognition/dataset_checker/__init__.py +2 -2
  418. paddlex/modules/face_recognition/dataset_checker/dataset_src/__init__.py +1 -1
  419. paddlex/modules/face_recognition/dataset_checker/dataset_src/check_dataset.py +3 -5
  420. paddlex/modules/face_recognition/dataset_checker/dataset_src/utils/__init__.py +1 -1
  421. paddlex/modules/face_recognition/dataset_checker/dataset_src/utils/visualizer.py +2 -5
  422. paddlex/modules/face_recognition/evaluator.py +1 -1
  423. paddlex/modules/face_recognition/exportor.py +1 -1
  424. paddlex/modules/face_recognition/model_list.py +1 -1
  425. paddlex/modules/face_recognition/trainer.py +1 -1
  426. paddlex/modules/formula_recognition/__init__.py +2 -2
  427. paddlex/modules/formula_recognition/dataset_checker/__init__.py +3 -3
  428. paddlex/modules/formula_recognition/dataset_checker/dataset_src/__init__.py +2 -2
  429. paddlex/modules/formula_recognition/dataset_checker/dataset_src/analyse_dataset.py +13 -12
  430. paddlex/modules/formula_recognition/dataset_checker/dataset_src/check_dataset.py +2 -6
  431. paddlex/modules/formula_recognition/dataset_checker/dataset_src/convert_dataset.py +11 -10
  432. paddlex/modules/formula_recognition/dataset_checker/dataset_src/split_dataset.py +1 -2
  433. paddlex/modules/formula_recognition/evaluator.py +1 -1
  434. paddlex/modules/formula_recognition/exportor.py +1 -1
  435. paddlex/modules/formula_recognition/model_list.py +1 -1
  436. paddlex/modules/formula_recognition/trainer.py +2 -3
  437. paddlex/modules/general_recognition/__init__.py +2 -2
  438. paddlex/modules/general_recognition/dataset_checker/__init__.py +2 -2
  439. paddlex/modules/general_recognition/dataset_checker/dataset_src/__init__.py +2 -2
  440. paddlex/modules/general_recognition/dataset_checker/dataset_src/analyse_dataset.py +7 -9
  441. paddlex/modules/general_recognition/dataset_checker/dataset_src/check_dataset.py +4 -5
  442. paddlex/modules/general_recognition/dataset_checker/dataset_src/convert_dataset.py +6 -5
  443. paddlex/modules/general_recognition/dataset_checker/dataset_src/split_dataset.py +1 -1
  444. paddlex/modules/general_recognition/dataset_checker/dataset_src/utils/__init__.py +1 -1
  445. paddlex/modules/general_recognition/dataset_checker/dataset_src/utils/visualizer.py +2 -5
  446. paddlex/modules/general_recognition/evaluator.py +1 -1
  447. paddlex/modules/general_recognition/exportor.py +1 -1
  448. paddlex/modules/general_recognition/model_list.py +1 -1
  449. paddlex/modules/general_recognition/trainer.py +1 -1
  450. paddlex/modules/image_classification/__init__.py +2 -2
  451. paddlex/modules/image_classification/dataset_checker/__init__.py +2 -2
  452. paddlex/modules/image_classification/dataset_checker/dataset_src/__init__.py +2 -2
  453. paddlex/modules/image_classification/dataset_checker/dataset_src/analyse_dataset.py +8 -9
  454. paddlex/modules/image_classification/dataset_checker/dataset_src/check_dataset.py +4 -3
  455. paddlex/modules/image_classification/dataset_checker/dataset_src/convert_dataset.py +4 -4
  456. paddlex/modules/image_classification/dataset_checker/dataset_src/split_dataset.py +1 -1
  457. paddlex/modules/image_classification/dataset_checker/dataset_src/utils/__init__.py +1 -1
  458. paddlex/modules/image_classification/dataset_checker/dataset_src/utils/visualizer.py +2 -5
  459. paddlex/modules/image_classification/evaluator.py +1 -1
  460. paddlex/modules/image_classification/exportor.py +1 -1
  461. paddlex/modules/image_classification/model_list.py +1 -1
  462. paddlex/modules/image_classification/trainer.py +3 -3
  463. paddlex/modules/image_unwarping/__init__.py +1 -1
  464. paddlex/modules/image_unwarping/model_list.py +1 -1
  465. paddlex/modules/instance_segmentation/__init__.py +2 -2
  466. paddlex/modules/instance_segmentation/dataset_checker/__init__.py +2 -3
  467. paddlex/modules/instance_segmentation/dataset_checker/dataset_src/__init__.py +2 -2
  468. paddlex/modules/instance_segmentation/dataset_checker/dataset_src/analyse_dataset.py +9 -5
  469. paddlex/modules/instance_segmentation/dataset_checker/dataset_src/check_dataset.py +8 -5
  470. paddlex/modules/instance_segmentation/dataset_checker/dataset_src/convert_dataset.py +8 -8
  471. paddlex/modules/instance_segmentation/dataset_checker/dataset_src/split_dataset.py +7 -4
  472. paddlex/modules/instance_segmentation/dataset_checker/dataset_src/utils/__init__.py +1 -1
  473. paddlex/modules/instance_segmentation/dataset_checker/dataset_src/utils/visualizer.py +10 -8
  474. paddlex/modules/instance_segmentation/evaluator.py +1 -1
  475. paddlex/modules/instance_segmentation/exportor.py +1 -1
  476. paddlex/modules/instance_segmentation/model_list.py +1 -1
  477. paddlex/modules/instance_segmentation/trainer.py +1 -1
  478. paddlex/modules/keypoint_detection/__init__.py +2 -2
  479. paddlex/modules/keypoint_detection/dataset_checker/__init__.py +2 -2
  480. paddlex/modules/keypoint_detection/dataset_checker/dataset_src/__init__.py +1 -1
  481. paddlex/modules/keypoint_detection/dataset_checker/dataset_src/check_dataset.py +10 -5
  482. paddlex/modules/keypoint_detection/dataset_checker/dataset_src/utils/__init__.py +1 -1
  483. paddlex/modules/keypoint_detection/dataset_checker/dataset_src/utils/visualizer.py +8 -3
  484. paddlex/modules/keypoint_detection/evaluator.py +1 -1
  485. paddlex/modules/keypoint_detection/exportor.py +1 -1
  486. paddlex/modules/keypoint_detection/model_list.py +1 -1
  487. paddlex/modules/keypoint_detection/trainer.py +2 -2
  488. paddlex/modules/{3d_bev_detection → m_3d_bev_detection}/__init__.py +2 -2
  489. paddlex/modules/{3d_bev_detection → m_3d_bev_detection}/dataset_checker/__init__.py +3 -3
  490. paddlex/modules/{3d_bev_detection → m_3d_bev_detection}/dataset_checker/dataset_src/__init__.py +2 -2
  491. paddlex/modules/{3d_bev_detection → m_3d_bev_detection}/dataset_checker/dataset_src/analyse_dataset.py +8 -8
  492. paddlex/modules/{3d_bev_detection → m_3d_bev_detection}/dataset_checker/dataset_src/check_dataset.py +1 -2
  493. paddlex/modules/{3d_bev_detection → m_3d_bev_detection}/evaluator.py +1 -1
  494. paddlex/modules/{3d_bev_detection → m_3d_bev_detection}/exportor.py +1 -1
  495. paddlex/modules/{3d_bev_detection → m_3d_bev_detection}/model_list.py +1 -1
  496. paddlex/modules/{3d_bev_detection → m_3d_bev_detection}/trainer.py +5 -7
  497. paddlex/modules/multilabel_classification/__init__.py +2 -2
  498. paddlex/modules/multilabel_classification/dataset_checker/__init__.py +2 -2
  499. paddlex/modules/multilabel_classification/dataset_checker/dataset_src/__init__.py +2 -2
  500. paddlex/modules/multilabel_classification/dataset_checker/dataset_src/analyse_dataset.py +8 -9
  501. paddlex/modules/multilabel_classification/dataset_checker/dataset_src/check_dataset.py +4 -3
  502. paddlex/modules/multilabel_classification/dataset_checker/dataset_src/convert_dataset.py +10 -7
  503. paddlex/modules/multilabel_classification/dataset_checker/dataset_src/split_dataset.py +1 -1
  504. paddlex/modules/multilabel_classification/dataset_checker/dataset_src/utils/__init__.py +1 -1
  505. paddlex/modules/multilabel_classification/dataset_checker/dataset_src/utils/visualizer.py +1 -5
  506. paddlex/modules/multilabel_classification/evaluator.py +1 -1
  507. paddlex/modules/multilabel_classification/exportor.py +1 -1
  508. paddlex/modules/multilabel_classification/model_list.py +1 -1
  509. paddlex/modules/multilabel_classification/trainer.py +3 -3
  510. paddlex/modules/multilingual_speech_recognition/__init__.py +2 -2
  511. paddlex/modules/multilingual_speech_recognition/dataset_checker.py +3 -3
  512. paddlex/modules/multilingual_speech_recognition/evaluator.py +3 -3
  513. paddlex/modules/multilingual_speech_recognition/exportor.py +3 -3
  514. paddlex/modules/multilingual_speech_recognition/model_list.py +1 -1
  515. paddlex/modules/multilingual_speech_recognition/trainer.py +7 -5
  516. paddlex/modules/object_detection/__init__.py +2 -2
  517. paddlex/modules/object_detection/dataset_checker/__init__.py +2 -11
  518. paddlex/modules/object_detection/dataset_checker/dataset_src/__init__.py +2 -2
  519. paddlex/modules/object_detection/dataset_checker/dataset_src/analyse_dataset.py +10 -8
  520. paddlex/modules/object_detection/dataset_checker/dataset_src/check_dataset.py +10 -5
  521. paddlex/modules/object_detection/dataset_checker/dataset_src/convert_dataset.py +13 -8
  522. paddlex/modules/object_detection/dataset_checker/dataset_src/split_dataset.py +8 -4
  523. paddlex/modules/object_detection/dataset_checker/dataset_src/utils/__init__.py +1 -1
  524. paddlex/modules/object_detection/dataset_checker/dataset_src/utils/visualizer.py +9 -8
  525. paddlex/modules/object_detection/evaluator.py +9 -4
  526. paddlex/modules/object_detection/exportor.py +1 -1
  527. paddlex/modules/object_detection/model_list.py +1 -1
  528. paddlex/modules/object_detection/trainer.py +4 -5
  529. paddlex/modules/open_vocabulary_detection/__init__.py +2 -2
  530. paddlex/modules/open_vocabulary_detection/dataset_checker.py +3 -3
  531. paddlex/modules/open_vocabulary_detection/evaluator.py +3 -3
  532. paddlex/modules/open_vocabulary_detection/exportor.py +3 -3
  533. paddlex/modules/open_vocabulary_detection/model_list.py +2 -4
  534. paddlex/modules/open_vocabulary_detection/trainer.py +7 -5
  535. paddlex/modules/open_vocabulary_segmentation/__init__.py +2 -2
  536. paddlex/modules/open_vocabulary_segmentation/dataset_checker.py +3 -3
  537. paddlex/modules/open_vocabulary_segmentation/evaluator.py +3 -3
  538. paddlex/modules/open_vocabulary_segmentation/exportor.py +3 -3
  539. paddlex/modules/open_vocabulary_segmentation/model_list.py +1 -1
  540. paddlex/modules/open_vocabulary_segmentation/trainer.py +7 -5
  541. paddlex/modules/semantic_segmentation/__init__.py +2 -2
  542. paddlex/modules/semantic_segmentation/dataset_checker/__init__.py +2 -3
  543. paddlex/modules/semantic_segmentation/dataset_checker/dataset_src/__init__.py +2 -2
  544. paddlex/modules/semantic_segmentation/dataset_checker/dataset_src/analyse_dataset.py +6 -3
  545. paddlex/modules/semantic_segmentation/dataset_checker/dataset_src/check_dataset.py +2 -2
  546. paddlex/modules/semantic_segmentation/dataset_checker/dataset_src/convert_dataset.py +7 -4
  547. paddlex/modules/semantic_segmentation/dataset_checker/dataset_src/split_dataset.py +2 -2
  548. paddlex/modules/semantic_segmentation/dataset_checker/dataset_src/utils/__init__.py +1 -1
  549. paddlex/modules/semantic_segmentation/dataset_checker/dataset_src/utils/visualizer.py +6 -2
  550. paddlex/modules/semantic_segmentation/evaluator.py +1 -1
  551. paddlex/modules/semantic_segmentation/exportor.py +1 -1
  552. paddlex/modules/semantic_segmentation/model_list.py +1 -1
  553. paddlex/modules/semantic_segmentation/trainer.py +3 -4
  554. paddlex/modules/table_recognition/__init__.py +2 -2
  555. paddlex/modules/table_recognition/dataset_checker/__init__.py +5 -5
  556. paddlex/modules/table_recognition/dataset_checker/dataset_src/__init__.py +2 -2
  557. paddlex/modules/table_recognition/dataset_checker/dataset_src/analyse_dataset.py +3 -2
  558. paddlex/modules/table_recognition/dataset_checker/dataset_src/check_dataset.py +8 -7
  559. paddlex/modules/table_recognition/dataset_checker/dataset_src/split_dataset.py +2 -1
  560. paddlex/modules/table_recognition/evaluator.py +1 -1
  561. paddlex/modules/table_recognition/exportor.py +1 -1
  562. paddlex/modules/table_recognition/model_list.py +1 -1
  563. paddlex/modules/table_recognition/trainer.py +2 -5
  564. paddlex/modules/text_detection/__init__.py +2 -2
  565. paddlex/modules/text_detection/dataset_checker/__init__.py +4 -6
  566. paddlex/modules/text_detection/dataset_checker/dataset_src/__init__.py +2 -2
  567. paddlex/modules/text_detection/dataset_checker/dataset_src/analyse_dataset.py +12 -9
  568. paddlex/modules/text_detection/dataset_checker/dataset_src/check_dataset.py +3 -3
  569. paddlex/modules/text_detection/dataset_checker/dataset_src/split_dataset.py +3 -3
  570. paddlex/modules/text_detection/evaluator.py +1 -1
  571. paddlex/modules/text_detection/exportor.py +1 -1
  572. paddlex/modules/text_detection/model_list.py +1 -1
  573. paddlex/modules/text_detection/trainer.py +2 -5
  574. paddlex/modules/text_recognition/__init__.py +2 -2
  575. paddlex/modules/text_recognition/dataset_checker/__init__.py +4 -5
  576. paddlex/modules/text_recognition/dataset_checker/dataset_src/__init__.py +2 -2
  577. paddlex/modules/text_recognition/dataset_checker/dataset_src/analyse_dataset.py +13 -12
  578. paddlex/modules/text_recognition/dataset_checker/dataset_src/check_dataset.py +2 -5
  579. paddlex/modules/text_recognition/dataset_checker/dataset_src/convert_dataset.py +11 -10
  580. paddlex/modules/text_recognition/dataset_checker/dataset_src/split_dataset.py +1 -2
  581. paddlex/modules/text_recognition/evaluator.py +1 -1
  582. paddlex/modules/text_recognition/exportor.py +1 -1
  583. paddlex/modules/text_recognition/model_list.py +1 -1
  584. paddlex/modules/text_recognition/trainer.py +2 -3
  585. paddlex/modules/ts_anomaly_detection/__init__.py +2 -2
  586. paddlex/modules/ts_anomaly_detection/dataset_checker/__init__.py +4 -5
  587. paddlex/modules/ts_anomaly_detection/dataset_checker/dataset_src/__init__.py +2 -2
  588. paddlex/modules/ts_anomaly_detection/dataset_checker/dataset_src/analyse_dataset.py +1 -9
  589. paddlex/modules/ts_anomaly_detection/dataset_checker/dataset_src/check_dataset.py +2 -2
  590. paddlex/modules/ts_anomaly_detection/dataset_checker/dataset_src/convert_dataset.py +2 -6
  591. paddlex/modules/ts_anomaly_detection/dataset_checker/dataset_src/split_dataset.py +4 -4
  592. paddlex/modules/ts_anomaly_detection/evaluator.py +1 -1
  593. paddlex/modules/ts_anomaly_detection/exportor.py +2 -3
  594. paddlex/modules/ts_anomaly_detection/model_list.py +1 -1
  595. paddlex/modules/ts_anomaly_detection/trainer.py +8 -8
  596. paddlex/modules/ts_classification/__init__.py +2 -2
  597. paddlex/modules/ts_classification/dataset_checker/__init__.py +4 -5
  598. paddlex/modules/ts_classification/dataset_checker/dataset_src/__init__.py +2 -2
  599. paddlex/modules/ts_classification/dataset_checker/dataset_src/analyse_dataset.py +8 -5
  600. paddlex/modules/ts_classification/dataset_checker/dataset_src/check_dataset.py +2 -2
  601. paddlex/modules/ts_classification/dataset_checker/dataset_src/convert_dataset.py +2 -6
  602. paddlex/modules/ts_classification/dataset_checker/dataset_src/split_dataset.py +4 -4
  603. paddlex/modules/ts_classification/evaluator.py +1 -1
  604. paddlex/modules/ts_classification/exportor.py +2 -3
  605. paddlex/modules/ts_classification/model_list.py +1 -1
  606. paddlex/modules/ts_classification/trainer.py +7 -7
  607. paddlex/modules/ts_forecast/__init__.py +2 -2
  608. paddlex/modules/ts_forecast/dataset_checker/__init__.py +4 -5
  609. paddlex/modules/ts_forecast/dataset_checker/dataset_src/__init__.py +2 -2
  610. paddlex/modules/ts_forecast/dataset_checker/dataset_src/analyse_dataset.py +1 -9
  611. paddlex/modules/ts_forecast/dataset_checker/dataset_src/check_dataset.py +2 -2
  612. paddlex/modules/ts_forecast/dataset_checker/dataset_src/convert_dataset.py +2 -6
  613. paddlex/modules/ts_forecast/dataset_checker/dataset_src/split_dataset.py +4 -4
  614. paddlex/modules/ts_forecast/evaluator.py +1 -1
  615. paddlex/modules/ts_forecast/exportor.py +2 -3
  616. paddlex/modules/ts_forecast/model_list.py +1 -1
  617. paddlex/modules/ts_forecast/trainer.py +7 -7
  618. paddlex/modules/video_classification/__init__.py +2 -2
  619. paddlex/modules/video_classification/dataset_checker/__init__.py +2 -2
  620. paddlex/modules/video_classification/dataset_checker/dataset_src/__init__.py +2 -2
  621. paddlex/modules/video_classification/dataset_checker/dataset_src/analyse_dataset.py +9 -9
  622. paddlex/modules/video_classification/dataset_checker/dataset_src/check_dataset.py +2 -3
  623. paddlex/modules/video_classification/dataset_checker/dataset_src/split_dataset.py +1 -1
  624. paddlex/modules/video_classification/evaluator.py +1 -1
  625. paddlex/modules/video_classification/exportor.py +1 -1
  626. paddlex/modules/video_classification/model_list.py +1 -1
  627. paddlex/modules/video_classification/trainer.py +3 -3
  628. paddlex/modules/video_detection/__init__.py +2 -2
  629. paddlex/modules/video_detection/dataset_checker/__init__.py +2 -2
  630. paddlex/modules/video_detection/dataset_checker/dataset_src/__init__.py +2 -2
  631. paddlex/modules/video_detection/dataset_checker/dataset_src/analyse_dataset.py +8 -9
  632. paddlex/modules/video_detection/dataset_checker/dataset_src/check_dataset.py +3 -5
  633. paddlex/modules/video_detection/evaluator.py +1 -1
  634. paddlex/modules/video_detection/exportor.py +1 -1
  635. paddlex/modules/video_detection/model_list.py +1 -1
  636. paddlex/modules/video_detection/trainer.py +3 -3
  637. paddlex/ops/__init__.py +5 -2
  638. paddlex/ops/iou3d_nms/iou3d_cpu.cpp +8 -6
  639. paddlex/ops/iou3d_nms/iou3d_cpu.h +3 -2
  640. paddlex/ops/iou3d_nms/iou3d_nms.cpp +8 -6
  641. paddlex/ops/iou3d_nms/iou3d_nms.h +6 -4
  642. paddlex/ops/iou3d_nms/iou3d_nms_api.cpp +24 -18
  643. paddlex/ops/iou3d_nms/iou3d_nms_kernel.cu +9 -7
  644. paddlex/ops/setup.py +3 -3
  645. paddlex/ops/voxel/voxelize_op.cc +22 -19
  646. paddlex/ops/voxel/voxelize_op.cu +25 -25
  647. paddlex/paddlex_cli.py +86 -75
  648. paddlex/repo_apis/Paddle3D_api/__init__.py +1 -1
  649. paddlex/repo_apis/Paddle3D_api/bev_fusion/__init__.py +1 -1
  650. paddlex/repo_apis/Paddle3D_api/bev_fusion/config.py +1 -1
  651. paddlex/repo_apis/Paddle3D_api/bev_fusion/model.py +4 -4
  652. paddlex/repo_apis/Paddle3D_api/bev_fusion/register.py +2 -2
  653. paddlex/repo_apis/Paddle3D_api/bev_fusion/runner.py +1 -1
  654. paddlex/repo_apis/Paddle3D_api/pp3d_config.py +3 -2
  655. paddlex/repo_apis/PaddleClas_api/__init__.py +1 -1
  656. paddlex/repo_apis/PaddleClas_api/cls/__init__.py +3 -3
  657. paddlex/repo_apis/PaddleClas_api/cls/config.py +4 -3
  658. paddlex/repo_apis/PaddleClas_api/cls/model.py +3 -3
  659. paddlex/repo_apis/PaddleClas_api/cls/register.py +2 -3
  660. paddlex/repo_apis/PaddleClas_api/cls/runner.py +1 -2
  661. paddlex/repo_apis/PaddleClas_api/shitu_rec/__init__.py +2 -2
  662. paddlex/repo_apis/PaddleClas_api/shitu_rec/config.py +2 -2
  663. paddlex/repo_apis/PaddleClas_api/shitu_rec/model.py +1 -4
  664. paddlex/repo_apis/PaddleClas_api/shitu_rec/register.py +2 -2
  665. paddlex/repo_apis/PaddleClas_api/shitu_rec/runner.py +1 -6
  666. paddlex/repo_apis/PaddleDetection_api/__init__.py +2 -2
  667. paddlex/repo_apis/PaddleDetection_api/config_helper.py +3 -3
  668. paddlex/repo_apis/PaddleDetection_api/instance_seg/__init__.py +2 -2
  669. paddlex/repo_apis/PaddleDetection_api/instance_seg/config.py +2 -3
  670. paddlex/repo_apis/PaddleDetection_api/instance_seg/model.py +3 -3
  671. paddlex/repo_apis/PaddleDetection_api/instance_seg/register.py +2 -3
  672. paddlex/repo_apis/PaddleDetection_api/instance_seg/runner.py +1 -2
  673. paddlex/repo_apis/PaddleDetection_api/object_det/__init__.py +3 -3
  674. paddlex/repo_apis/PaddleDetection_api/object_det/config.py +4 -3
  675. paddlex/repo_apis/PaddleDetection_api/object_det/model.py +5 -6
  676. paddlex/repo_apis/PaddleDetection_api/object_det/official_categories.py +1 -1
  677. paddlex/repo_apis/PaddleDetection_api/object_det/register.py +2 -3
  678. paddlex/repo_apis/PaddleDetection_api/object_det/runner.py +1 -2
  679. paddlex/repo_apis/PaddleNLP_api/__init__.py +1 -1
  680. paddlex/repo_apis/PaddleOCR_api/__init__.py +4 -3
  681. paddlex/repo_apis/PaddleOCR_api/config_utils.py +1 -1
  682. paddlex/repo_apis/PaddleOCR_api/formula_rec/__init__.py +1 -1
  683. paddlex/repo_apis/PaddleOCR_api/formula_rec/config.py +4 -3
  684. paddlex/repo_apis/PaddleOCR_api/formula_rec/model.py +4 -4
  685. paddlex/repo_apis/PaddleOCR_api/formula_rec/register.py +2 -3
  686. paddlex/repo_apis/PaddleOCR_api/formula_rec/runner.py +1 -2
  687. paddlex/repo_apis/PaddleOCR_api/table_rec/__init__.py +1 -1
  688. paddlex/repo_apis/PaddleOCR_api/table_rec/config.py +1 -1
  689. paddlex/repo_apis/PaddleOCR_api/table_rec/model.py +3 -3
  690. paddlex/repo_apis/PaddleOCR_api/table_rec/register.py +2 -3
  691. paddlex/repo_apis/PaddleOCR_api/table_rec/runner.py +2 -2
  692. paddlex/repo_apis/PaddleOCR_api/text_det/__init__.py +1 -1
  693. paddlex/repo_apis/PaddleOCR_api/text_det/config.py +1 -1
  694. paddlex/repo_apis/PaddleOCR_api/text_det/model.py +3 -3
  695. paddlex/repo_apis/PaddleOCR_api/text_det/register.py +2 -3
  696. paddlex/repo_apis/PaddleOCR_api/text_det/runner.py +2 -2
  697. paddlex/repo_apis/PaddleOCR_api/text_rec/__init__.py +1 -1
  698. paddlex/repo_apis/PaddleOCR_api/text_rec/config.py +4 -3
  699. paddlex/repo_apis/PaddleOCR_api/text_rec/model.py +4 -4
  700. paddlex/repo_apis/PaddleOCR_api/text_rec/register.py +2 -3
  701. paddlex/repo_apis/PaddleOCR_api/text_rec/runner.py +1 -2
  702. paddlex/repo_apis/PaddleSeg_api/__init__.py +1 -1
  703. paddlex/repo_apis/PaddleSeg_api/base_seg_config.py +2 -2
  704. paddlex/repo_apis/PaddleSeg_api/seg/__init__.py +1 -1
  705. paddlex/repo_apis/PaddleSeg_api/seg/config.py +3 -6
  706. paddlex/repo_apis/PaddleSeg_api/seg/model.py +5 -5
  707. paddlex/repo_apis/PaddleSeg_api/seg/register.py +2 -3
  708. paddlex/repo_apis/PaddleSeg_api/seg/runner.py +1 -2
  709. paddlex/repo_apis/PaddleTS_api/__init__.py +4 -3
  710. paddlex/repo_apis/PaddleTS_api/ts_ad/__init__.py +1 -1
  711. paddlex/repo_apis/PaddleTS_api/ts_ad/config.py +2 -3
  712. paddlex/repo_apis/PaddleTS_api/ts_ad/register.py +2 -2
  713. paddlex/repo_apis/PaddleTS_api/ts_ad/runner.py +2 -2
  714. paddlex/repo_apis/PaddleTS_api/ts_base/__init__.py +1 -1
  715. paddlex/repo_apis/PaddleTS_api/ts_base/config.py +2 -4
  716. paddlex/repo_apis/PaddleTS_api/ts_base/model.py +4 -4
  717. paddlex/repo_apis/PaddleTS_api/ts_base/runner.py +2 -2
  718. paddlex/repo_apis/PaddleTS_api/ts_cls/__init__.py +1 -1
  719. paddlex/repo_apis/PaddleTS_api/ts_cls/config.py +2 -3
  720. paddlex/repo_apis/PaddleTS_api/ts_cls/register.py +2 -2
  721. paddlex/repo_apis/PaddleTS_api/ts_cls/runner.py +2 -2
  722. paddlex/repo_apis/PaddleTS_api/ts_fc/__init__.py +1 -1
  723. paddlex/repo_apis/PaddleTS_api/ts_fc/config.py +2 -3
  724. paddlex/repo_apis/PaddleTS_api/ts_fc/register.py +1 -1
  725. paddlex/repo_apis/PaddleVideo_api/__init__.py +1 -1
  726. paddlex/repo_apis/PaddleVideo_api/config_utils.py +1 -1
  727. paddlex/repo_apis/PaddleVideo_api/video_cls/__init__.py +3 -3
  728. paddlex/repo_apis/PaddleVideo_api/video_cls/config.py +4 -3
  729. paddlex/repo_apis/PaddleVideo_api/video_cls/model.py +3 -3
  730. paddlex/repo_apis/PaddleVideo_api/video_cls/register.py +2 -3
  731. paddlex/repo_apis/PaddleVideo_api/video_cls/runner.py +1 -2
  732. paddlex/repo_apis/PaddleVideo_api/video_det/__init__.py +3 -3
  733. paddlex/repo_apis/PaddleVideo_api/video_det/config.py +4 -3
  734. paddlex/repo_apis/PaddleVideo_api/video_det/model.py +4 -4
  735. paddlex/repo_apis/PaddleVideo_api/video_det/register.py +2 -3
  736. paddlex/repo_apis/PaddleVideo_api/video_det/runner.py +1 -2
  737. paddlex/repo_apis/__init__.py +1 -1
  738. paddlex/repo_apis/base/__init__.py +4 -5
  739. paddlex/repo_apis/base/config.py +2 -3
  740. paddlex/repo_apis/base/model.py +11 -19
  741. paddlex/repo_apis/base/register.py +1 -1
  742. paddlex/repo_apis/base/runner.py +11 -12
  743. paddlex/repo_apis/base/utils/__init__.py +1 -1
  744. paddlex/repo_apis/base/utils/arg.py +1 -1
  745. paddlex/repo_apis/base/utils/subprocess.py +1 -1
  746. paddlex/repo_manager/__init__.py +2 -9
  747. paddlex/repo_manager/core.py +9 -27
  748. paddlex/repo_manager/meta.py +37 -31
  749. paddlex/repo_manager/repo.py +169 -160
  750. paddlex/repo_manager/utils.py +13 -224
  751. paddlex/utils/__init__.py +1 -1
  752. paddlex/utils/cache.py +8 -10
  753. paddlex/utils/config.py +6 -5
  754. paddlex/utils/{custom_device_whitelist.py → custom_device_list.py} +29 -199
  755. paddlex/utils/deps.py +249 -0
  756. paddlex/utils/device.py +73 -29
  757. paddlex/utils/download.py +4 -4
  758. paddlex/utils/env.py +33 -7
  759. paddlex/utils/errors/__init__.py +1 -1
  760. paddlex/utils/errors/dataset_checker.py +1 -1
  761. paddlex/utils/errors/others.py +2 -16
  762. paddlex/utils/file_interface.py +4 -5
  763. paddlex/utils/flags.py +19 -12
  764. paddlex/utils/fonts/__init__.py +2 -1
  765. paddlex/utils/func_register.py +1 -1
  766. paddlex/utils/install.py +87 -0
  767. paddlex/utils/interactive_get_pipeline.py +3 -3
  768. paddlex/utils/lazy_loader.py +3 -3
  769. paddlex/utils/logging.py +10 -1
  770. paddlex/utils/misc.py +5 -5
  771. paddlex/utils/pipeline_arguments.py +15 -7
  772. paddlex/utils/result_saver.py +4 -5
  773. paddlex/utils/subclass_register.py +2 -4
  774. paddlex/version.py +2 -1
  775. {paddlex-3.0.0rc0.dist-info → paddlex-3.0.0rc1.dist-info}/METADATA +212 -73
  776. paddlex-3.0.0rc1.dist-info/RECORD +1068 -0
  777. {paddlex-3.0.0rc0.dist-info → paddlex-3.0.0rc1.dist-info}/WHEEL +1 -1
  778. paddlex/inference/models/base/predictor/basic_predictor.py +0 -139
  779. paddlex/paddle2onnx_requirements.txt +0 -1
  780. paddlex/repo_manager/requirements.txt +0 -21
  781. paddlex/serving_requirements.txt +0 -9
  782. paddlex-3.0.0rc0.dist-info/RECORD +0 -1015
  783. {paddlex-3.0.0rc0.dist-info → paddlex-3.0.0rc1.dist-info}/entry_points.txt +0 -0
  784. {paddlex-3.0.0rc0.dist-info → paddlex-3.0.0rc1.dist-info/licenses}/LICENSE +0 -0
  785. {paddlex-3.0.0rc0.dist-info → paddlex-3.0.0rc1.dist-info}/top_level.txt +0 -0
@@ -1,4 +1,4 @@
1
- # copyright (c) 2024 PaddlePaddle Authors. All Rights Reserve.
1
+ # Copyright (c) 2024 PaddlePaddle Authors. All Rights Reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -11,12 +11,14 @@
11
11
  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
- from typing import Any, Dict, Optional
14
+ from typing import Dict
15
+
15
16
  import numpy as np
16
- from ..layout_parsing.utils import get_sub_regions_ocr_res
17
+
17
18
  from ..components import convert_points_to_boxes
18
- from .result import SingleTableRecognitionResult
19
+ from ..layout_parsing.utils import get_sub_regions_ocr_res
19
20
  from ..ocr.result import OCRResult
21
+ from .result import SingleTableRecognitionResult
20
22
 
21
23
 
22
24
  def get_ori_image_coordinate(x: int, y: int, box_list: list) -> list:
@@ -323,10 +325,12 @@ def get_table_recognition_res(
323
325
  crop_start_point = [table_box[0][0], table_box[0][1]]
324
326
  img_shape = overall_ocr_res["doc_preprocessor_res"]["output_img"].shape[0:2]
325
327
 
326
- if len(table_structure_pred['bbox']) == 0 or len(table_ocr_pred["rec_boxes"]) == 0:
327
- pred_html = ' '.join(list(table_structure_pred["structure"]))
328
- if len(table_structure_pred['bbox']) != 0:
329
- convert_table_structure_pred_bbox(table_structure_pred, crop_start_point, img_shape)
328
+ if len(table_structure_pred["bbox"]) == 0 or len(table_ocr_pred["rec_boxes"]) == 0:
329
+ pred_html = " ".join(list(table_structure_pred["structure"]))
330
+ if len(table_structure_pred["bbox"]) != 0:
331
+ convert_table_structure_pred_bbox(
332
+ table_structure_pred, crop_start_point, img_shape
333
+ )
330
334
  table_cells_result = table_structure_pred["cell_box_list"]
331
335
  else:
332
336
  table_cells_result = []
@@ -1,4 +1,4 @@
1
- # copyright (c) 2024 PaddlePaddle Authors. All Rights Reserve.
1
+ # Copyright (c) 2024 PaddlePaddle Authors. All Rights Reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -12,12 +12,13 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
  import math
15
- from typing import Any, Dict, Optional
15
+
16
16
  import numpy as np
17
- from ..layout_parsing.utils import get_sub_regions_ocr_res
17
+
18
18
  from ..components import convert_points_to_boxes
19
- from .result import SingleTableRecognitionResult
19
+ from ..layout_parsing.utils import get_sub_regions_ocr_res
20
20
  from ..ocr.result import OCRResult
21
+ from .result import SingleTableRecognitionResult
21
22
 
22
23
 
23
24
  def get_ori_image_coordinate(x: int, y: int, box_list: list) -> list:
@@ -141,7 +142,7 @@ def compute_inter(rec1, rec2):
141
142
  inter_area = inter_width * inter_height
142
143
  rec2_area = (x2_2 - x1_2) * (y2_2 - y1_2)
143
144
  if rec2_area == 0:
144
- return 0
145
+ return 0
145
146
  iou = inter_area / rec2_area
146
147
  return iou
147
148
 
@@ -158,9 +159,11 @@ def match_table_and_ocr(cell_box_list, ocr_dt_boxes, table_cells_flag, row_start
158
159
  dict: matched dict, key is table index, value is ocr index
159
160
  """
160
161
  all_matched = []
161
- for k in range(len(table_cells_flag)-1):
162
+ for k in range(len(table_cells_flag) - 1):
162
163
  matched = {}
163
- for i, table_box in enumerate(cell_box_list[table_cells_flag[k]:table_cells_flag[k+1]]):
164
+ for i, table_box in enumerate(
165
+ cell_box_list[table_cells_flag[k] : table_cells_flag[k + 1]]
166
+ ):
164
167
  if len(table_box) == 8:
165
168
  table_box = [
166
169
  np.min(table_box[0::2]),
@@ -174,13 +177,13 @@ def match_table_and_ocr(cell_box_list, ocr_dt_boxes, table_cells_flag, row_start
174
177
  matched[i] = [j]
175
178
  else:
176
179
  matched[i].append(j)
177
- real_len=max(matched.keys())+1 if len(matched)!=0 else 0
178
- if table_cells_flag[k+1] < row_start_index[k+1]:
179
- for s in range(row_start_index[k+1]-table_cells_flag[k+1]):
180
- matched[real_len+s] = []
181
- elif table_cells_flag[k+1] > row_start_index[k+1]:
182
- for s in range(table_cells_flag[k+1]-row_start_index[k+1]):
183
- matched[real_len-1].append(matched[real_len+s])
180
+ real_len = max(matched.keys()) + 1 if len(matched) != 0 else 0
181
+ if table_cells_flag[k + 1] < row_start_index[k + 1]:
182
+ for s in range(row_start_index[k + 1] - table_cells_flag[k + 1]):
183
+ matched[real_len + s] = []
184
+ elif table_cells_flag[k + 1] > row_start_index[k + 1]:
185
+ for s in range(table_cells_flag[k + 1] - row_start_index[k + 1]):
186
+ matched[real_len - 1].append(matched[real_len + s])
184
187
  all_matched.append(matched)
185
188
  return all_matched
186
189
 
@@ -212,7 +215,7 @@ def get_html_result(
212
215
  if "<td></td>" == tag:
213
216
  pred_html.extend("<td>")
214
217
  if td_index in matched_index.keys():
215
- if len(matched_index[td_index])==0:
218
+ if len(matched_index[td_index]) == 0:
216
219
  continue
217
220
  b_with = False
218
221
  if (
@@ -245,7 +248,10 @@ def get_html_result(
245
248
  pred_html.append(tag)
246
249
  td_index += 1
247
250
  td_count += 1
248
- if td_count>=table_cells_flag[matched_list_index+1] and matched_list_index<len(all_matched_index)-1:
251
+ if (
252
+ td_count >= table_cells_flag[matched_list_index + 1]
253
+ and matched_list_index < len(all_matched_index) - 1
254
+ ):
249
255
  matched_list_index += 1
250
256
  td_index = 0
251
257
  else:
@@ -299,15 +305,15 @@ def sort_table_cells_boxes(boxes):
299
305
 
300
306
  def convert_to_four_point_coordinates(boxes):
301
307
  """
302
- Convert bounding boxes from [x1, y1, x2, y2] format to
308
+ Convert bounding boxes from [x1, y1, x2, y2] format to
303
309
  [x1, y1, x2, y1, x2, y2, x1, y2] format.
304
310
 
305
311
  Parameters:
306
- - boxes: A list of bounding boxes, each defined as a list of integers
312
+ - boxes: A list of bounding boxes, each defined as a list of integers
307
313
  in the format [x1, y1, x2, y2].
308
314
 
309
315
  Returns:
310
- - A list of bounding boxes, each converted to the format
316
+ - A list of bounding boxes, each converted to the format
311
317
  [x1, y1, x2, y1, x2, y2, x1, y2].
312
318
  """
313
319
  # Initialize an empty list to store the converted bounding boxes
@@ -316,7 +322,7 @@ def convert_to_four_point_coordinates(boxes):
316
322
  # Loop over each box in the input list
317
323
  for box in boxes:
318
324
  x1, y1, x2, y2 = box
319
-
325
+
320
326
  # Define the four corner points
321
327
  top_left = (x1, y1)
322
328
  top_right = (x2, y1)
@@ -325,10 +331,14 @@ def convert_to_four_point_coordinates(boxes):
325
331
 
326
332
  # Create a new list for the converted box
327
333
  converted_box = [
328
- top_left[0], top_left[1], # Top-left corner
329
- top_right[0], top_right[1], # Top-right corner
330
- bottom_right[0], bottom_right[1], # Bottom-right corner
331
- bottom_left[0], bottom_left[1] # Bottom-left corner
334
+ top_left[0],
335
+ top_left[1], # Top-left corner
336
+ top_right[0],
337
+ top_right[1], # Top-right corner
338
+ bottom_right[0],
339
+ bottom_right[1], # Bottom-right corner
340
+ bottom_left[0],
341
+ bottom_left[1], # Bottom-left corner
332
342
  ]
333
343
 
334
344
  # Append the converted box to the list
@@ -339,13 +349,13 @@ def convert_to_four_point_coordinates(boxes):
339
349
 
340
350
  def find_row_start_index(html_list):
341
351
  """
342
- find the index of the first cell in each row
352
+ find the index of the first cell in each row
343
353
 
344
- Args:
345
- html_list (list): list for html results
354
+ Args:
355
+ html_list (list): list for html results
346
356
 
347
- Returns:
348
- row_start_indices (list): list for the index of the first cell in each row
357
+ Returns:
358
+ row_start_indices (list): list for the index of the first cell in each row
349
359
  """
350
360
  # Initialize an empty list to store the indices of row start positions
351
361
  row_start_indices = []
@@ -430,7 +440,7 @@ def get_table_recognition_res(
430
440
  img_shape = overall_ocr_res["doc_preprocessor_res"]["output_img"].shape[0:2]
431
441
 
432
442
  if len(table_cells_result) == 0 or len(table_ocr_pred["rec_boxes"]) == 0:
433
- pred_html = ' '.join(table_structure_result)
443
+ pred_html = " ".join(table_structure_result)
434
444
  if len(table_cells_result) != 0:
435
445
  table_cells_result = convert_table_structure_pred_bbox(
436
446
  table_cells_result, crop_start_point, img_shape
@@ -458,8 +468,12 @@ def get_table_recognition_res(
458
468
  table_cells_flag = map_and_get_max(table_cells_flag, row_start_index)
459
469
  table_cells_flag.append(len(table_cells_result))
460
470
  row_start_index.append(len(table_cells_result))
461
- matched_index = match_table_and_ocr(table_cells_result, ocr_dt_boxes, table_cells_flag, table_cells_flag)
462
- pred_html = get_html_result(matched_index, ocr_texts_res, table_structure_result, row_start_index)
471
+ matched_index = match_table_and_ocr(
472
+ table_cells_result, ocr_dt_boxes, table_cells_flag, table_cells_flag
473
+ )
474
+ pred_html = get_html_result(
475
+ matched_index, ocr_texts_res, table_structure_result, row_start_index
476
+ )
463
477
 
464
478
  single_img_res = {
465
479
  "cell_box_list": table_cells_result,
@@ -1,4 +1,4 @@
1
- # copyright (c) 2024 PaddlePaddle Authors. All Rights Reserve.
1
+ # Copyright (c) 2024 PaddlePaddle Authors. All Rights Reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -1,4 +1,4 @@
1
- # copyright (c) 2024 PaddlePaddle Authors. All Rights Reserve.
1
+ # Copyright (c) 2024 PaddlePaddle Authors. All Rights Reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -1,4 +1,4 @@
1
- # copyright (c) 2024 PaddlePaddle Authors. All Rights Reserve.
1
+ # Copyright (c) 2024 PaddlePaddle Authors. All Rights Reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -12,15 +12,18 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
- from typing import Any, Dict, Optional, Union, List
15
+ from typing import Any, Dict, List, Optional, Union
16
+
16
17
  import pandas as pd
17
18
 
19
+ from ....utils.deps import pipeline_requires_extra
20
+ from ...models.ts_anomaly_detection.result import TSAdResult
21
+ from ...utils.hpi import HPIConfig
18
22
  from ...utils.pp_option import PaddlePredictorOption
19
23
  from ..base import BasePipeline
20
24
 
21
- from ...models.ts_anomaly_detection.result import TSAdResult
22
-
23
25
 
26
+ @pipeline_requires_extra("ts")
24
27
  class TSAnomalyDetPipeline(BasePipeline):
25
28
  """TSAnomalyDetPipeline Pipeline"""
26
29
 
@@ -32,6 +35,7 @@ class TSAnomalyDetPipeline(BasePipeline):
32
35
  device: str = None,
33
36
  pp_option: PaddlePredictorOption = None,
34
37
  use_hpip: bool = False,
38
+ hpi_config: Optional[Union[Dict[str, Any], HPIConfig]] = None,
35
39
  ) -> None:
36
40
  """Initializes the Time Series ad pipeline.
37
41
 
@@ -39,10 +43,16 @@ class TSAnomalyDetPipeline(BasePipeline):
39
43
  config (Dict): Configuration dictionary containing various settings.
40
44
  device (str, optional): Device to run the predictions on. Defaults to None.
41
45
  pp_option (PaddlePredictorOption, optional): PaddlePredictor options. Defaults to None.
42
- use_hpip (bool, optional): Whether to use high-performance inference (hpip) for prediction. Defaults to False.
46
+ use_hpip (bool, optional): Whether to use the high-performance
47
+ inference plugin (HPIP). Defaults to False.
48
+ hpi_config (Optional[Union[Dict[str, Any], HPIConfig]], optional):
49
+ The high-performance inference configuration dictionary.
50
+ Defaults to None.
43
51
  """
44
52
 
45
- super().__init__(device=device, pp_option=pp_option, use_hpip=use_hpip)
53
+ super().__init__(
54
+ device=device, pp_option=pp_option, use_hpip=use_hpip, hpi_config=hpi_config
55
+ )
46
56
 
47
57
  ts_ad_model_config = config["SubModules"]["TSAnomalyDetection"]
48
58
  self.ts_ad_model = self.create_model(ts_ad_model_config)
@@ -1,4 +1,4 @@
1
- # copyright (c) 2024 PaddlePaddle Authors. All Rights Reserve.
1
+ # Copyright (c) 2024 PaddlePaddle Authors. All Rights Reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -1,4 +1,4 @@
1
- # copyright (c) 2024 PaddlePaddle Authors. All Rights Reserve.
1
+ # Copyright (c) 2024 PaddlePaddle Authors. All Rights Reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -12,15 +12,18 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
- from typing import Any, Dict, Optional, Union, List
15
+ from typing import Any, Dict, List, Optional, Union
16
+
16
17
  import pandas as pd
17
18
 
19
+ from ....utils.deps import pipeline_requires_extra
20
+ from ...models.ts_classification.result import TSClsResult
21
+ from ...utils.hpi import HPIConfig
18
22
  from ...utils.pp_option import PaddlePredictorOption
19
23
  from ..base import BasePipeline
20
24
 
21
- from ...models.ts_classification.result import TSClsResult
22
-
23
25
 
26
+ @pipeline_requires_extra("ts")
24
27
  class TSClsPipeline(BasePipeline):
25
28
  """TSClsPipeline Pipeline"""
26
29
 
@@ -32,6 +35,7 @@ class TSClsPipeline(BasePipeline):
32
35
  device: str = None,
33
36
  pp_option: PaddlePredictorOption = None,
34
37
  use_hpip: bool = False,
38
+ hpi_config: Optional[Union[Dict[str, Any], HPIConfig]] = None,
35
39
  ) -> None:
36
40
  """Initializes the Time Series classification pipeline.
37
41
 
@@ -39,10 +43,16 @@ class TSClsPipeline(BasePipeline):
39
43
  config (Dict): Configuration dictionary containing various settings.
40
44
  device (str, optional): Device to run the predictions on. Defaults to None.
41
45
  pp_option (PaddlePredictorOption, optional): PaddlePredictor options. Defaults to None.
42
- use_hpip (bool, optional): Whether to use high-performance inference (hpip) for prediction. Defaults to False.
46
+ use_hpip (bool, optional): Whether to use the high-performance
47
+ inference plugin (HPIP). Defaults to False.
48
+ hpi_config (Optional[Union[Dict[str, Any], HPIConfig]], optional):
49
+ The high-performance inference configuration dictionary.
50
+ Defaults to None.
43
51
  """
44
52
 
45
- super().__init__(device=device, pp_option=pp_option, use_hpip=use_hpip)
53
+ super().__init__(
54
+ device=device, pp_option=pp_option, use_hpip=use_hpip, hpi_config=hpi_config
55
+ )
46
56
 
47
57
  ts_classification_model_config = config["SubModules"]["TSClassification"]
48
58
  self.ts_classification_model = self.create_model(ts_classification_model_config)
@@ -1,4 +1,4 @@
1
- # copyright (c) 2024 PaddlePaddle Authors. All Rights Reserve.
1
+ # Copyright (c) 2024 PaddlePaddle Authors. All Rights Reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -1,4 +1,4 @@
1
- # copyright (c) 2024 PaddlePaddle Authors. All Rights Reserve.
1
+ # Copyright (c) 2024 PaddlePaddle Authors. All Rights Reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -12,15 +12,18 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
- from typing import Any, Dict, Optional, Union, List
15
+ from typing import Any, Dict, List, Optional, Union
16
+
16
17
  import pandas as pd
17
18
 
19
+ from ....utils.deps import pipeline_requires_extra
20
+ from ...models.ts_forecasting.result import TSFcResult
21
+ from ...utils.hpi import HPIConfig
18
22
  from ...utils.pp_option import PaddlePredictorOption
19
23
  from ..base import BasePipeline
20
24
 
21
- from ...models.ts_forecasting.result import TSFcResult
22
-
23
25
 
26
+ @pipeline_requires_extra("ts")
24
27
  class TSFcPipeline(BasePipeline):
25
28
  """TSFcPipeline Pipeline"""
26
29
 
@@ -32,6 +35,7 @@ class TSFcPipeline(BasePipeline):
32
35
  device: str = None,
33
36
  pp_option: PaddlePredictorOption = None,
34
37
  use_hpip: bool = False,
38
+ hpi_config: Optional[Union[Dict[str, Any], HPIConfig]] = None,
35
39
  ) -> None:
36
40
  """Initializes the Time Series Forecast pipeline.
37
41
 
@@ -39,10 +43,16 @@ class TSFcPipeline(BasePipeline):
39
43
  config (Dict): Configuration dictionary containing various settings.
40
44
  device (str, optional): Device to run the predictions on. Defaults to None.
41
45
  pp_option (PaddlePredictorOption, optional): PaddlePredictor options. Defaults to None.
42
- use_hpip (bool, optional): Whether to use high-performance inference (hpip) for prediction. Defaults to False.
46
+ use_hpip (bool, optional): Whether to use the high-performance
47
+ inference plugin (HPIP). Defaults to False.
48
+ hpi_config (Optional[Union[Dict[str, Any], HPIConfig]], optional):
49
+ The high-performance inference configuration dictionary.
50
+ Defaults to None.
43
51
  """
44
52
 
45
- super().__init__(device=device, pp_option=pp_option, use_hpip=use_hpip)
53
+ super().__init__(
54
+ device=device, pp_option=pp_option, use_hpip=use_hpip, hpi_config=hpi_config
55
+ )
46
56
 
47
57
  ts_forecast_model_config = config["SubModules"]["TSForecast"]
48
58
  self.ts_forecast_model = self.create_model(ts_forecast_model_config)
@@ -1,4 +1,4 @@
1
- # copyright (c) 2024 PaddlePaddle Authors. All Rights Reserve.
1
+ # Copyright (c) 2024 PaddlePaddle Authors. All Rights Reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -1,4 +1,4 @@
1
- # copyright (c) 2024 PaddlePaddle Authors. All Rights Reserve.
1
+ # Copyright (c) 2024 PaddlePaddle Authors. All Rights Reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -12,14 +12,18 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
- from typing import Any, Dict, Optional, Union, List
15
+ from typing import Any, Dict, List, Optional, Union
16
+
16
17
  import numpy as np
17
- from ...utils.pp_option import PaddlePredictorOption
18
- from ..base import BasePipeline
19
18
 
19
+ from ....utils.deps import pipeline_requires_extra
20
20
  from ...models.video_classification.result import TopkVideoResult
21
+ from ...utils.hpi import HPIConfig
22
+ from ...utils.pp_option import PaddlePredictorOption
23
+ from ..base import BasePipeline
21
24
 
22
25
 
26
+ @pipeline_requires_extra("video")
23
27
  class VideoClassificationPipeline(BasePipeline):
24
28
  """Video Classification Pipeline"""
25
29
 
@@ -31,6 +35,7 @@ class VideoClassificationPipeline(BasePipeline):
31
35
  device: str = None,
32
36
  pp_option: PaddlePredictorOption = None,
33
37
  use_hpip: bool = False,
38
+ hpi_config: Optional[Union[Dict[str, Any], HPIConfig]] = None,
34
39
  ) -> None:
35
40
  """
36
41
  Initializes the class with given configurations and options.
@@ -39,9 +44,15 @@ class VideoClassificationPipeline(BasePipeline):
39
44
  config (Dict): Configuration dictionary containing model and other parameters.
40
45
  device (str): The device to run the prediction on. Default is None.
41
46
  pp_option (PaddlePredictorOption): Options for PaddlePaddle predictor. Default is None.
42
- use_hpip (bool): Whether to use high-performance inference (hpip) for prediction. Defaults to False.
47
+ use_hpip (bool, optional): Whether to use the high-performance
48
+ inference plugin (HPIP). Defaults to False.
49
+ hpi_config (Optional[Union[Dict[str, Any], HPIConfig]], optional):
50
+ The high-performance inference configuration dictionary.
51
+ Defaults to None.
43
52
  """
44
- super().__init__(device=device, pp_option=pp_option, use_hpip=use_hpip)
53
+ super().__init__(
54
+ device=device, pp_option=pp_option, use_hpip=use_hpip, hpi_config=hpi_config
55
+ )
45
56
 
46
57
  video_classification_model_config = config["SubModules"]["VideoClassification"]
47
58
  self.video_classification_model = self.create_model(
@@ -1,4 +1,4 @@
1
- # copyright (c) 2024 PaddlePaddle Authors. All Rights Reserve.
1
+ # Copyright (c) 2024 PaddlePaddle Authors. All Rights Reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -1,4 +1,4 @@
1
- # copyright (c) 2024 PaddlePaddle Authors. All Rights Reserve.
1
+ # Copyright (c) 2024 PaddlePaddle Authors. All Rights Reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -12,14 +12,18 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
- from typing import Any, Dict, Optional, Union, List
15
+ from typing import Any, Dict, List, Optional, Union
16
+
16
17
  import numpy as np
17
- from ...utils.pp_option import PaddlePredictorOption
18
- from ..base import BasePipeline
19
18
 
19
+ from ....utils.deps import pipeline_requires_extra
20
20
  from ...models.video_detection.result import DetVideoResult
21
+ from ...utils.hpi import HPIConfig
22
+ from ...utils.pp_option import PaddlePredictorOption
23
+ from ..base import BasePipeline
21
24
 
22
25
 
26
+ @pipeline_requires_extra("video")
23
27
  class VideoDetectionPipeline(BasePipeline):
24
28
  """Video detection Pipeline"""
25
29
 
@@ -31,6 +35,7 @@ class VideoDetectionPipeline(BasePipeline):
31
35
  device: str = None,
32
36
  pp_option: PaddlePredictorOption = None,
33
37
  use_hpip: bool = False,
38
+ hpi_config: Optional[Union[Dict[str, Any], HPIConfig]] = None,
34
39
  ) -> None:
35
40
  """
36
41
  Initializes the class with given configurations and options.
@@ -39,9 +44,15 @@ class VideoDetectionPipeline(BasePipeline):
39
44
  config (Dict): Configuration dictionary containing model and other parameters.
40
45
  device (str): The device to run the prediction on. Default is None.
41
46
  pp_option (PaddlePredictorOption): Options for PaddlePaddle predictor. Default is None.
42
- use_hpip (bool): Whether to use high-performance inference (hpip) for prediction. Defaults to False.
47
+ use_hpip (bool, optional): Whether to use the high-performance
48
+ inference plugin (HPIP). Defaults to False.
49
+ hpi_config (Optional[Union[Dict[str, Any], HPIConfig]], optional):
50
+ The high-performance inference configuration dictionary.
51
+ Defaults to None.
43
52
  """
44
- super().__init__(device=device, pp_option=pp_option, use_hpip=use_hpip)
53
+ super().__init__(
54
+ device=device, pp_option=pp_option, use_hpip=use_hpip, hpi_config=hpi_config
55
+ )
45
56
 
46
57
  video_detection_model_config = config["SubModules"]["VideoDetection"]
47
58
  model_kwargs = {}
@@ -49,7 +60,9 @@ class VideoDetectionPipeline(BasePipeline):
49
60
  model_kwargs["nms_thresh"] = video_detection_model_config["nms_thresh"]
50
61
  if "score_thresh" in video_detection_model_config:
51
62
  model_kwargs["score_thresh"] = video_detection_model_config["score_thresh"]
52
- self.video_detection_model = self.create_model(video_detection_model_config, **model_kwargs)
63
+ self.video_detection_model = self.create_model(
64
+ video_detection_model_config, **model_kwargs
65
+ )
53
66
 
54
67
  def predict(
55
68
  self,
@@ -1,4 +1,4 @@
1
- # copyright (c) 2024 PaddlePaddle Authors. All Rights Reserve.
1
+ # Copyright (c) 2024 PaddlePaddle Authors. All Rights Reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -11,3 +11,7 @@
11
11
  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
+
15
+ from ...utils.deps import require_serving_plugin
16
+
17
+ require_serving_plugin()
@@ -1,4 +1,4 @@
1
- # copyright (c) 2024 PaddlePaddle Authors. All Rights Reserve.
1
+ # Copyright (c) 2024 PaddlePaddle Authors. All Rights Reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.