Hub Python Library documentation

Карточки репозиториев

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Карточки репозиториев

Библиотека huggingface_hub предоставляет интерфейс на Python для создания, обмена и обновления карточек моделей/датасетов. Ознакомьтесь со специальной страницей документации, чтобы глубже понять, что такое карточки моделей на Hub и как они работают под капотом. Также вы можете посмотреть наше руководство по карточкам моделей, чтобы получить представление о том, как использовать эти утилиты в собственных проектах.

Карточка репозитория

Объект RepoCard является родительским классом для ModelCard, DatasetCard и SpaceCard.

класс huggingface_hub.RepoCard

< >

( content: strignore_metadata_errors: bool = False )

__init__

< >

( content: strignore_metadata_errors: bool = False )

Параметры

  • content (str) — Содержимое файла Markdown.

Инициализирует RepoCard из строкового содержимого. Содержимое должно представлять собой файл Markdown с блоком YAML в начале и основным текстом в формате Markdown.

Пример:

>>> from huggingface_hub.repocard import RepoCard
>>> text = '''
... ---
... language: en
... license: mit
... ---
...
... # My repo
... '''
>>> card = RepoCard(text)
>>> card.data.to_dict()
{'language': 'en', 'license': 'mit'}
>>> card.text
'\n# My repo\n'
> [!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

< >

( 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.

Возвращает

huggingface_hub.repocard.RepoCard

Экземпляр RepoCard с указанными данными карточки и содержимым из шаблона.

Инициализируйте RepoCard из шаблона. По умолчанию используется шаблон по умолчанию.

Шаблоны представляют собой шаблоны Jinja2, которые можно настраивать, передавая именованные аргументы.

load

< >

( 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, ошибки при разборе раздела метаданных будут игнорироваться. В процессе может быть потеряна часть информации. Используйте на свой страх и риск.

Возвращает

huggingface_hub.repocard.RepoCard

Объект RepoCard (или подкласса), инициализированный из файла README.md репозитория или из пути к файлу.

Инициализируйте RepoCard из README.md репозитория на Hugging Face Hub или из локального пути к файлу.

Пример:

>>> from huggingface_hub.repocard import RepoCard
>>> card = RepoCard.load("nateraw/food")
>>> assert card.data.tags == ["generated_from_trainer", "image-classification", "pytorch"]

push_to_hub

< >

( 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.

сохранить

< >

( filepath: pathlib.Path | str )

Параметры

  • filepath (Union[Path, str]) — Путь к файлу Markdown для сохранения.

Сохраните RepoCard в файл.

Пример:

>>> from huggingface_hub.repocard import RepoCard
>>> card = RepoCard("---\nlanguage: en\n---\n# This is a test repo card")
>>> card.save("/tmp/test.md")

validate

< >

( repo_type: str | None = None )

Параметры

  • repo_type (str, необязательный, по умолчанию “model”) — Тип репозитория Hugging Face, в который выполняется публикация. Допустимые значения: “model”, “dataset” и “space”. Если эта функция вызывается из дочернего класса, значением по умолчанию будет repo_type этого дочернего класса.

Проверяет карточку по логике валидации карточек Hugging Face Hub. Использование этой функции требует доступа в интернет, поэтому она вызывается только внутренне функцией huggingface_hub.repocard.RepoCard.push_to_hub().

Вызывает следующие ошибки:

  • ValueError, если карта не проходит проверки валидации.
  • HTTPError, если запрос к API Hub по какой-либо другой причине завершается ошибкой.

Данные карточки

Объект CardData является родительским классом для ModelCardData и DatasetCardData.

класс huggingface_hub.CardData

< >

( ignore_metadata_errors: bool = False**kwargs )

Структура, содержащая метаданные из RepoCard.

CardData — родительский класс для ModelCardData и DatasetCardData.

Метаданные можно экспортировать в виде словаря или YAML. Экспорт можно настроить, чтобы изменить представление данных (например, выровнять результаты оценки). CardData работает как словарь (можно получать, удалять и устанавливать значения), но не наследуется от dict, чтобы обеспечить возможность этого шага экспорта.

get

< >

( key: strdefault: typing.Any = None )

Получить значение для заданного ключа метаданных.

pop

< >

( key: strdefault: typing.Any = None )

Значение Pop для заданного ключа метаданных.

to_dict

< >

( ) → dict

Возвращает

dict

CardData, представленный в виде словаря, готового к выгрузке в блок YAML для включения в файл README.md.

Преобразует CardData в dict.

to_yaml

< >

( 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

класс huggingface_hub.ModelCard

< >

( content: strignore_metadata_errors: bool = False )

from_template

< >

( 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.

Возвращает

huggingface_hub.ModelCard

Экземпляр 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

< >

( 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 with license_link. Common licenses (Apache-2.0, MIT, CC-BY-SA-4.0) do not need a name. In that case, use license instead.
  • license_link (str, optional) — Link to the license of this model. Defaults to None. To be used in conjunction with license_name. Common licenses (Apache-2.0, MIT, CC-BY-SA-4.0) do not need a link. In that case, use license instead.
  • 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

класс huggingface_hub.DatasetCard

< >

( content: strignore_metadata_errors: bool = False )

from_template

< >

( 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.

Возвращает

huggingface_hub.DatasetCard

Экземпляр 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

< >

( 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

класс huggingface_hub.SpaceCard

< >

( content: strignore_metadata_errors: bool = False )

SpaceCardData

класс huggingface_hub.SpaceCardData

< >

( 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

< >

( 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.

is_equal_except_value

< >

( other: EvalResult )

Возвращает True, если self и other описывают одну и ту же метрику, но с различным значением.

model_index_to_eval_results

huggingface_hub.repocard_data.model_index_to_eval_results

< >

( 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

< >

( 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

< >

( 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

< >

( 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)
Update on GitHub