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.
@@ -12,16 +12,16 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
- import os
16
15
  import numpy as np
17
- import json
18
- from pathlib import Path
19
16
  import PIL
20
17
  from PIL import Image, ImageDraw, ImageFont
21
- from pycocotools.coco import COCO
22
18
 
23
- from ......utils.fonts import PINGFANG_FONT_FILE_PATH
24
19
  from ......utils import logging
20
+ from ......utils.deps import function_requires_deps, is_dep_available
21
+ from ......utils.fonts import PINGFANG_FONT_FILE_PATH
22
+
23
+ if is_dep_available("pycocotools"):
24
+ from pycocotools.coco import COCO
25
25
 
26
26
 
27
27
  def colormap(rgb=False):
@@ -114,7 +114,8 @@ def font_colormap(color_index):
114
114
  return dark.astype("int32")
115
115
 
116
116
 
117
- def draw_bbox(image, coco_info: COCO, img_id):
117
+ @function_requires_deps("pycocotools")
118
+ def draw_bbox(image, coco_info: "COCO", img_id):
118
119
  """
119
120
  Draw bbox on image
120
121
  """
@@ -191,7 +192,8 @@ def draw_bbox(image, coco_info: COCO, img_id):
191
192
  return image
192
193
 
193
194
 
194
- def draw_mask(image, coco_info: COCO, img_id):
195
+ @function_requires_deps("pycocotools")
196
+ def draw_mask(image, coco_info: "COCO", img_id):
195
197
  """
196
198
  Draw mask on image
197
199
  """
@@ -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.
@@ -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,7 +12,7 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
- from .trainer import KeypointTrainer
16
15
  from .dataset_checker import KeypointDatasetChecker
17
16
  from .evaluator import KeypointEvaluator
18
17
  from .exportor import KeypointExportor
18
+ from .trainer import KeypointTrainer
@@ -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.
@@ -14,8 +14,8 @@
14
14
 
15
15
 
16
16
  from ...object_detection.dataset_checker import COCODatasetChecker
17
- from .dataset_src import check
18
17
  from ..model_list import MODELS
18
+ from .dataset_src import check
19
19
 
20
20
 
21
21
  class KeypointDatasetChecker(COCODatasetChecker):
@@ -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.
@@ -13,18 +13,23 @@
13
13
  # limitations under the License.
14
14
 
15
15
 
16
+ import json
16
17
  import os
17
18
  import os.path as osp
18
- from collections import defaultdict, Counter
19
+ from collections import Counter, defaultdict
19
20
  from pathlib import Path
21
+
20
22
  from PIL import Image, ImageOps
21
- import json
22
- from pycocotools.coco import COCO
23
23
 
24
+ from .....utils.deps import function_requires_deps, is_dep_available
24
25
  from .....utils.errors import DatasetFileNotFoundError
25
26
  from .utils.visualizer import draw_keypoint
26
27
 
28
+ if is_dep_available("pycocotools"):
29
+ from pycocotools.coco import COCO
30
+
27
31
 
32
+ @function_requires_deps("pycocotools")
28
33
  def check(dataset_dir, output, sample_num=10):
29
34
  """check dataset"""
30
35
  dataset_dir = osp.abspath(dataset_dir)
@@ -33,7 +38,7 @@ def check(dataset_dir, output, sample_num=10):
33
38
 
34
39
  sample_cnts = dict()
35
40
  sample_paths = defaultdict(list)
36
- im_sizes = defaultdict(Counter)
41
+ defaultdict(Counter)
37
42
  tags = ["instance_train", "instance_val"]
38
43
  for _, tag in enumerate(tags):
39
44
  file_list = osp.join(dataset_dir, f"annotations/{tag}.json")
@@ -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.
@@ -13,10 +13,15 @@
13
13
  # limitations under the License.
14
14
  import numpy as np
15
15
  from PIL import ImageDraw
16
- from pycocotools.coco import COCO
17
16
 
17
+ from ......utils.deps import function_requires_deps, is_dep_available
18
18
 
19
- def draw_keypoint(image, coco_info: COCO, img_id):
19
+ if is_dep_available("pycocotools"):
20
+ from pycocotools.coco import COCO
21
+
22
+
23
+ @function_requires_deps("pycocotools")
24
+ def draw_keypoint(image, coco_info: "COCO", img_id):
20
25
  """
21
26
  Draw keypoints on image for the COCO human keypoint dataset with 17 keypoints.
22
27
 
@@ -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.
@@ -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.
@@ -13,8 +13,8 @@
13
13
  # limitations under the License.
14
14
 
15
15
 
16
- from .model_list import MODELS
17
16
  from ..object_detection import DetTrainer
17
+ from .model_list import MODELS
18
18
 
19
19
 
20
20
  class KeypointTrainer(DetTrainer):
@@ -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,7 +12,7 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
- from .trainer import BEVFusionTrainer
16
15
  from .dataset_checker import BEVFusionDatasetChecker
17
16
  from .evaluator import BEVFusionEvaluator
18
17
  from .exportor import BEVFusionExportor
18
+ from .trainer import BEVFusionTrainer
@@ -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,12 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
- from pathlib import Path
16
15
  import pickle
16
+ from pathlib import Path
17
17
 
18
18
  from ...base import BaseDatasetChecker
19
- from .dataset_src import check, deep_analyse
20
19
  from ..model_list import MODELS
20
+ from .dataset_src import check, deep_analyse
21
21
 
22
22
 
23
23
  class BEVFusionDatasetChecker(BaseDatasetChecker):
@@ -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.
@@ -13,5 +13,5 @@
13
13
  # limitations under the License.
14
14
 
15
15
 
16
- from .check_dataset import check
17
16
  from .analyse_dataset import deep_analyse
17
+ from .check_dataset import check
@@ -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.
@@ -14,24 +14,24 @@
14
14
 
15
15
 
16
16
  import os
17
- import json
18
- import platform
19
17
  import pickle
20
-
18
+ import platform
21
19
  from collections import defaultdict
22
20
 
23
21
  import numpy as np
24
- import matplotlib.pyplot as plt
25
- from matplotlib import font_manager
26
- from matplotlib.backends.backend_agg import FigureCanvasAgg
27
22
 
23
+ from paddlex.utils.deps import function_requires_deps, is_dep_available
28
24
  from paddlex.utils.fonts import PINGFANG_FONT_FILE_PATH
29
25
 
26
+ if is_dep_available("matplotlib"):
27
+ import matplotlib.pyplot as plt
28
+ from matplotlib import font_manager
29
+
30
30
 
31
+ @function_requires_deps("matplotlib")
31
32
  def deep_analyse(dataset_dir, output):
32
33
  """class analysis for dataset"""
33
34
  tags = ["train", "val"]
34
- all_instances = 0
35
35
  class_name_train = defaultdict(int)
36
36
  class_name_val = defaultdict(int)
37
37
  for tag in tags:
@@ -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,7 +12,6 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
- import os
16
15
  import os.path as osp
17
16
  import pickle
18
17
 
@@ -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.
@@ -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.
@@ -13,11 +13,7 @@
13
13
  # limitations under the License.
14
14
 
15
15
 
16
- from pathlib import Path
17
-
18
16
  from ..base import BaseTrainer
19
- from ...utils.config import AttrDict
20
- from ...utils import logging
21
17
  from .model_list import MODELS
22
18
 
23
19
 
@@ -51,9 +47,9 @@ class BEVFusionTrainer(BaseTrainer):
51
47
  self.pdx_config.update_learning_rate(self.train_config.learning_rate)
52
48
  if self.train_config.epochs_iters is not None:
53
49
  self.pdx_config.update_epochs(self.train_config.epochs_iters)
54
- epochs_iters = self.train_config.epochs_iters
50
+ self.train_config.epochs_iters
55
51
  else:
56
- epochs_iters = self.pdx_config.get_epochs_iters()
52
+ self.pdx_config.get_epochs_iters()
57
53
  if self.global_config.output is not None:
58
54
  self.pdx_config.update_save_dir(self.global_config.output)
59
55
 
@@ -65,6 +61,8 @@ class BEVFusionTrainer(BaseTrainer):
65
61
  """
66
62
  train_args = {"device": self.get_device()}
67
63
  train_args["dy2st"] = self.train_config.get("dy2st", False)
64
+ # amp support 'O1', 'O2', 'OFF'
65
+ train_args["amp"] = self.train_config.get("amp", "OFF")
68
66
  if self.global_config.output is not None:
69
67
  train_args["save_dir"] = self.global_config.output
70
68
  return train_args
@@ -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,7 +12,7 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
- from .trainer import MLClsTrainer
16
15
  from .dataset_checker import MLClsDatasetChecker
17
16
  from .evaluator import MLClsEvaluator
18
17
  from .exportor import MLClsExportor
18
+ from .trainer import MLClsTrainer
@@ -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.
@@ -15,8 +15,8 @@
15
15
  from pathlib import Path
16
16
 
17
17
  from ...base import BaseDatasetChecker
18
- from .dataset_src import check, convert, split_dataset, deep_analyse
19
18
  from ..model_list import MODELS
19
+ from .dataset_src import check, convert, deep_analyse, split_dataset
20
20
 
21
21
 
22
22
  class MLClsDatasetChecker(BaseDatasetChecker):
@@ -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.
@@ -13,7 +13,7 @@
13
13
  # limitations under the License.
14
14
 
15
15
 
16
+ from .analyse_dataset import deep_analyse
16
17
  from .check_dataset import check
17
18
  from .convert_dataset import convert
18
19
  from .split_dataset import split_dataset
19
- from .analyse_dataset import deep_analyse
@@ -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.
@@ -13,22 +13,21 @@
13
13
  # limitations under the License.
14
14
 
15
15
  import os
16
- import json
17
- import math
18
16
  import platform
19
- from pathlib import Path
20
-
21
17
  from collections import defaultdict
22
- from PIL import Image
18
+
23
19
  import numpy as np
24
- import matplotlib.pyplot as plt
25
- from matplotlib import font_manager
26
- from matplotlib.backends.backend_agg import FigureCanvasAgg
27
20
 
21
+ from .....utils.deps import function_requires_deps, is_dep_available
28
22
  from .....utils.file_interface import custom_open
29
23
  from .....utils.fonts import PINGFANG_FONT_FILE_PATH
30
24
 
25
+ if is_dep_available("matplotlib"):
26
+ import matplotlib.pyplot as plt
27
+ from matplotlib import font_manager
28
+
31
29
 
30
+ @function_requires_deps("matplotlib")
32
31
  def deep_analyse(dataset_path, output):
33
32
  """class analysis for dataset"""
34
33
  tags = ["train", "val"]
@@ -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.
@@ -15,10 +15,11 @@
15
15
  import os
16
16
  import os.path as osp
17
17
  import random
18
- from PIL import Image, ImageOps
19
18
  from collections import defaultdict
20
19
 
21
- from .....utils.errors import DatasetFileNotFoundError, CheckFailedError
20
+ from PIL import Image, ImageOps
21
+
22
+ from .....utils.errors import CheckFailedError, DatasetFileNotFoundError
22
23
  from .utils.visualizer import draw_multi_label
23
24
 
24
25
 
@@ -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.
@@ -14,17 +14,21 @@
14
14
 
15
15
 
16
16
  import os
17
- import json
18
- from tqdm import tqdm
19
- from pycocotools.coco import COCO
17
+
18
+ from .....utils.deps import function_requires_deps, is_dep_available
20
19
  from .....utils.errors import ConvertFailedError
21
20
  from .....utils.logging import info, warning
22
21
 
22
+ if is_dep_available("pycocotools"):
23
+ from pycocotools.coco import COCO
24
+ if is_dep_available("tqdm"):
25
+ from tqdm import tqdm
26
+
23
27
 
24
28
  def check_src_dataset(root_dir, dataset_type):
25
29
  """check src dataset format validity"""
26
30
  if dataset_type in ("COCO"):
27
- anno_suffix = ".json"
31
+ pass
28
32
  else:
29
33
  raise ConvertFailedError(
30
34
  message=f"数据格式转换失败!不支持{dataset_type}格式数据集。当前仅支持 COCO 格式。"
@@ -61,6 +65,7 @@ def convert_coco_dataset(root_dir):
61
65
  coco2multilabels(src_img_dir, src_anno_path, root_dir)
62
66
 
63
67
 
68
+ @function_requires_deps("pycocotools", "tqdm")
64
69
  def coco2multilabels(src_img_dir, src_anno_path, root_dir):
65
70
  image_dir = os.path.join(root_dir, "images")
66
71
  label_type = (
@@ -74,7 +79,6 @@ def coco2multilabels(src_img_dir, src_anno_path, root_dir):
74
79
  num_classes = len(list(cat_id_map.keys()))
75
80
 
76
81
  with open(anno_save_path, "w") as fp:
77
- lines = []
78
82
  for img_id in tqdm(sorted(coco.getImgIds())):
79
83
  img_info = coco.loadImgs([img_id])[0]
80
84
  img_filename = img_info["file_name"]
@@ -108,7 +112,6 @@ def coco2multilabels(src_img_dir, src_anno_path, root_dir):
108
112
  if label_type == "train":
109
113
  label_txt_save_path = os.path.join(root_dir, "label.txt")
110
114
  with open(label_txt_save_path, "w") as fp:
111
- label_name_list = []
112
115
  for cat in coco.cats.values():
113
116
  id = cat["id"]
114
117
  name = cat["name"]
@@ -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,11 +12,7 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
- import os
16
15
  import numpy as np
17
- import json
18
- from pathlib import Path
19
- import PIL
20
16
  from PIL import Image, ImageDraw, ImageFont
21
17
 
22
18
  from ......utils.fonts import PINGFANG_FONT_FILE_PATH
@@ -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.
@@ -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,13 +12,11 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
- import json
16
15
  import shutil
17
16
  from pathlib import Path
18
17
 
19
18
  from ..base import BaseTrainer
20
19
  from .model_list import MODELS
21
- from ...utils.config import AttrDict
22
20
 
23
21
 
24
22
  class MLClsTrainer(BaseTrainer):
@@ -82,4 +80,6 @@ class MLClsTrainer(BaseTrainer):
82
80
  ):
83
81
  train_args["resume_path"] = self.train_config.resume_path
84
82
  train_args["dy2st"] = self.train_config.get("dy2st", False)
83
+ # amp support 'O1', 'O2', 'OFF'
84
+ train_args["amp"] = self.train_config.get("amp", "OFF")
85
85
  return train_args
@@ -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.
@@ -13,6 +13,6 @@
13
13
  # limitations under the License.
14
14
 
15
15
  from .dataset_checker import WhisperDatasetChecker
16
- from .trainer import WhisperTrainer
17
16
  from .evaluator import WhisperEvaluator
18
17
  from .exportor import WhisperExportor
18
+ from .trainer import WhisperTrainer