Spaces:
Running
on
Zero
Running
on
Zero
| from pathlib import Path | |
| import os | |
| import re | |
| #Thanks ChatGPT | |
| pattern = r'\bfrom_pretrained\(.*?pretrained_model_or_path\s*=\s*(.*?)(?:,|\))|filename\s*=\s*(.*?)(?:,|\))|(\w+_filename)\s*=\s*(.*?)(?:,|\))' | |
| aux_dir = Path(__file__).parent / 'src' / 'custom_controlnet_aux' | |
| VAR_DICT = dict( | |
| HF_MODEL_NAME = "lllyasviel/Annotators", | |
| DWPOSE_MODEL_NAME = "yzd-v/DWPose", | |
| BDS_MODEL_NAME = "bdsqlsz/qinglong_controlnet-lllite", | |
| DENSEPOSE_MODEL_NAME = "LayerNorm/DensePose-TorchScript-with-hint-image", | |
| MESH_GRAPHORMER_MODEL_NAME = "hr16/ControlNet-HandRefiner-pruned", | |
| SAM_MODEL_NAME = "dhkim2810/MobileSAM", | |
| UNIMATCH_MODEL_NAME = "hr16/Unimatch", | |
| DEPTH_ANYTHING_MODEL_NAME = "LiheYoung/Depth-Anything", #HF Space | |
| DIFFUSION_EDGE_MODEL_NAME = "hr16/Diffusion-Edge" | |
| ) | |
| re_result_dict = {} | |
| for preprocc in os.listdir(aux_dir): | |
| if preprocc in ["__pycache__", 'tests']: continue | |
| if '.py' in preprocc: continue | |
| f = open(aux_dir / preprocc / '__init__.py', 'r') | |
| code = f.read() | |
| matches = re.findall(pattern, code) | |
| result = [match[0] or match[1] or match[3] for match in matches] | |
| if not len(result): | |
| print(preprocc) | |
| continue | |
| result = [el.replace("'", '').replace('"', '') for el in result] | |
| result = [VAR_DICT.get(el, el) for el in result] | |
| re_result_dict[preprocc] = result | |
| f.close() | |
| for preprocc, re_result in re_result_dict.items(): | |
| model_name, filenames = re_result[0], re_result[1:] | |
| print(f"* {preprocc}: ", end=' ') | |
| assests_md = ', '.join([f"[{model_name}/{filename}](https://huggingface.co/{model_name}/blob/main/{filename})" for filename in filenames]) | |
| print(assests_md) | |
| preprocc = "dwpose" | |
| model_name, filenames = VAR_DICT['DWPOSE_MODEL_NAME'], ["yolox_l.onnx", "dw-ll_ucoco_384.onnx"] | |
| print(f"* {preprocc}: ", end=' ') | |
| assests_md = ', '.join([f"[{model_name}/{filename}](https://huggingface.co/{model_name}/blob/main/{filename})" for filename in filenames]) | |
| print(assests_md) | |
| preprocc = "yolo-nas" | |
| model_name, filenames = "hr16/yolo-nas-fp16", ["yolo_nas_l_fp16.onnx", "yolo_nas_m_fp16.onnx", "yolo_nas_s_fp16.onnx"] | |
| print(f"* {preprocc}: ", end=' ') | |
| assests_md = ', '.join([f"[{model_name}/{filename}](https://huggingface.co/{model_name}/blob/main/{filename})" for filename in filenames]) | |
| print(assests_md) | |
| preprocc = "dwpose-torchscript" | |
| model_name, filenames = "hr16/DWPose-TorchScript-BatchSize5", ["dw-ll_ucoco_384_bs5.torchscript.pt", "rtmpose-m_ap10k_256_bs5.torchscript.pt"] | |
| print(f"* {preprocc}: ", end=' ') | |
| assests_md = ', '.join([f"[{model_name}/{filename}](https://huggingface.co/{model_name}/blob/main/{filename})" for filename in filenames]) | |
| print(assests_md) |