Hub Python Library documentation
Карточки репозиториев
Карточки репозиториев
Библиотека huggingface_hub предоставляет интерфейс на Python для создания, обмена и обновления карточек моделей/датасетов. Ознакомьтесь со специальной страницей документации, чтобы глубже понять, что такое карточки моделей на Hub и как они работают под капотом. Также вы можете посмотреть наше руководство по карточкам моделей, чтобы получить представление о том, как использовать эти утилиты в собственных проектах.
Карточка репозитория
Объект RepoCard является родительским классом для ModelCard, DatasetCard и SpaceCard.
__init__
< source >( content: strignore_metadata_errors: bool = False )
Инициализирует RepoCard из строкового содержимого. Содержимое должно представлять собой файл Markdown с блоком YAML в начале и основным текстом в формате Markdown.
> [!TIP] > Raises the following error: > > - [`ValueError`](https://docs.python.org/3/library/exceptions.html#ValueError) > when the content of the repo card metadata is not a dictionary.from_template
< source >( card_data: CardDatatemplate_path: str | None = Nonetemplate_str: str | None = None**template_kwargs ) → huggingface_hub.repocard.RepoCard
Параметры
- card_data (
huggingface_hub.CardData) — экземплярhuggingface_hub.CardData, содержащий метаданные, которые вы хотите включить в YAML-заголовок карточки репозитория на Hugging Face Hub. - template_path (
str, необязательный) — Путь к файлу Markdown с необязательными переменными шаблона Jinja, которые можно заполнить с помощьюtemplate_kwargs. По умолчанию используется стандартный шаблон. - template_str (
str, необязательный) — Сырая строка шаблона Jinja с необязательными переменными. Используется, когда ниtemplate_path, ни шаблон по умолчанию не подходят. Игнорируется, если также указанtemplate_path.
Возвращает
Экземпляр RepoCard с указанными данными карточки и содержимым из шаблона.
Инициализируйте RepoCard из шаблона. По умолчанию используется шаблон по умолчанию.
Шаблоны представляют собой шаблоны Jinja2, которые можно настраивать, передавая именованные аргументы.
load
< source >( repo_id_or_path: str | pathlib.Pathrepo_type: str | None = Nonetoken: str | None = Noneignore_metadata_errors: bool = False ) → huggingface_hub.repocard.RepoCard
Параметры
- repo_id_or_path (
Union[str, Path]) — Идентификатор репозитория, связанный с репозиторием Hugging Face Hub, или локальный путь к файлу. - repo_type (
str, необязательный) — Тип репозитория Hugging Face, в который выполняется публикация. По умолчанию — None, что означает использование «model». Другие варианты — «dataset» и «space». Не используется при загрузке из локального пути. Если этот метод вызывается из дочернего класса, значением по умолчанию будетrepo_typeэтого дочернего класса. - token (
str, необязательный) — Токен аутентификации, полученный с помощью методаhuggingface_hub.HfApi.login. По умолчанию используется сохранённый токен. - ignore_metadata_errors (
str) — Если True, ошибки при разборе раздела метаданных будут игнорироваться. В процессе может быть потеряна часть информации. Используйте на свой страх и риск.
Возвращает
Объект RepoCard (или подкласса), инициализированный из файла README.md репозитория или из пути к файлу.
Инициализируйте RepoCard из README.md репозитория на Hugging Face Hub или из локального пути к файлу.
push_to_hub
< source >( repo_id: strtoken: str | None = Nonerepo_type: str | None = Nonecommit_message: str | None = Nonecommit_description: str | None = Nonerevision: str | None = Nonecreate_pr: bool | None = Noneparent_commit: str | None = None ) → str
Параметры
- repo_id (
str) — Идентификатор репозитория на Hugging Face Hub, в который будут отправлены данные. Пример: “nateraw/food”. - token (
str, необязательный) — Токен аутентификации, полученный с помощью методаhuggingface_hub.HfApi.login. По умолчанию используется сохранённый токен. - repo_type (
str, необязательный, по умолчанию “model”) — Тип репозитория Hugging Face, в который выполняется публикация. Допустимые значения: “model”, “dataset” и “space”. Если эта функция вызывается дочерним классом, значением по умолчанию будетrepo_typeэтого дочернего класса. - commit_message (
str, необязательный) — Сводка / заголовок / первая строка сгенерированного коммита. - commit_description (
str, необязательный) — Описание сгенерированного коммита. - revision (
str, необязательный) — Git-ревизия, от которой выполняется коммит. По умолчанию используется голова ветки"main". - create_pr (
bool, необязательный) — Создавать ли Pull Request с этим коммитом. По умолчаниюFalse. - parent_commit (
str, необязательный) — OID / SHA родительского коммита в виде шестнадцатеричной строки. Поддерживаются сокращения (первые 7 символов). Если указано иcreate_prравноFalse, коммит завершится с ошибкой, еслиrevisionне указывает наparent_commit. Если указано иcreate_prравноTrue, pull request будет создан изparent_commit. Указаниеparent_commitгарантирует, что репозиторий не был изменён до фиксации изменений, что особенно полезно, если репозиторий обновляется / коммитируется параллельно.
Возвращает
str
URL коммита, в котором были обновлены метаданные карточки.
Загрузите RepoCard в репозиторий Hugging Face Hub.
сохранить
< source >( filepath: pathlib.Path | str )
Сохраните RepoCard в файл.
validate
< source >( repo_type: str | None = None )
Проверяет карточку по логике валидации карточек Hugging Face Hub. Использование этой функции требует доступа в интернет, поэтому она вызывается только внутренне функцией huggingface_hub.repocard.RepoCard.push_to_hub().
Вызывает следующие ошибки:
ValueError, если карта не проходит проверки валидации.HTTPError, если запрос к API Hub по какой-либо другой причине завершается ошибкой.
Данные карточки
Объект CardData является родительским классом для ModelCardData и DatasetCardData.
Структура, содержащая метаданные из RepoCard.
CardData — родительский класс для ModelCardData и DatasetCardData.
Метаданные можно экспортировать в виде словаря или YAML. Экспорт можно настроить, чтобы изменить представление данных (например, выровнять результаты оценки). CardData работает как словарь (можно получать, удалять и устанавливать значения), но не наследуется от dict, чтобы обеспечить возможность этого шага экспорта.
Получить значение для заданного ключа метаданных.
Значение Pop для заданного ключа метаданных.
to_dict
< source >( ) → dict
Возвращает
dict
CardData, представленный в виде словаря, готового к выгрузке в блок YAML для включения в файл README.md.
Преобразует CardData в dict.
to_yaml
< source >( line_break = Noneoriginal_order: list[str] | None = None ) → str
Параметры
- line_break (str, необязательный) — Символ переноса строки, используемый при выводе в yaml.
- original_order (
list[str], необязательный) — Если указано, поля метаданных будут переставлены в соответствии с этим списком перед выгрузкой. Все ключи, отсутствующие вoriginal_order, добавляются после перечисленных ключей, сохраняя своё исходное относительное расположение. Полезно для обратного преобразования блока YAML без перемешивания его ключей.
Возвращает
str
CardData, представленный в виде блока YAML.
Сохраняет CardData в YAML-блок для включения в файл README.md.
Карточки моделей
ModelCard
from_template
< source >( card_data: ModelCardDatatemplate_path: str | None = Nonetemplate_str: str | None = None**template_kwargs ) → huggingface_hub.ModelCard
Параметры
- card_data (
huggingface_hub.ModelCardData) — экземпляр huggingface_hub.ModelCardData, содержащий метаданные, которые вы хотите включить в YAML-заголовок карточки модели на Hugging Face Hub. - template_path (
str, необязательный) — Путь к файлу Markdown с необязательными переменными шаблона Jinja, которые можно заполнить с помощьюtemplate_kwargs. По умолчанию используется стандартный шаблон. - template_str (
str, необязательный) — Сырая строка шаблона Jinja с необязательными переменными. Используется, когда ниtemplate_path, ни шаблон по умолчанию не подходят. Игнорируется, если также указанtemplate_path.
Возвращает
Экземпляр ModelCard с указанными данными карточки и содержимым из шаблона.
Инициализирует ModelCard из шаблона. По умолчанию используется стандартный шаблон, который можно найти здесь: https://github.com/huggingface/huggingface_hub/blob/main/src/huggingface_hub/templates/modelcard_template.md
Шаблоны представляют собой шаблоны Jinja2, которые можно настраивать, передавая именованные аргументы.
Пример:
>>> from huggingface_hub import ModelCard, ModelCardData, EvalResult
>>> # Using the Default Template
>>> card_data = ModelCardData(
... language='en',
... license='mit',
... library_name='timm',
... tags=['image-classification', 'resnet'],
... datasets=['beans'],
... metrics=['accuracy'],
... )
>>> card = ModelCard.from_template(
... card_data,
... model_description='This model does x + y...'
... )
>>> # Including Evaluation Results
>>> card_data = ModelCardData(
... language='en',
... tags=['image-classification', 'resnet'],
... eval_results=[
... EvalResult(
... task_type='image-classification',
... dataset_type='beans',
... dataset_name='Beans',
... metric_type='accuracy',
... metric_value=0.9,
... ),
... ],
... model_name='my-cool-model',
... )
>>> card = ModelCard.from_template(card_data)
>>> # Using a Custom Template
>>> card_data = ModelCardData(
... language='en',
... tags=['image-classification', 'resnet']
... )
>>> card = ModelCard.from_template(
... card_data=card_data,
... template_path='./src/huggingface_hub/templates/modelcard_template.md',
... custom_template_var='custom value', # will be replaced in template if it exists
... )
ModelCardData
класс huggingface_hub.ModelCardData
< source >( base_model: str | list[str] | None = Nonedatasets: str | list[str] | None = Noneeval_results: list[huggingface_hub.repocard_data.EvalResult] | None = Nonelanguage: str | list[str] | None = Nonelibrary_name: str | None = Nonelicense: str | None = Nonelicense_name: str | None = Nonelicense_link: str | None = Nonemetrics: list[str] | None = Nonemodel_name: str | None = Nonepipeline_tag: str | None = Nonetags: list[str] | None = Noneignore_metadata_errors: bool = False**kwargs )
Параметры
- base_model (
strилиlist[str], необязательный) — Идентификатор базовой модели, от которой происходит данная модель. Это применимо, например, если ваша модель является дообучением или адаптером существующей модели. Значением должен быть ID модели на Hub (или список ID, если ваша модель происходит от нескольких моделей). По умолчанию — None. - datasets (
Union[str, list[str]], необязательный) — Набор данных или список наборов данных, которые использовались для обучения этой модели. Должен представлять собой идентификатор набора данных, найденный на https://hf.co/datasets. По умолчанию — None. - eval_results (
Union[list[EvalResult], EvalResult], необязательный) — Списокhuggingface_hub.EvalResult, определяющих результаты оценки модели. Если указано,model_nameиспользуется в качестве имени на лидербордах PapersWithCode. По умолчаниюNone. - language (
Union[str, list[str]], необязательный) — Язык обучающих данных или метаданных модели. Должен представлять собой код ISO 639-1, 639-2 или 639-3 (два/три буквы) или специальное значение, например «code», «multilingual». По умолчаниюNone. - library_name (
str, необязательный) — Название библиотеки, используемой этой моделью. Пример: keras или любая библиотека из https://github.com/huggingface/huggingface.js/blob/main/packages/tasks/src/model-libraries.ts. По умолчанию: None. - license (
str, необязательный) — Лицензия этой модели. Пример: apache-2.0 или любая лицензия из https://huggingface.co/docs/hub/repositories-licenses. По умолчанию: None. - license_name (
str, optional) — Name of the license of this model. Defaults to None. To be used in conjunction withlicense_link. Common licenses (Apache-2.0, MIT, CC-BY-SA-4.0) do not need a name. In that case, uselicenseinstead. - license_link (
str, optional) — Link to the license of this model. Defaults to None. To be used in conjunction withlicense_name. Common licenses (Apache-2.0, MIT, CC-BY-SA-4.0) do not need a link. In that case, uselicenseinstead. - metrics (
list[str], необязательный) — Список метрик, используемых для оценки этой модели. Должно быть имя метрики, которое можно найти по адресу https://hf.co/metrics. Пример: ‘accuracy’. По умолчанию: None. - model_name (
str, необязательный) — Имя этой модели. Используется вместе сeval_resultsдля формированияmodel-indexв метаданных карточки. Указанное здесь имя будет использоваться в таблицах лидеров PapersWithCode. Если передано значение None, по умолчанию используется имя репозитория. По умолчанию: None. - pipeline_tag (
str, необязательный) — Тег пайплайна, связанный с моделью. Пример: “text-classification”. - tags (
list[str], необязательный) — Список тегов, которые будут добавлены к вашей модели и могут использоваться при фильтрации на Hugging Face Hub. По умолчанию — None. - ignore_metadata_errors (
str) — Если True, ошибки при разборе раздела метаданных будут игнорироваться. В процессе может быть потеряна часть информации. Используйте на свой страх и риск. - kwargs (
dict, необязательный) — Дополнительные метаданные, которые будут добавлены в карточку модели. По умолчанию — None.
Метаданные карточки модели, которые используются Hugging Face Hub при включении в начало вашего README.md
Пример:
>>> from huggingface_hub import ModelCardData
>>> card_data = ModelCardData(
... language="en",
... license="mit",
... library_name="timm",
... tags=['image-classification', 'resnet'],
... )
>>> card_data.to_dict()
{'language': 'en', 'license': 'mit', 'library_name': 'timm', 'tags': ['image-classification', 'resnet']}
Карточки датасетов
Карточки датасетов также известны как Data Cards в ML-сообществе.
DatasetCard
from_template
< source >( card_data: DatasetCardDatatemplate_path: str | None = Nonetemplate_str: str | None = None**template_kwargs ) → huggingface_hub.DatasetCard
Параметры
- card_data (
huggingface_hub.DatasetCardData) — экземплярhuggingface_hub.DatasetCardData, содержащий метаданные, которые вы хотите включить в YAML-заголовок карточки датасета на Hugging Face Hub. - template_path (
str, необязательный) — Путь к файлу Markdown с необязательными переменными шаблона Jinja, которые можно заполнить с помощьюtemplate_kwargs. По умолчанию используется стандартный шаблон. - template_str (
str, необязательный) — Сырая строка шаблона Jinja с необязательными переменными. Используется, когда ниtemplate_path, ни шаблон по умолчанию не подходят. Игнорируется, если также указанtemplate_path.
Возвращает
Экземпляр DatasetCard с указанными данными карточки и содержимым из шаблона.
Инициализируйте DatasetCard из шаблона. По умолчанию используется стандартный шаблон, который можно найти здесь: https://github.com/huggingface/huggingface_hub/blob/main/src/huggingface_hub/templates/datasetcard_template.md
Шаблоны представляют собой шаблоны Jinja2, которые можно настраивать, передавая именованные аргументы.
Пример:
>>> from huggingface_hub import DatasetCard, DatasetCardData
>>> # Using the Default Template
>>> card_data = DatasetCardData(
... language='en',
... license='mit',
... annotations_creators='crowdsourced',
... task_categories=['text-classification'],
... task_ids=['sentiment-classification', 'text-scoring'],
... multilinguality='monolingual',
... pretty_name='My Text Classification Dataset',
... )
>>> card = DatasetCard.from_template(
... card_data,
... pretty_name=card_data.pretty_name,
... )
>>> # Using a Custom Template
>>> card_data = DatasetCardData(
... language='en',
... license='mit',
... )
>>> card = DatasetCard.from_template(
... card_data=card_data,
... template_path='./src/huggingface_hub/templates/datasetcard_template.md',
... custom_template_var='custom value', # will be replaced in template if it exists
... )
DatasetCardData
класс huggingface_hub.DatasetCardData
< source >( language: str | list[str] | None = Nonelicense: str | list[str] | None = Noneannotations_creators: str | list[str] | None = Nonelanguage_creators: str | list[str] | None = Nonemultilinguality: str | list[str] | None = Nonesize_categories: str | list[str] | None = Nonesource_datasets: list[str] | None = Nonetask_categories: str | list[str] | None = Nonetask_ids: str | list[str] | None = Nonepaperswithcode_id: str | None = Nonepretty_name: str | None = Nonetrain_eval_index: dict | None = Noneconfig_names: str | list[str] | None = Noneignore_metadata_errors: bool = False**kwargs )
Параметры
- language (
list[str], необязательный) — Язык данных или метаданных набора данных. Должен быть кодом ISO 639-1, 639-2 или 639-3 (два/три буквы) или специальным значением, например “code”, “multilingual”. - license (
Union[str, list[str]], необязательный) — Лицензия(и) этого набора данных. Пример: apache-2.0 или любая лицензия из https://huggingface.co/docs/hub/repositories-licenses. - annotations_creators (
Union[str, list[str]], необязательный) — Способ создания аннотаций для набора данных. Варианты: ‘found’, ‘crowdsourced’, ‘expert-generated’, ‘machine-generated’, ‘no-annotation’, ‘other’. - language_creators (
Union[str, list[str]], необязательный) — Способ создания текстовых данных в наборе данных. Варианты: ‘found’, ‘crowdsourced’, ‘expert-generated’, ‘machine-generated’, ‘other’ - multilinguality (
Union[str, list[str]], необязательный) — Указывает, является ли набор данных многоязычным. Допустимые значения: ‘monolingual’, ‘multilingual’, ‘translation’, ‘other’. - size_categories (
Union[str, list[str]], необязательный) — Количество примеров в наборе данных. Варианты: ‘n<1K’, ‘1K1T’, и ‘other’. - source_datasets (
list[str]], необязательный) — Указывает, является ли датасет исходным или расширенным на основе другого существующего датасета. Допустимые значения: ‘original’ и ‘extended’. - task_categories (
Union[str, list[str]], необязательный) — Какие категории задач поддерживает набор данных? - task_ids (
Union[str, list[str]], необязательный) — Какие именно задачи поддерживает набор данных? - paperswithcode_id (
str, необязательный) — идентификатор набора данных на PapersWithCode. - pretty_name (
str, необязательный) — Более понятное для человека название набора данных (например, «Кошки против собак»). - train_eval_index (
dict, необязательный) — Словарь, описывающий необходимые спецификации для выполнения оценки на Hub. Если не указан, будет получен из ключа ‘train-eval-index’ в kwargs. - config_names (
Union[str, list[str]], необязательный) — Список доступных конфигураций датасета для данного набора данных.
Метаданные карточки датасета, которые используются Hugging Face Hub при включении в начало вашего README.md
Space Cards
SpaceCard
SpaceCardData
класс huggingface_hub.SpaceCardData
< source >( title: str | None = Nonesdk: str | None = Nonesdk_version: str | None = Nonepython_version: str | None = Noneapp_file: str | None = Noneapp_port: int | None = Nonelicense: str | None = Noneduplicated_from: str | None = Nonemodels: list[str] | None = Nonedatasets: list[str] | None = Nonetags: list[str] | None = Noneignore_metadata_errors: bool = False**kwargs )
Параметры
- title (
str, необязательный) — Название Space. - sdk (
str, необязательный) — SDK Space (одно из значений:gradio,streamlit,dockerилиstatic). - sdk_version (
str, необязательный) — Версия используемого SDK (если это Gradio/Streamlit sdk). - python_version (
str, необязательный) — версия Python, используемая в Space (если используется Gradio/Streamlit sdk). - app_file (
str, необязательный) — Путь к основному файлу приложения (содержащему Python-код gradio или streamlit, либо статический html-код). Путь указан относительно корня репозитория. - app_port (
str, необязательный) — Порт, на котором запущено ваше приложение. Используется только в том случае, если sdk —docker. - license (
str, необязательный) — Лицензия этой модели. Пример: apache-2.0 или любая лицензия из https://huggingface.co/docs/hub/repositories-licenses. - duplicated_from (
str, необязательный) — ID исходного Space, если данный Space является дубликатом. - models (
list[str], необязательный) — Список моделей, связанных с этим Space. Должен содержать идентификатор датасета, найденный на https://hf.co/models. - datasets (
list[str], необязательный) — Список наборов данных, связанных с этим Space. Должен содержать идентификатор набора данных, найденный на https://hf.co/datasets. - tags (
list[str], необязательный) — Список тегов, которые будут добавлены к вашему Space и могут использоваться при фильтрации на Hub. - ignore_metadata_errors (
str) — Если True, ошибки при разборе раздела метаданных будут игнорироваться. В процессе может быть потеряна часть информации. Используйте на свой страх и риск. - kwargs (
dict, необязательный) — Дополнительные метаданные, которые будут добавлены в карточку пространства.
Метаданные Space Card, используемые Hugging Face Hub при включении в начало вашего README.md
Чтобы получить исчерпывающую справочную информацию по конфигурации Spaces, посетите https://huggingface.co/docs/hub/spaces-config-reference#spaces-configuration-reference.
Пример:
>>> from huggingface_hub import SpaceCardData
>>> card_data = SpaceCardData(
... title="Dreambooth Training",
... license="mit",
... sdk="gradio",
... duplicated_from="multimodalart/dreambooth-training"
... )
>>> card_data.to_dict()
{'title': 'Dreambooth Training', 'sdk': 'gradio', 'license': 'mit', 'duplicated_from': 'multimodalart/dreambooth-training'}Утилиты
EvalResult
класс huggingface_hub.EvalResult
< source >( task_type: strdataset_type: strdataset_name: strmetric_type: strmetric_value: typing.Anytask_name: str | None = Nonedataset_config: str | None = Nonedataset_split: str | None = Nonedataset_revision: str | None = Nonedataset_args: dict[str, typing.Any] | None = Nonemetric_name: str | None = Nonemetric_config: str | None = Nonemetric_args: dict[str, typing.Any] | None = Noneverified: bool | None = Noneverify_token: str | None = Nonesource_name: str | None = Nonesource_url: str | None = None )
Параметры
- task_type (
str) — Идентификатор задачи. Пример: “image-classification”. - dataset_type (
str) — Идентификатор набора данных. Пример: “common_voice”. Используйте идентификатор набора данных с https://hf.co/datasets. - dataset_name (
str) — Человекочитаемое имя набора данных. Пример: «Common Voice (French)». - metric_type (
str) — Идентификатор метрики. Пример: “wer”. Используйте идентификатор метрики из https://hf.co/metrics. - metric_value (
Any) — Значение метрики. Пример: 0.9 или “20.0 ± 1.2”. - task_name (
str, необязательный) — Человекочитаемое название задачи. Пример: «Speech Recognition». - dataset_config (
str, необязательный) — Имя конфигурации набора данных, используемой вload_dataset(). Пример: fr вload_dataset("common_voice", "fr"). Подробности в документацииdatasets: https://hf.co/docs/datasets/package_reference/loading_methods#datasets.load_dataset.name - dataset_split (
str, необязательный) — Раздел, используемый вload_dataset(). Пример: “test”. - dataset_revision (
str, необязательный) — Ревизия (также известная как Git Sha) набора данных, использованного вload_dataset(). Пример: 5503434ddd753f426f4b38109466949a1217c2bb - dataset_args (
dict[str, Any], необязательный) — Аргументы, передаваемые при вызовеMetric.compute(). Пример дляbleu:{"max_order": 4} - metric_name (
str, необязательный) — Читаемое имя метрики. Пример: “Test WER”. - metric_config (
str, необязательный) — Имя конфигурации метрики, используемой вload_metric(). Пример: bleurt-large-512 вload_metric("bleurt", "bleurt-large-512"). Подробнее в документацииdatasets: https://huggingface.co/docs/datasets/v2.1.0/en/loading#load-configurations - metric_args (
dict[str, Any], необязательный) — Аргументы, передаваемые при вызовеMetric.compute(). Пример дляbleu: max_order: 4 - verified (
bool, необязательный) — Указывает, происходят ли метрики из сервиса оценки Hugging Face. Вычисляется автоматически Hugging Face, не устанавливайте вручную. - verify_token (
str, необязательный) — JSON Web Token, используемый для проверки того, исходят ли метрики из сервиса оценки Hugging Face. - source_name (
str, необязательный) — Имя источника результата оценки. Пример: “Open LLM Leaderboard”. - source_url (
str, необязательный) — URL источника результата оценки. Пример: ”https://huggingface.co/spaces/open-llm-leaderboard/open_llm_leaderboard”.
Сплошное представление отдельных результатов оценки, найденных в model-index карточек моделей.
Для получения дополнительной информации о спецификации model-index см. https://github.com/huggingface/hub-docs/blob/main/modelcard.md?plain=1.
Возвращает True, если self и other описывают одну и ту же метрику, но с
различным значением.
model_index_to_eval_results
huggingface_hub.repocard_data.model_index_to_eval_results
< source >( model_index: list ) → model_name (str)
Параметры
- model_index (
list[dict[str, Any]]) — Структура данных индекса модели, вероятно, полученная из файла README.md на Hugging Face Hub.
Возвращает
model_name (str)
Имя модели, указанное в индексе моделей. Используется как идентификатор модели на лидербордах, таких как PapersWithCode.
eval_results (list[EvalResult]):
Список объектов huggingface_hub.EvalResult, содержащих метрики, указанные в предоставленном model_index.
Принимает индекс модели и возвращает имя модели и список объектов huggingface_hub.EvalResult.
Подробная спецификация индекса модели доступна здесь: https://github.com/huggingface/hub-docs/blob/main/modelcard.md?plain=1
Пример:
>>> from huggingface_hub.repocard_data import model_index_to_eval_results
>>> # Define a minimal model index
>>> model_index = [
... {
... "name": "my-cool-model",
... "results": [
... {
... "task": {
... "type": "image-classification"
... },
... "dataset": {
... "type": "beans",
... "name": "Beans"
... },
... "metrics": [
... {
... "type": "accuracy",
... "value": 0.9
... }
... ]
... }
... ]
... }
... ]
>>> model_name, eval_results = model_index_to_eval_results(model_index)
>>> model_name
'my-cool-model'
>>> eval_results[0].task_type
'image-classification'
>>> eval_results[0].metric_type
'accuracy'
eval_results_to_model_index
huggingface_hub.repocard_data.eval_results_to_model_index
< source >( model_name: streval_results: list ) → model_index (list[dict[str, Any]])
Параметры
- model_name (
str) — Название модели (например, “my-cool-model”). Используется в качестве идентификатора модели на лидербордах, таких как PapersWithCode. - eval_results (
list[EvalResult]) — Список объектовhuggingface_hub.EvalResult, содержащих метрики, которые будут отображены в model-index.
Возвращает
model_index (list[dict[str, Any]])
eval_results, преобразованные в model-index.
Принимает указанное имя модели и список huggingface_hub.EvalResult и возвращает корректный model-index, совместимый с форматом, ожидаемым Hugging Face Hub.
Пример:
>>> from huggingface_hub.repocard_data import eval_results_to_model_index, EvalResult
>>> # Define minimal eval_results
>>> eval_results = [
... EvalResult(
... task_type="image-classification", # Required
... dataset_type="beans", # Required
... dataset_name="Beans", # Required
... metric_type="accuracy", # Required
... metric_value=0.9, # Required
... )
... ]
>>> eval_results_to_model_index("my-cool-model", eval_results)
[{'name': 'my-cool-model', 'results': [{'task': {'type': 'image-classification'}, 'dataset': {'name': 'Beans', 'type': 'beans'}, 'metrics': [{'type': 'accuracy', 'value': 0.9}]}]}]
metadata_eval_result
huggingface_hub.metadata_eval_result
< source >( model_pretty_name: strtask_pretty_name: strtask_id: strmetrics_pretty_name: strmetrics_id: strmetrics_value: typing.Anydataset_pretty_name: strdataset_id: strmetrics_config: str | None = Nonemetrics_verified: bool = Falsedataset_config: str | None = Nonedataset_split: str | None = Nonedataset_revision: str | None = Nonemetrics_verification_token: str | None = None ) → dict
Параметры
- model_pretty_name (
str) — Название модели на естественном языке. - task_pretty_name (
str) — Название задачи на естественном языке. - task_id (
str) — Пример: automatic-speech-recognition. Идентификатор задачи. - metrics_pretty_name (
str) — Имя метрики на естественном языке. Пример: Test WER. - metrics_id (
str) — Пример: wer. Идентификатор метрики из https://hf.co/metrics. - metrics_value (
Any) — Значение метрики. Пример: 20.0 или “20.0 ± 1.2”. - dataset_pretty_name (
str) — Имя набора данных на естественном языке. - dataset_id (
str) — Пример: common_voice. Идентификатор набора данных с https://hf.co/datasets. - metrics_config (
str, необязательный) — Имя конфигурации метрики, используемой вload_metric(). Пример: bleurt-large-512 вload_metric("bleurt", "bleurt-large-512"). - metrics_verified (
bool, необязательный, по умолчаниюFalse) — Указывает, происходят ли метрики из сервиса оценки Hugging Face. Вычисляется автоматически Hugging Face, не устанавливайте вручную. - dataset_config (
str, необязательный) — Пример: fr. Имя конфигурации набора данных, используемой вload_dataset(). - dataset_split (
str, необязательный) — Пример: test. Имя разбиения набора данных, используемого вload_dataset(). - dataset_revision (
str, необязательный) — Пример: 5503434ddd753f426f4b38109466949a1217c2bb. Имя ревизии набора данных, используемой вload_dataset(). - metrics_verification_token (
bool, необязательный) — JSON Web Token, используемый для проверки того, исходят ли метрики из сервиса оценки Hugging Face или нет.
Возвращает
dict
словарь метаданных с результатом модели, оцененной на наборе данных.
Создаёт словарь метаданных с результатом оценки модели на наборе данных.
Пример:
>>> from huggingface_hub import metadata_eval_result
>>> results = metadata_eval_result(
... model_pretty_name="RoBERTa fine-tuned on ReactionGIF",
... task_pretty_name="Text Classification",
... task_id="text-classification",
... metrics_pretty_name="Accuracy",
... metrics_id="accuracy",
... metrics_value=0.2662102282047272,
... dataset_pretty_name="ReactionJPEG",
... dataset_id="julien-c/reactionjpeg",
... dataset_config="default",
... dataset_split="test",
... )
>>> results == {
... 'model-index': [
... {
... 'name': 'RoBERTa fine-tuned on ReactionGIF',
... 'results': [
... {
... 'task': {
... 'type': 'text-classification',
... 'name': 'Text Classification'
... },
... 'dataset': {
... 'name': 'ReactionJPEG',
... 'type': 'julien-c/reactionjpeg',
... 'config': 'default',
... 'split': 'test'
... },
... 'metrics': [
... {
... 'type': 'accuracy',
... 'value': 0.2662102282047272,
... 'name': 'Accuracy',
... 'verified': False
... }
... ]
... }
... ]
... }
... ]
... }
True
metadata_update
huggingface_hub.metadata_update
< source >( repo_id: strmetadata: dictrepo_type: str | None = Noneoverwrite: bool = Falsetoken: str | None = Nonecommit_message: str | None = Nonecommit_description: str | None = Nonerevision: str | None = Nonecreate_pr: bool = Falseparent_commit: str | None = None ) → str
Параметры
- repo_id (
str) — Имя репозитория. - metadata (
dict) — Словарь, содержащий метаданные, которые необходимо обновить. - repo_type (
str, необязательный) — установите"dataset"или"space", если обновляете датасет или space,Noneили"model", если обновляете модель. По умолчаниюNone. - overwrite (
bool, необязательный, по умолчаниюFalse) — Если установлено вTrue, существующее поле может быть перезаписано; в противном случае попытка перезаписать существующее поле приведёт к ошибке. - token (
str, необязательный) — Токен аутентификации Hugging Face. - commit_message (
str, необязательный) — Сводка / заголовок / первая строка сгенерированного коммита. По умолчаниюf"Update metadata with huggingface_hub" - commit_description (
str, необязательный) — Описание сгенерированного коммита - revision (
str, необязательный) — Git-ревизия, от которой выполняется коммит. По умолчанию используется голова ветки"main". - create_pr (
boolean, необязательный) — Создавать ли Pull Request изrevisionс этим коммитом. По умолчаниюFalse. - parent_commit (
str, необязательный) — OID / SHA родительского коммита в виде шестнадцатеричной строки. Поддерживаются сокращения (первые 7 символов). Если указано иcreate_prравноFalse, коммит завершится с ошибкой, еслиrevisionне указывает наparent_commit. Если указано иcreate_prравноTrue, pull request будет создан изparent_commit. Указаниеparent_commitгарантирует, что репозиторий не был изменён до фиксации изменений, что особенно полезно, если репозиторий обновляется / коммитируется параллельно.
Возвращает
str
URL коммита, в котором были обновлены метаданные карточки.
Обновляет метаданные в файле README.md репозитория на Hugging Face Hub.
Если файл README.md ещё не существует, создаётся новый с метаданными и
шаблоном ModelCard или DatasetCard по умолчанию. Для репозитория типа space выбрасывается ошибка,
так как Space не может существовать без файла README.md.
Пример:
>>> from huggingface_hub import metadata_update
>>> metadata = {'model-index': [{'name': 'RoBERTa fine-tuned on ReactionGIF',
... 'results': [{'dataset': {'name': 'ReactionGIF',
... 'type': 'julien-c/reactiongif'},
... 'metrics': [{'name': 'Recall',
... 'type': 'recall',
... 'value': 0.7762102282047272}],
... 'task': {'name': 'Text Classification',
... 'type': 'text-classification'}}]}]}
>>> url = metadata_update("hf-internal-testing/reactiongif-roberta-card", metadata)