pybaseutils 2.2.3__tar.gz → 2.2.4__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.
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/PKG-INFO +1 -1
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/__init__.py +1 -1
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/converter/build_labelme.py +3 -3
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/dataloader/parser_labelme.py +58 -2
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils.egg-info/PKG-INFO +1 -1
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils.egg-info/SOURCES.txt +1 -0
- pybaseutils-2.2.4/test_py/aije/demo_labelme_shock.py +115 -0
- pybaseutils-2.2.4/test_py/demo2.py +24 -0
- pybaseutils-2.2.3/test_py/demo2.py +0 -37
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/LICENCE +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/README.md +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/audio/__init__.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/audio/audio_utils.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/audio/pyaudio_utils.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/audio/vad_utils.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/base64_utils.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/batch_utils.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/build_utils/__init__.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/build_utils/cython_utils.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/build_utils/pyarmor_utils.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/cluster/__init__.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/cluster/kmean.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/cluster/maxmin_distance.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/cluster/similarity.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/color_utils.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/config_utils.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/converter/__init__.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/converter/build_coco.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/converter/build_cvat.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/converter/build_voc.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/converter/concat_coco.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/converter/convert_coco2labelme.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/converter/convert_coco2voc.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/converter/convert_cvat2labelme.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/converter/convert_labelme2coco.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/converter/convert_labelme2cvat.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/converter/convert_labelme2voc.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/converter/convert_labelme2yolo.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/converter/convert_voc2coco.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/converter/convert_voc2labelme.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/converter/convert_voc2voc.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/converter/convert_voc2yolo.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/converter/convert_yolo2voc.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/coords_utils.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/cvutils/__init__.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/cvutils/corner_utils.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/cvutils/monitor.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/cvutils/mouse_utils.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/cvutils/nms_utils.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/cvutils/video_utils.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/dataloader/__init__.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/dataloader/balanced_classes.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/dataloader/base_coco.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/dataloader/base_dataset.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/dataloader/data_resample.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/dataloader/parser_coco_det.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/dataloader/parser_coco_ins.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/dataloader/parser_coco_kps.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/dataloader/parser_image_folder.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/dataloader/parser_image_text.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/dataloader/parser_voc.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/dataloader/parser_yolo.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/dataloader/voc_seg_utils.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/file_utils.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/filter/QueueTable.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/filter/__init__.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/filter/demo.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/filter/kalman_filter.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/filter/mean_filter.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/filter/motion_filter.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/filter/pose_filter.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/font_style/__init__.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/font_utils.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/geometry_tools.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/heatmap_utils.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/image_utils.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/json_utils.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/log.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/log_utils.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/logger.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/metrics/__init__.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/metrics/accuracy.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/metrics/average_meter.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/metrics/class_report.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/metrics/plot_pr.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/metrics/plot_roc.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/numpy_utils.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/pandas_utils.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/plot_utils.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/pose/__init__.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/pose/bones_utils.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/pose/human_pose.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/pose/pose_utils.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/pycpp/__init__.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/pycpp/demo.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/pycpp/main.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/server/__init__.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/server/apm_server.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/setup_config.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/singleton_utils.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/text_utils.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/thread_utils.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/time_utils.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/tracemalloc_utils.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/tracemalloc_utils2.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/tracking/QueueTable.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/tracking/__init__.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/tracking/demo.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/tracking/kalman_filter.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/tracking/mean_filter.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/tracking/motion_filter.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/tracking/pose_filter.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/transforms/__init__.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/transforms/affine_transform.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/transforms/augment_utils.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/transforms/face_alignment.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/transforms/transform_utils.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/word_utils.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/worker.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils/yaml_utils.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils.egg-info/dependency_links.txt +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils.egg-info/not-zip-safe +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/pybaseutils.egg-info/top_level.txt +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/setup.cfg +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/setup.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/Image_enhance/__init__.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/Image_enhance/dmeo01.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/WebCrawler/__init__.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/WebCrawler/search_image.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/WebCrawler/search_image_for_baidu.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/__init__.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/aije/__init__.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/aije/action_dataset.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/aije/build_cython.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/aije/build_pyarmor.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/aije/build_service.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/aije/convert_cvat2labelme.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/aije/convert_labelme2coco.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/aije/convert_labelme2voc.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/aije/copy_move.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/aije/demo_labelme_crop.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/aije/demo_video_aije.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/aije/demo_voc_crop.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/aije/demo_voc_vis.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/aije/get_pair_data.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/aije/video_convertor.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/audio/__init__.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/audio/demo.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/audio/main.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/audio/main_read.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/audio/segment.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/audio/speechbrain_asr_indoor_prod.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/audio/speechbrain_demo.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/captcha/__init__.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/captcha/demo.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/class_attribute.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/class_names.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/converter/AffectNet.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/converter/AsianMovie.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/converter/BITVehicle2voc.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/converter/BSTLD2voc.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/converter/CCPD.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/converter/CCPD2voc.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/converter/FL3D_dataset.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/converter/FreiHAND2coco.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/converter/MTFL2voc.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/converter/TT100K.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/converter/WaterMeters1.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/converter/WaterMeters2.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/converter/__init__.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/converter/concat_coco.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/converter/convert_coco2voc.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/converter/convert_cvat2labelme.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/converter/convert_gesture2hand.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/converter/convert_labelme2coco.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/converter/convert_labelme2cvat.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/converter/convert_labelme2voc.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/converter/convert_voc2labelme.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/converter/fatigue_driving.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/converter/fdd_dataset.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/converter/get_pair_data.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/converter/handpose2coco.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/converter/insects_for_aichallenger.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/converter/tt100k_utils.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/converter/ua_detrac2voc.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/converter/ucf101_dataset.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/converter/voc_sbd2labelme.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/cython_build/__init__.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/cython_build/build_cython.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/cython_build/build_pyarmor.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/cython_build/cryptography_demo.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/cython_build/fun_sum.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/cython_build/main.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/cython_build/model_des_enctypt.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/cython_build/model_enctypt.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/demo1.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/demo3.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/demo_async_await1.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/demo_async_await2.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/demo_coco_vis.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/demo_copy_files.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/demo_copy_files_for_voc.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/demo_ffmpy.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/demo_for_pair_file.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/demo_for_polygon.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/demo_for_trt.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/demo_get_file_label.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/demo_get_file_list.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/demo_gif.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/demo_gif_video.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/demo_image_crop.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/demo_kpts.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/demo_labelme.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/demo_labelme_crop.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/demo_lableme_vis.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/demo_metrics.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/demo_mouse.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/demo_nii.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/demo_pandas.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/demo_plot.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/demo_rename.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/demo_standard_image .py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/demo_standard_video .py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/demo_taichi.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/demo_video.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/demo_video_crop.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/demo_voc_crop.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/demo_voc_vis.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/demo_word_similar.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/demo_worker1.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/demo_worker2.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/detector/__init__.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/detector/demo.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/detector/detect_face_person.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/detector/predet_labelme.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/edit_distance/__init__.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/edit_distance/demo.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/edit_distance/text_matching.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/flask_demo/__init__.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/flask_demo/func.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/flask_demo/server.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/get_file_list.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/image_correction/__init__.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/image_correction/demo_correction_v1.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/image_correction/demo_correction_v2.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/image_correction/demo_correction_v3.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/kafka_worker.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/men_tracemalloc.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/milvus_demo/__init__.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/milvus_demo/demo01.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/milvus_demo/demo02.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/milvus_demo/hello_milvus.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/milvus_demo/milvus_client.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/performance.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/pose/__init__.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/pose/human_pose.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/redis_py/__init__.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/redis_py/knn_search.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/redis_py/redis_client.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/registry/__init__.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/registry/base.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/registry/component.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/registry/main.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/registry/register.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/single_class/GRU.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/single_class/TCN.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/single_class/__init__.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/single_class/demo.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/test_fr/__init__.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/test_fr/demo11.py +0 -0
- {pybaseutils-2.2.3 → pybaseutils-2.2.4}/test_py/test_fr/idcardocr.py +0 -0
|
@@ -12,7 +12,7 @@ from tqdm import tqdm
|
|
|
12
12
|
from pybaseutils import image_utils, file_utils, json_utils
|
|
13
13
|
|
|
14
14
|
|
|
15
|
-
def maker_labelme(json_file, points, labels, image_name, image_size, image_bs64=None):
|
|
15
|
+
def maker_labelme(json_file, points, labels, image_name, image_size, keypoints=[], image_bs64=None):
|
|
16
16
|
"""
|
|
17
17
|
制作label数据格式
|
|
18
18
|
:param json_file: 保存json文件路径
|
|
@@ -30,8 +30,8 @@ def maker_labelme(json_file, points, labels, image_name, image_size, image_bs64=
|
|
|
30
30
|
# point = [[x1,y1],[x2,y2],...,[xn,yn]]
|
|
31
31
|
if isinstance(point, np.ndarray): point = point.tolist()
|
|
32
32
|
if not isinstance(point[0], list): point = [point]
|
|
33
|
-
item = {"label": label, "line_color": None, "fill_color": None,
|
|
34
|
-
"points": point, "shape_type": "polygon", "flags": {}}
|
|
33
|
+
item = {"label": label, "score": None, "keypoints": keypoints, "line_color": None, "fill_color": None,
|
|
34
|
+
"group_id": None, "points": point, "shape_type": "polygon", "flags": {}, "description": ""}
|
|
35
35
|
shapes.append(item)
|
|
36
36
|
data = {
|
|
37
37
|
"version": "3.16.7", "flags": {},
|
|
@@ -11,10 +11,9 @@ import cv2
|
|
|
11
11
|
import glob
|
|
12
12
|
import random
|
|
13
13
|
import numbers
|
|
14
|
-
import torch
|
|
15
14
|
import json
|
|
16
15
|
from tqdm import tqdm
|
|
17
|
-
from pybaseutils import image_utils, file_utils, json_utils
|
|
16
|
+
from pybaseutils import image_utils, file_utils, json_utils, text_utils
|
|
18
17
|
from pybaseutils.dataloader.base_dataset import Dataset, ConcatDataset
|
|
19
18
|
|
|
20
19
|
|
|
@@ -327,6 +326,63 @@ class LabelMeDataset(Dataset):
|
|
|
327
326
|
height = -1
|
|
328
327
|
return annos, width, height
|
|
329
328
|
|
|
329
|
+
@staticmethod
|
|
330
|
+
def get_targets(data_info: dict, targets, keys=['points', 'boxes', 'labels', 'groups', 'names']):
|
|
331
|
+
names = data_info["names"]
|
|
332
|
+
out = {}
|
|
333
|
+
for i in range(len(names)):
|
|
334
|
+
matches = text_utils.find_match_texts(texts=[names[i]], pattern=targets, org=True)
|
|
335
|
+
if len(matches) > 0:
|
|
336
|
+
for k in keys:
|
|
337
|
+
if k in data_info: out[k] = out.get(k, []) + [data_info[k][i]]
|
|
338
|
+
return out
|
|
339
|
+
|
|
340
|
+
@staticmethod
|
|
341
|
+
def get_sub2superclass(data_info, superclass, subclass, scale=[], square=True, vis=False):
|
|
342
|
+
"""
|
|
343
|
+
通过IOU的方式,将子类属性分配给父类中
|
|
344
|
+
:param data_info:
|
|
345
|
+
:param superclass: 父类
|
|
346
|
+
:param subclass: 子类
|
|
347
|
+
:param scale: 对superclass进行缩放
|
|
348
|
+
:param square: 对superclass
|
|
349
|
+
:param vis:
|
|
350
|
+
:return:
|
|
351
|
+
"""
|
|
352
|
+
image, file = data_info["image"], data_info["image_file"]
|
|
353
|
+
target_info = LabelMeDataset.get_targets(data_info, targets=superclass)
|
|
354
|
+
attibu_info = LabelMeDataset.get_targets(data_info, targets=subclass)
|
|
355
|
+
item_list = []
|
|
356
|
+
for i in range(len(target_info.get("boxes", []))):
|
|
357
|
+
tbbox = [target_info["boxes"][i]]
|
|
358
|
+
tname = [target_info["names"][i]]
|
|
359
|
+
if square:
|
|
360
|
+
tbbox = image_utils.get_square_boxes(tbbox, use_max=True, baseline=-1)
|
|
361
|
+
if scale:
|
|
362
|
+
tbbox = image_utils.extend_xyxy(tbbox, scale=scale)
|
|
363
|
+
item = {} #
|
|
364
|
+
for j in range(len(attibu_info.get("boxes", []))):
|
|
365
|
+
abox = attibu_info["boxes"][j]
|
|
366
|
+
iou = image_utils.get_box_iom(tbbox[0], abox)
|
|
367
|
+
if iou > 0:
|
|
368
|
+
item["ious"] = item.get("ious", []) + [iou]
|
|
369
|
+
for k, v in attibu_info.items():
|
|
370
|
+
item[k] = item.get(k, []) + [v[j]]
|
|
371
|
+
item_list.append(dict(file=file, box=tbbox[0], name=tname[0], attribute=item))
|
|
372
|
+
if vis:
|
|
373
|
+
image = image_utils.draw_image_boxes_texts(image, tbbox, tname, thickness=2, fontScale=1.0,
|
|
374
|
+
drawType="ch", color=image_utils.color_table[i + 1])
|
|
375
|
+
texts = [f"{n} {s:3.2f}" for n, s in zip(item.get("names", []), item.get("ious", []))]
|
|
376
|
+
image = image_utils.draw_image_boxes_texts(image,
|
|
377
|
+
item.get("boxes", []),
|
|
378
|
+
texts,
|
|
379
|
+
thickness=2,
|
|
380
|
+
fontScale=1.0,
|
|
381
|
+
color=image_utils.color_table[i + 1],
|
|
382
|
+
drawType="ch")
|
|
383
|
+
image_utils.cv_show_image("instance", image)
|
|
384
|
+
return item_list
|
|
385
|
+
|
|
330
386
|
|
|
331
387
|
def LabelMeDatasets(filename=None,
|
|
332
388
|
data_root=None,
|
|
@@ -177,6 +177,7 @@ test_py/aije/convert_labelme2coco.py
|
|
|
177
177
|
test_py/aije/convert_labelme2voc.py
|
|
178
178
|
test_py/aije/copy_move.py
|
|
179
179
|
test_py/aije/demo_labelme_crop.py
|
|
180
|
+
test_py/aije/demo_labelme_shock.py
|
|
180
181
|
test_py/aije/demo_video_aije.py
|
|
181
182
|
test_py/aije/demo_voc_crop.py
|
|
182
183
|
test_py/aije/demo_voc_vis.py
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
# -*-coding: utf-8 -*-
|
|
2
|
+
"""
|
|
3
|
+
@Author : PKing
|
|
4
|
+
@E-mail : 390737991@qq.com
|
|
5
|
+
@Date : 2022-11-29 18:11:47
|
|
6
|
+
@Brief :
|
|
7
|
+
"""
|
|
8
|
+
import os
|
|
9
|
+
import cv2
|
|
10
|
+
from tqdm import tqdm
|
|
11
|
+
from pybaseutils.dataloader import parser_labelme
|
|
12
|
+
from pybaseutils import image_utils, file_utils, json_utils
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
def save_object_crops(data_info, item_list, out_dir, class_name=None, scale=[], square=False,
|
|
16
|
+
padding=False, min_size=20 * 20 * 3, flag="", vis=False):
|
|
17
|
+
"""
|
|
18
|
+
对VOC的数据目标进行裁剪
|
|
19
|
+
:param image:
|
|
20
|
+
:param out_dir:
|
|
21
|
+
:param bboxes:
|
|
22
|
+
:param labels:
|
|
23
|
+
:param image_id:
|
|
24
|
+
:param class_name:
|
|
25
|
+
:param scale:
|
|
26
|
+
:param square:
|
|
27
|
+
:param padding:
|
|
28
|
+
:param flag:
|
|
29
|
+
:param vis:
|
|
30
|
+
:return:
|
|
31
|
+
"""
|
|
32
|
+
image_file, image = data_info["image_file"], data_info["image"]
|
|
33
|
+
image_id = os.path.basename(image_file).split(".")[0]
|
|
34
|
+
h, w = image.shape[:2]
|
|
35
|
+
for i, item in enumerate(item_list):
|
|
36
|
+
if len(item['box']) == 0: continue
|
|
37
|
+
bboxes = [item['box']]
|
|
38
|
+
labels = [item['name']]
|
|
39
|
+
attrib_name = json_utils.get_value(item, key=['attribute', 'names'], default=[])
|
|
40
|
+
if square:
|
|
41
|
+
bboxes = image_utils.get_square_boxes(bboxes, use_max=True, baseline=-1)
|
|
42
|
+
if scale:
|
|
43
|
+
bboxes = image_utils.extend_xyxy(bboxes, scale=scale)
|
|
44
|
+
if padding:
|
|
45
|
+
crops = image_utils.get_bboxes_crop_padding(image, bboxes)
|
|
46
|
+
else:
|
|
47
|
+
crops = image_utils.get_bboxes_crop(image, bboxes)
|
|
48
|
+
img = crops[0]
|
|
49
|
+
if img.size < min_size: continue
|
|
50
|
+
name = "_".join(labels + list(set(attrib_name)))
|
|
51
|
+
if out_dir:
|
|
52
|
+
file_name = "{}_{:0=4d}_{}.jpg".format(image_id, i, flag) if flag else "{}_{:0=4d}.jpg".format(image_id,
|
|
53
|
+
i)
|
|
54
|
+
img_file = file_utils.create_dir(out_dir, name, file_name)
|
|
55
|
+
cv2.imwrite(img_file, img)
|
|
56
|
+
if vis:
|
|
57
|
+
m = image_utils.draw_image_bboxes_labels(image.copy(), bboxes, labels, class_name=class_name,
|
|
58
|
+
thickness=2, fontScale=0.8, drawType="chinese")
|
|
59
|
+
image_utils.cv_show_image("image", m, use_rgb=False, delay=0)
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
if __name__ == "__main__":
|
|
63
|
+
"""
|
|
64
|
+
对VOC的数据目标进行裁剪
|
|
65
|
+
室内:['主杆', '从此进出标示牌', '其他鞋', '吊物绳', '在此工作标示牌', '垫子', '安全带', '安全帽', '安全绳',
|
|
66
|
+
'导线头', '尖嘴钳', '工具袋', '手', '扳手', '抹布', '未穿工作服','柱式绝缘子', '止步高压危险标示牌',
|
|
67
|
+
'绝缘手套', '绝缘鞋', '脚扣', '螺丝', '身穿工作服', '遮拦杆', '铁架', '铝扎线']
|
|
68
|
+
室外: []
|
|
69
|
+
"""
|
|
70
|
+
# TODO 其他试题
|
|
71
|
+
anno_dir = [
|
|
72
|
+
"/home/PKing/nasdata/dataset-dmai/AIJE/dataset/aije-v2-det/dataset-v21/images",
|
|
73
|
+
"/home/PKing/nasdata/dataset-dmai/AIJE/dataset/aije-v2-det/dataset-v22/images",
|
|
74
|
+
"/home/PKing/nasdata/dataset-dmai/AIJE/dataset/aije-v2-det/dataset-v23/images",
|
|
75
|
+
"/home/PKing/nasdata/dataset-dmai/AIJE/dataset/aije-v2-det/dataset-v24/images",
|
|
76
|
+
"/home/PKing/nasdata/dataset-dmai/AIJE/dataset/aije-v2-det/dataset-v26/images",
|
|
77
|
+
"/home/PKing/nasdata/dataset-dmai/AIJE/dataset/aije-v2-det/dataset-v27/images",
|
|
78
|
+
"/home/PKing/nasdata/dataset-dmai/AIJE/dataset/aije-v2-det/dataset-v29/images",
|
|
79
|
+
"/home/PKing/nasdata/dataset-dmai/AIJE/dataset/aije-v2-det/dataset-v29-test/images",
|
|
80
|
+
]
|
|
81
|
+
out_dir = "/home/PKing/nasdata/dataset-dmai/AIJE/dataset/aije-shock/dataset-others/待分类"
|
|
82
|
+
|
|
83
|
+
# TODO 更换绝缘子
|
|
84
|
+
# anno_dir = [
|
|
85
|
+
# "/home/PKing/nasdata/dataset-dmai/AIJE/dataset/aije-v2-det/dataset-v25/images",
|
|
86
|
+
# "/home/PKing/nasdata/dataset-dmai/AIJE/dataset/aije-v2-det/dataset-v28/images",
|
|
87
|
+
# "/home/PKing/nasdata/dataset-dmai/AIJE/dataset/aije-shock/dataset-sample/images",
|
|
88
|
+
# ]
|
|
89
|
+
# out_dir = "/home/PKing/nasdata/dataset-dmai/AIJE/dataset/aije-shock/dataset-v1/待分类"
|
|
90
|
+
|
|
91
|
+
superclass = ["主杆"]
|
|
92
|
+
subclass = ['未穿工作服', '身穿工作服']
|
|
93
|
+
class_name = superclass + subclass
|
|
94
|
+
dataset = parser_labelme.LabelMeDatasets(filename=None,
|
|
95
|
+
data_root=None,
|
|
96
|
+
anno_dir=anno_dir,
|
|
97
|
+
image_dir=None,
|
|
98
|
+
class_name=class_name,
|
|
99
|
+
check=False,
|
|
100
|
+
phase="val",
|
|
101
|
+
shuffle=False)
|
|
102
|
+
print("have num:{}".format(len(dataset)))
|
|
103
|
+
class_name = dataset.class_name
|
|
104
|
+
scale = [1.0, 1.0]
|
|
105
|
+
flag = str(scale[0]).replace(".", "p")
|
|
106
|
+
flag = None
|
|
107
|
+
for i in tqdm(range(len(dataset))):
|
|
108
|
+
data_info = dataset.__getitem__(i)
|
|
109
|
+
item_list = parser_labelme.LabelMeDataset.get_sub2superclass(data_info,
|
|
110
|
+
superclass=superclass,
|
|
111
|
+
subclass=subclass,
|
|
112
|
+
square=True,
|
|
113
|
+
scale=scale,
|
|
114
|
+
vis=False)
|
|
115
|
+
save_object_crops(data_info, item_list, out_dir, flag=flag, vis=False)
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# -*-coding: utf-8 -*-
|
|
2
|
+
"""
|
|
3
|
+
@Author : PKing
|
|
4
|
+
@E-mail : 390737991@qq.com
|
|
5
|
+
@Date : 2022-12-31 11:37:30
|
|
6
|
+
@Brief : https://blog.csdn.net/qdPython/article/details/121381363
|
|
7
|
+
"""
|
|
8
|
+
import os
|
|
9
|
+
import cv2
|
|
10
|
+
import random
|
|
11
|
+
import types
|
|
12
|
+
import torch
|
|
13
|
+
import numpy as np
|
|
14
|
+
from typing import Callable
|
|
15
|
+
from pybaseutils import image_utils, file_utils, text_utils
|
|
16
|
+
from pybaseutils.cvutils import video_utils
|
|
17
|
+
import cv2
|
|
18
|
+
import re
|
|
19
|
+
|
|
20
|
+
if __name__ == '__main__':
|
|
21
|
+
file = "/home/PKing/nasdata/dataset-dmai/AIJE/dataset/aije-action-cvlm-v2/action-names.txt"
|
|
22
|
+
outputs = [torch.tensor(1, dtype=torch.int64), torch.tensor(1, dtype=torch.int64)]
|
|
23
|
+
data = torch.stack(outputs)
|
|
24
|
+
print(data)
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
# -*-coding: utf-8 -*-
|
|
2
|
-
"""
|
|
3
|
-
@Author : PKing
|
|
4
|
-
@E-mail : 390737991@qq.com
|
|
5
|
-
@Date : 2022-12-31 11:37:30
|
|
6
|
-
@Brief : https://blog.csdn.net/qdPython/article/details/121381363
|
|
7
|
-
"""
|
|
8
|
-
import os
|
|
9
|
-
import cv2
|
|
10
|
-
import random
|
|
11
|
-
import types
|
|
12
|
-
import torch
|
|
13
|
-
import numpy as np
|
|
14
|
-
from typing import Callable
|
|
15
|
-
from pybaseutils import image_utils, file_utils, text_utils
|
|
16
|
-
from pybaseutils.cvutils import video_utils
|
|
17
|
-
import cv2
|
|
18
|
-
import re
|
|
19
|
-
|
|
20
|
-
if __name__ == '__main__':
|
|
21
|
-
file = "/home/PKing/nasdata/dataset-dmai/AIJE/dataset/aije-action-cvlm-v2/action-names.txt"
|
|
22
|
-
files = file_utils.read_data(file, split=None)
|
|
23
|
-
names = []
|
|
24
|
-
for file in files:
|
|
25
|
-
name = os.path.basename(file)
|
|
26
|
-
names.append(name)
|
|
27
|
-
names = list(set(names))
|
|
28
|
-
names = text_utils.find_match_texts(texts=names, pattern=["手拿*"])
|
|
29
|
-
names = list(set(names))
|
|
30
|
-
print(names)
|
|
31
|
-
names = ['手拿钳形电流表', '手拿相序表', '手拿护目镜', '手拿万用表', '手拿尖嘴钳', '手拿螺丝刀', '手拿万能表', '手拿扳手',
|
|
32
|
-
'手拿安全帽', '手拿安全带', '手拿安全围网', '手拿安全绳', '手拿吊物绳', '手拿抹布', '手拿熔断器熔管', '手拿工具袋',
|
|
33
|
-
'手拿采集器', '手拿瓷横担绝缘子', '手拿玻璃绝缘子', '手拿棉纱手套', '手拿绝缘手套,手拿橡胶手套,手拿其他手套',
|
|
34
|
-
'手拿长筒靴', '手拿绝缘垫', '手拿垫子', '手拿熔断器', '手拿卡线器', '手拿紧线器', '手拿验电器', '手拿验电笔', '手拿遮拦杆',
|
|
35
|
-
'手拿核相器', '手拿钢丝绳', '手拿美工刀', '手拿脚扣', '手拿兆欧表', '手拿绝缘胶布', '手拿绝缘杆', '手拿绝缘棒',
|
|
36
|
-
'手拿绝缘挡板', '手拿从此进入指示牌,手拿从此进出标示牌,手拿止步高压危险指示牌,手拿止步高压危险表示牌,手拿止步高压危险标示牌,手拿在此工作标示牌,手拿禁止合闸线路有人工作标示牌']
|
|
37
|
-
print(len(names))
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|