Spaces:
Runtime error
Runtime error
| import requests | |
| import re | |
| DET_MODELS_FILENAME = 'det_models.txt' | |
| SEG_MODELS_FILENAME = 'seg_models.txt' | |
| CLS_MODELS_FILENAME = 'cls_models.txt' | |
| def load_models_from_txt_files(): | |
| """Load models from txt files.""" | |
| with open(DET_MODELS_FILENAME, 'r') as file: | |
| det_models = [line.strip() for line in file] | |
| with open(SEG_MODELS_FILENAME, 'r') as file: | |
| seg_models = [line.strip() for line in file] | |
| with open(CLS_MODELS_FILENAME, 'r') as file: | |
| cls_models = [line.strip() for line in file] | |
| return det_models, seg_models, cls_models | |
| def get_dataset_id_from_model_id(model_id): | |
| """ | |
| Gets the dataset ID from the README file for a given Hugging Face model ID. | |
| Args: | |
| model_id (str): The Hugging Face model ID. | |
| Returns: | |
| The dataset ID as a string, or None if the dataset ID cannot be found. | |
| """ | |
| # Define the URL of the README file for the model | |
| readme_url = f"https://huggingface.co/{model_id}/raw/main/README.md" | |
| # Make a GET request to the README URL and get the contents | |
| response = requests.get(readme_url) | |
| readme_contents = response.text | |
| # Use regular expressions to search for the dataset ID in the README file | |
| match = re.search(r"datasets:\s*\n- (\S+)", readme_contents) | |
| # If a match is found, extract the dataset ID and return it. Otherwise, return None. | |
| if match is not None: | |
| dataset_id = match.group(1) | |
| return dataset_id | |
| else: | |
| return None | |
| def get_task_from_readme(model_id): | |
| """ | |
| Gets the task from the README file for a given Hugging Face model ID. | |
| Args: | |
| model_id (str): The Hugging Face model ID. | |
| Returns: | |
| The task as a string ("detect", "segment", or "classify"), or None if the task cannot be found. | |
| """ | |
| # Define the URL of the README file for the model | |
| readme_url = f"https://huggingface.co/{model_id}/raw/main/README.md" | |
| # Make a GET request to the README URL and get the contents | |
| response = requests.get(readme_url) | |
| readme_contents = response.text | |
| # Use regular expressions to search for the task in the tags section of the README file | |
| if re.search(r"tags:", readme_contents): | |
| if re.search(r"object-detection", readme_contents): | |
| return "detect" | |
| elif re.search(r"image-segmentation", readme_contents): | |
| return "segment" | |
| elif re.search(r"image-classification", readme_contents): | |
| return "classify" | |
| # If the task cannot be found, return None | |
| return None | |