pybaseutils 2.1.1__tar.gz → 2.1.2__tar.gz

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 (249) hide show
  1. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/PKG-INFO +1 -1
  2. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/__init__.py +1 -1
  3. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/numpy_utils.py +77 -51
  4. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils.egg-info/PKG-INFO +1 -1
  5. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/LICENCE +0 -0
  6. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/README.md +0 -0
  7. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/audio/__init__.py +0 -0
  8. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/audio/audio_utils.py +0 -0
  9. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/audio/pyaudio_utils.py +0 -0
  10. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/audio/vad_utils.py +0 -0
  11. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/base64_utils.py +0 -0
  12. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/batch_utils.py +0 -0
  13. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/build_utils/__init__.py +0 -0
  14. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/build_utils/cython_utils.py +0 -0
  15. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/build_utils/pyarmor_utils.py +0 -0
  16. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/cluster/__init__.py +0 -0
  17. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/cluster/kmean.py +0 -0
  18. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/cluster/maxmin_distance.py +0 -0
  19. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/cluster/similarity.py +0 -0
  20. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/color_utils.py +0 -0
  21. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/config_utils.py +0 -0
  22. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/converter/__init__.py +0 -0
  23. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/converter/build_coco.py +0 -0
  24. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/converter/build_cvat.py +0 -0
  25. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/converter/build_labelme.py +0 -0
  26. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/converter/build_voc.py +0 -0
  27. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/converter/concat_coco.py +0 -0
  28. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/converter/convert_coco2labelme.py +0 -0
  29. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/converter/convert_coco2voc.py +0 -0
  30. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/converter/convert_cvat2labelme.py +0 -0
  31. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/converter/convert_labelme2coco.py +0 -0
  32. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/converter/convert_labelme2cvat.py +0 -0
  33. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/converter/convert_labelme2voc.py +0 -0
  34. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/converter/convert_labelme2yolo.py +0 -0
  35. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/converter/convert_voc2coco.py +0 -0
  36. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/converter/convert_voc2labelme.py +0 -0
  37. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/converter/convert_voc2voc.py +0 -0
  38. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/converter/convert_voc2yolo.py +0 -0
  39. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/converter/convert_yolo2voc.py +0 -0
  40. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/coords_utils.py +0 -0
  41. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/cvutils/__init__.py +0 -0
  42. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/cvutils/corner_utils.py +0 -0
  43. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/cvutils/monitor.py +0 -0
  44. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/cvutils/mouse_utils.py +0 -0
  45. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/cvutils/video_utils.py +0 -0
  46. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/dataloader/__init__.py +0 -0
  47. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/dataloader/balanced_classes.py +0 -0
  48. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/dataloader/base_coco.py +0 -0
  49. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/dataloader/base_dataset.py +0 -0
  50. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/dataloader/data_resample.py +0 -0
  51. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/dataloader/parser_coco_det.py +0 -0
  52. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/dataloader/parser_coco_ins.py +0 -0
  53. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/dataloader/parser_coco_kps.py +0 -0
  54. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/dataloader/parser_image_folder.py +0 -0
  55. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/dataloader/parser_image_text.py +0 -0
  56. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/dataloader/parser_labelme.py +0 -0
  57. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/dataloader/parser_voc.py +0 -0
  58. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/dataloader/parser_yolo.py +0 -0
  59. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/dataloader/voc_seg_utils.py +0 -0
  60. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/file_utils.py +0 -0
  61. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/filter/QueueTable.py +0 -0
  62. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/filter/__init__.py +0 -0
  63. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/filter/demo.py +0 -0
  64. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/filter/kalman_filter.py +0 -0
  65. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/filter/mean_filter.py +0 -0
  66. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/filter/motion_filter.py +0 -0
  67. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/filter/pose_filter.py +0 -0
  68. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/font_style/__init__.py +0 -0
  69. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/font_utils.py +0 -0
  70. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/geometry_tools.py +0 -0
  71. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/heatmap_utils.py +0 -0
  72. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/image_utils.py +0 -0
  73. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/json_utils.py +0 -0
  74. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/log.py +0 -0
  75. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/logger.py +0 -0
  76. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/metrics/__init__.py +0 -0
  77. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/metrics/accuracy.py +0 -0
  78. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/metrics/average_meter.py +0 -0
  79. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/metrics/class_report.py +0 -0
  80. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/metrics/plot_pr.py +0 -0
  81. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/metrics/plot_roc.py +0 -0
  82. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/pandas_utils.py +0 -0
  83. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/plot_utils.py +0 -0
  84. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/pose/__init__.py +0 -0
  85. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/pose/bones_utils.py +0 -0
  86. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/pose/human_pose.py +0 -0
  87. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/pose/pose_utils.py +0 -0
  88. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/pycpp/__init__.py +0 -0
  89. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/pycpp/demo.py +0 -0
  90. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/pycpp/main.py +0 -0
  91. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/server/__init__.py +0 -0
  92. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/server/apm_server.py +0 -0
  93. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/setup_config.py +0 -0
  94. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/singleton_utils.py +0 -0
  95. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/text_utils.py +0 -0
  96. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/thread_utils.py +0 -0
  97. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/time_utils.py +0 -0
  98. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/tracemalloc_utils.py +0 -0
  99. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/tracemalloc_utils2.py +0 -0
  100. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/tracking/QueueTable.py +0 -0
  101. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/tracking/__init__.py +0 -0
  102. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/tracking/demo.py +0 -0
  103. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/tracking/kalman_filter.py +0 -0
  104. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/tracking/mean_filter.py +0 -0
  105. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/tracking/motion_filter.py +0 -0
  106. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/tracking/pose_filter.py +0 -0
  107. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/transforms/__init__.py +0 -0
  108. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/transforms/affine_transform.py +0 -0
  109. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/transforms/augment_utils.py +0 -0
  110. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/transforms/face_alignment.py +0 -0
  111. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/transforms/transform_utils.py +0 -0
  112. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/word_utils.py +0 -0
  113. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/worker.py +0 -0
  114. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils/yaml_utils.py +0 -0
  115. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils.egg-info/SOURCES.txt +0 -0
  116. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils.egg-info/dependency_links.txt +0 -0
  117. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils.egg-info/not-zip-safe +0 -0
  118. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/pybaseutils.egg-info/top_level.txt +0 -0
  119. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/setup.cfg +0 -0
  120. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/setup.py +0 -0
  121. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/WebCrawler/__init__.py +0 -0
  122. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/WebCrawler/search_image.py +0 -0
  123. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/WebCrawler/search_image_for_baidu.py +0 -0
  124. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/__init__.py +0 -0
  125. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/aije/__init__.py +0 -0
  126. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/aije/action_dataset.py +0 -0
  127. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/aije/build_cython.py +0 -0
  128. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/aije/build_pyarmor.py +0 -0
  129. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/aije/build_service.py +0 -0
  130. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/aije/convert_cvat2labelme.py +0 -0
  131. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/aije/convert_labelme2coco.py +0 -0
  132. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/aije/convert_labelme2voc.py +0 -0
  133. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/aije/copy_move.py +0 -0
  134. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/aije/demo_labelme_crop.py +0 -0
  135. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/aije/demo_video_aije.py +0 -0
  136. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/aije/demo_voc_crop.py +0 -0
  137. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/aije/demo_voc_vis.py +0 -0
  138. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/aije/video_convertor.py +0 -0
  139. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/audio/__init__.py +0 -0
  140. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/audio/demo.py +0 -0
  141. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/audio/main.py +0 -0
  142. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/audio/main_read.py +0 -0
  143. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/audio/segment.py +0 -0
  144. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/audio/speechbrain_asr_indoor_prod.py +0 -0
  145. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/audio/speechbrain_demo.py +0 -0
  146. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/captcha/__init__.py +0 -0
  147. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/captcha/demo.py +0 -0
  148. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/class_attribute.py +0 -0
  149. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/class_names.py +0 -0
  150. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/converter/AffectNet.py +0 -0
  151. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/converter/AsianMovie.py +0 -0
  152. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/converter/BITVehicle2voc.py +0 -0
  153. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/converter/BSTLD2voc.py +0 -0
  154. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/converter/CCPD.py +0 -0
  155. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/converter/CCPD2voc.py +0 -0
  156. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/converter/FL3D_dataset.py +0 -0
  157. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/converter/FreiHAND2coco.py +0 -0
  158. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/converter/MTFL2voc.py +0 -0
  159. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/converter/TT100K.py +0 -0
  160. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/converter/WaterMeters1.py +0 -0
  161. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/converter/WaterMeters2.py +0 -0
  162. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/converter/__init__.py +0 -0
  163. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/converter/concat_coco.py +0 -0
  164. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/converter/convert_coco2voc.py +0 -0
  165. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/converter/convert_cvat2labelme.py +0 -0
  166. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/converter/convert_gesture2hand.py +0 -0
  167. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/converter/convert_labelme2coco.py +0 -0
  168. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/converter/convert_labelme2cvat.py +0 -0
  169. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/converter/convert_labelme2voc.py +0 -0
  170. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/converter/convert_voc2labelme.py +0 -0
  171. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/converter/fatigue_driving.py +0 -0
  172. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/converter/fdd_dataset.py +0 -0
  173. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/converter/get_pair_data.py +0 -0
  174. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/converter/handpose2coco.py +0 -0
  175. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/converter/insects_for_aichallenger.py +0 -0
  176. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/converter/tt100k_utils.py +0 -0
  177. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/converter/ua_detrac2voc.py +0 -0
  178. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/converter/ucf101_dataset.py +0 -0
  179. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/converter/voc_sbd2labelme.py +0 -0
  180. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/cython_build/__init__.py +0 -0
  181. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/cython_build/build_cython.py +0 -0
  182. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/cython_build/build_pyarmor.py +0 -0
  183. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/cython_build/cryptography_demo.py +0 -0
  184. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/cython_build/fun_sum.py +0 -0
  185. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/cython_build/main.py +0 -0
  186. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/cython_build/model_des_enctypt.py +0 -0
  187. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/cython_build/model_enctypt.py +0 -0
  188. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/demo1.py +0 -0
  189. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/demo2.py +0 -0
  190. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/demo3.py +0 -0
  191. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/demo_async_await1.py +0 -0
  192. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/demo_async_await2.py +0 -0
  193. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/demo_coco_vis.py +0 -0
  194. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/demo_copy_files.py +0 -0
  195. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/demo_copy_files_for_voc.py +0 -0
  196. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/demo_ffmpy.py +0 -0
  197. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/demo_for_pair_file.py +0 -0
  198. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/demo_for_polygon.py +0 -0
  199. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/demo_for_trt.py +0 -0
  200. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/demo_get_file_list.py +0 -0
  201. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/demo_gif.py +0 -0
  202. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/demo_gif_video.py +0 -0
  203. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/demo_image_crop.py +0 -0
  204. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/demo_kpts.py +0 -0
  205. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/demo_labelme.py +0 -0
  206. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/demo_labelme_crop.py +0 -0
  207. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/demo_lableme_vis.py +0 -0
  208. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/demo_metrics.py +0 -0
  209. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/demo_mouse.py +0 -0
  210. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/demo_nii.py +0 -0
  211. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/demo_pandas.py +0 -0
  212. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/demo_plot.py +0 -0
  213. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/demo_rename.py +0 -0
  214. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/demo_standard_image .py +0 -0
  215. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/demo_standard_video .py +0 -0
  216. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/demo_taichi.py +0 -0
  217. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/demo_video.py +0 -0
  218. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/demo_voc_crop.py +0 -0
  219. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/demo_voc_vis.py +0 -0
  220. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/demo_word_similar.py +0 -0
  221. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/demo_worker1.py +0 -0
  222. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/demo_worker2.py +0 -0
  223. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/detector/__init__.py +0 -0
  224. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/detector/demo.py +0 -0
  225. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/detector/detect_face_person.py +0 -0
  226. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/detector/predet_labelme.py +0 -0
  227. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/edit_distance/__init__.py +0 -0
  228. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/edit_distance/demo.py +0 -0
  229. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/edit_distance/text_matching.py +0 -0
  230. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/flask_demo/__init__.py +0 -0
  231. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/flask_demo/func.py +0 -0
  232. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/flask_demo/server.py +0 -0
  233. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/image_correction/__init__.py +0 -0
  234. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/image_correction/demo_correction_v1.py +0 -0
  235. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/image_correction/demo_correction_v2.py +0 -0
  236. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/image_correction/demo_correction_v3.py +0 -0
  237. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/kafka_worker.py +0 -0
  238. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/men_tracemalloc.py +0 -0
  239. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/performance.py +0 -0
  240. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/pose/__init__.py +0 -0
  241. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/pose/human_pose.py +0 -0
  242. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/registry/__init__.py +0 -0
  243. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/registry/base.py +0 -0
  244. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/registry/component.py +0 -0
  245. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/registry/main.py +0 -0
  246. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/registry/register.py +0 -0
  247. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/test_fr/__init__.py +0 -0
  248. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/test_fr/demo11.py +0 -0
  249. {pybaseutils-2.1.1 → pybaseutils-2.1.2}/test_py/test_fr/idcardocr.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pybaseutils
3
- Version: 2.1.1
3
+ Version: 2.1.2
4
4
  Summary: pybaseutils
5
5
  Home-page: https://github.com/PanJinquan/base-utils
6
6
  Author: PanJinquan
@@ -5,4 +5,4 @@
5
5
  @Date : 2019-05-07 17:40:27
6
6
  """
7
7
 
8
- __version__ = '2.1.1'
8
+ __version__ = '2.1.2'
@@ -11,30 +11,54 @@ from sklearn import metrics, preprocessing
11
11
  import heapq
12
12
 
13
13
 
14
- def matching_embedding(inputs, target, use_max=False):
14
+ def feature_norm(x, axis=-1):
15
15
  """
16
- 按照最小L2距离进行特征匹配
16
+ 特征归一化:
17
+ y = x / x.norm(dim=-1, keepdim=True) # torch
18
+ y = x / np.linalg.norm(x, axis=-1, keepdims=True) # numpy
19
+ :param x: 输入二维矩阵(N,embedding-size),每行是一个样本,样本特征维度为embedding-size
20
+ :param axis:
21
+ :return:
22
+ """
23
+ y = x / np.linalg.norm(x, axis=axis, keepdims=True)
24
+ return y
25
+
26
+
27
+ def feature_similarity(inputs, target):
28
+ """
29
+ 计算特征相似性
30
+ similarity = inputs @ target.T # torch
31
+ similarity = np.sum(inputs * target, axis=-1) # numpy
17
32
  :param inputs: 输入待匹配的特点,shape=(n,D),其中n表示样本个数,D表示特征维度
18
33
  :param target: 目标匹配数据库,shape=(N,D),其中N表示数据库样本个数,D表示特征维度
19
- :param use_max: False:按照最小距离进行匹配,True:按照最大距离进行匹配
20
- :return: indexes: 与target匹配的索引
21
- distance:与target匹配的最小L2距离(欧式距离=np.sqrt(L2)=np.sqrt(distance))
34
+ :return: similarity
22
35
  """
23
36
  assert inputs.shape[1] == target.shape[1] # 特征维度必须一致
24
- data = np.expand_dims(inputs, axis=-1) # (n,512)->(n,512,1)
25
- dataset = target.image_demo(1, 0) # (N, 512)->(512, N)
26
- dataset = np.expand_dims(dataset, axis=0) # (1,512, N)
27
- diff = data - dataset # (n, 512, 1) - (1, 512, N) = (n, 512, N)
28
- dist = np.sum(np.power(diff, 2), axis=1) # (n, N)
37
+ inputs_ = np.expand_dims(inputs, axis=1) # (b,512)->(b,1,512)
38
+ target_ = np.expand_dims(target, axis=0) # (n, 512)->(1, n, 512)
39
+ similarity = np.sum(inputs_ * target_, axis=-1) # (b,1,512) * (1, n, 512)
40
+ return similarity
41
+
42
+
43
+ def feature_matching(inputs, target, use_max=True):
44
+ """
45
+ 按照相似程度进行特征匹配,输入特征数据必须进行特征归一化:
46
+ y = x / x.norm(dim=-1, keepdim=True) # torch
47
+ y = x / np.linalg.norm(x, axis=-1, keepdims=True) # numpy
48
+ :param inputs: 输入待匹配的特点,shape=(n,D),其中n表示样本个数,D表示特征维度
49
+ :param target: 目标匹配数据库,shape=(N,D),其中N表示数据库样本个数,D表示特征维度
50
+ :param use_max:按照相似程度进行匹配
51
+ :return: index: 与target匹配的索引
52
+ score:与target匹配的最小L2距离(欧式距离=np.sqrt(L2)=np.sqrt(distance))
53
+ """
54
+ similarity = feature_similarity(inputs, target)
29
55
  if use_max:
30
- indexes = np.argmax(dist, axis=1)
31
- distance = np.max(dist, axis=1)
32
- # distance = np.asarray([dist[i][c] for i, c in enumerate(indexes)])
56
+ index = np.argmax(similarity, axis=1)
57
+ score = np.max(similarity, axis=1)
33
58
  else:
34
- indexes = np.argmin(dist, axis=1)
35
- distance = np.min(dist, axis=1)
36
- # distance = np.asarray([dist[i][c] for i, c in enumerate(indexes)])
37
- return indexes, distance
59
+ index = np.argmin(similarity, axis=1)
60
+ score = np.min(similarity, axis=1)
61
+ return index, score
38
62
 
39
63
 
40
64
  def get_nearest_point(points, center, axis=1, use_max=False):
@@ -296,8 +320,31 @@ def __print(data, info=""):
296
320
  print("{}".format(data[index]))
297
321
 
298
322
 
323
+ def euclidean_distance(p1, p2, axis=1):
324
+ """
325
+ 计算欧氏距离
326
+ point1 = [[3, 4], [4, 3], [4, 3]]
327
+ center = [[0, 0]]
328
+ point1 = np.asarray(point1)
329
+ center = np.asarray(center)
330
+
331
+ L2-norm=np.sqrt(np.sum(np.square(x), axis=axis))
332
+ L1-norm=np.sum(np.abs(x), axis=axis))
333
+ # 下面三个计算是等价的
334
+ d1 = np.sqrt(numpy_tools.l2(point1 - center, axis=1)) # L2开根号就是欧式距离
335
+ d2 = numpy_utils.norm(point1 - center, p=2, axis=1)
336
+ d3 = numpy_utils.euclidean_distance(point1, center, axis=1)
337
+ """
338
+ d = np.sqrt(np.sum(np.square(p1 - p2), axis=axis))
339
+ return d
340
+
341
+
299
342
  def norm(x, p=1, axis=0):
300
- """L-p范数"""
343
+ """
344
+ L-p范数
345
+ L2-norm=np.sqrt(np.sum(np.square(x), axis=axis))
346
+ L1-norm=np.sum(np.abs(x), axis=axis))
347
+ """
301
348
  y = np.linalg.norm(x, ord=p, axis=axis, keepdims=True)
302
349
  return y
303
350
 
@@ -308,8 +355,14 @@ def l2(x, axis=0):
308
355
  return y
309
356
 
310
357
 
358
+ def l2_norm(x, axis=0):
359
+ """L-2范数"""
360
+ y = np.sqrt(l2(x, axis=axis))
361
+ return y
362
+
363
+
311
364
  def l1(x, axis=0):
312
- """L-1范数"""
365
+ """L-1范数:"""
313
366
  y = np.sum(np.abs(x), axis=axis)
314
367
  return y
315
368
 
@@ -334,22 +387,6 @@ def mean_absolute_error(y_true, y_pre):
334
387
  return l1 / y_true.size
335
388
 
336
389
 
337
- def euclidean_distance(p1, p2, axis=1):
338
- """
339
- 计算欧氏距离
340
- point1 = [[3, 4], [4, 3], [4, 3]]
341
- center = [[0, 0]]
342
- point1 = np.asarray(point1)
343
- center = np.asarray(center)
344
- # 下面三个计算是等价的
345
- d1 = np.sqrt(numpy_tools.l2(point1 - center, axis=1)) # L2开根号就是欧式距离
346
- d2 = numpy_utils.norm(point1 - center, p=2, axis=1)
347
- d3 = numpy_utils.euclidean_distance(point1, center, axis=1)
348
- """
349
- d = np.sqrt(np.sum(np.square(p1 - p2), axis=axis))
350
- return d
351
-
352
-
353
390
  def mean(data):
354
391
  return np.mean(data)
355
392
 
@@ -608,19 +645,8 @@ class Preprocessing(object):
608
645
  if __name__ == "__main__":
609
646
  from pybaseutils import numpy_utils
610
647
 
611
- x = np.array([[1., -1., 2.],
612
- [2., 0., 0.],
613
- [0., 1., -1.]])
614
- y = numpy_utils.Preprocessing.feature_norm(x)
615
- print(y)
616
- # y = Preprocessing.minmax_scaler(x)
617
- # y = Preprocessing.normalization(x)
618
-
619
- value_list = [
620
- [1, 2, 3, 4, 5, 6],
621
- [5, 6, 1, 2, 3, 4],
622
- ]
623
- print(value_list)
624
- top_k_value, top_k_index = get_topK(value_list, k=3, reverse=False)
625
- print(top_k_value)
626
- print(top_k_index)
648
+ y = np.array([[0., 0.1, 0], [0, 0.1, 1], [0, 0.1, 2]])
649
+ x = np.array([[0, 0.1, 1], [0, 0.1, 2], [0., 0.1, 0]])
650
+ x = feature_norm(x)
651
+ y = feature_norm(y)
652
+ print(feature_matching(x, y))
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pybaseutils
3
- Version: 2.1.1
3
+ Version: 2.1.2
4
4
  Summary: pybaseutils
5
5
  Home-page: https://github.com/PanJinquan/base-utils
6
6
  Author: PanJinquan
File without changes
File without changes
File without changes
File without changes