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 ライブラリは、Model/Dataset Cards の作成、共有、更新を行うための Python インターフェースを提供します。 Hub 上の Model Cards が何であり、内部でどのように動作しているかを詳しく知りたい場合は、専用ドキュメントページをご覧ください。また、これらのユーティリティを自分のプロジェクトでどのように使用するかを把握するために、Model Cards ガイドも参照できます。

リポジトリカード

RepoCardオブジェクトは、ModelCard、DatasetCard、SpaceCardの親クラスです。

クラス huggingface_hub.RepoCard

< >

( content: strignore_metadata_errors: bool = False )

__init__

< >

( content: strignore_metadata_errors: bool = False )

パラメータ

  • content (str) — Markdown ファイルの内容。

文字列の内容からRepoCardを初期化します。内容は、先頭にYAMLブロックがあり、その後にMarkdown本文が続く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) — Hugging Face HubのリポジトリカードのYAMLヘッダーに含めたいメタデータを含むhuggingface_hub.CardDataインスタンスです。
  • template_path (str, 任意) — template_kwargs で埋め込むことのできる任意の Jinja テンプレート変数を含む Markdown ファイルへのパスです。デフォルトでは、デフォルトのテンプレートが使用されます。
  • template_str (str, 任意) — 任意の変数を含む生の Jinja テンプレート文字列。template_path もデフォルトのテンプレートも適切でない場合に使用します。template_path も指定されている場合は無視されます。

指定されたカードデータとテンプレートの内容を含む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のリポジトリに関連付けられたリポジトリID、またはローカルファイルパス。
  • repo_type (str, 任意) — プッシュ先の Hugging Face リポジトリの種類です。デフォルトは None で、この場合は “model” が使用されます。その他のオプションとして “dataset” と “space” があります。ローカルファイルパスから読み込む場合は使用されません。このメソッドがサブクラスから呼び出された場合、デフォルト値はサブクラスの repo_type になります。
  • token (str, 任意) — huggingface_hub.HfApi.login メソッドで取得した認証トークン。デフォルトでは保存されているトークンが使用されます。
  • ignore_metadata_errors (str) — True の場合、メタデータセクションの解析中に発生したエラーは無視されます。この処理により、一部の情報が失われる可能性があります。使用は自己責任でお願いします。

リポジトリのREADME.mdファイルまたはファイルパスから初期化されたRepoCard(またはサブクラス)。

Hugging Face HubのリポジトリのREADME.mdまたはローカルファイルパスからRepoCardを初期化します。

例:

>>> 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 リポジトリのリポジトリ ID。例: “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 を16進数文字列として指定します。略記法(先頭7文字)もサポートされています。 指定され、create_pr が False の場合、revision が parent_commit を指していないとコミットは失敗します。 指定され、create_pr が True の場合、parent_commit からプルリクエストが作成されます。 parent_commit を指定することで、変更をコミットする前にリポジトリが変更されていないことを保証でき、リポジトリが並行して更新 / コミットされる場合に特に有用です。

戻り値

str

カードのメタデータを更新したコミットのURL。

RepoCardをHugging Face Hubのリポジトリにプッシュします。

save

< >

( 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 Hub API へのリクエストがその他の理由で失敗した場合に発生します。

カードデータ

CardDataオブジェクトは、ModelCardDataとDatasetCardDataの親クラスです。

クラス huggingface_hub.CardData

< >

( ignore_metadata_errors: bool = False**kwargs )

RepoCardからのメタデータを含む構造体。

CardDataは、ModelCardDataとDatasetCardDataの親クラスです。

メタデータは辞書またはYAMLとしてエクスポートできます。データの表現を変更するためにエクスポートをカスタマイズできます(例: 評価結果のフラット化)。CardDataは辞書として動作します(値の取得、pop、設定が可能)が、このエクスポート手順を許可するためにdictを継承していません。

get

< >

( key: strdefault: typing.Any = None )

指定されたメタデータキーの値を取得します。

pop

< >

( key: strdefault: typing.Any = None )

特定のメタデータキーのPop値。

to_dict

< >

( ) → dict

戻り値

dict

README.mdファイルに含めるために、YAMLブロックへダンプする準備が整った辞書として表されたCardData。

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

YAMLブロックとして表されたCardData。

README.mdファイルに含めるために、CardDataをYAMLブロックにダンプします。

モデルカード

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) — Hugging Face Hub 上のモデルカードの YAML ヘッダーに含めたいメタデータを含む huggingface_hub.ModelCardData インスタンス。
  • template_path (str, 任意) — template_kwargs で埋め込むことのできる任意の Jinja テンプレート変数を含む Markdown ファイルへのパスです。デフォルトでは、デフォルトのテンプレートが使用されます。
  • 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

< >

( 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]、省略可) — モデルが派生するベースモデルの識別子です。例えば、既存モデルのファインチューンやアダプターである場合に適用されます。値は、Hub 上のモデルの ID(複数のモデルから派生する場合は ID のリスト)である必要があります。デフォルトは None です。
  • datasets (Union[str, list[str]], 省略可) — このモデルの学習に使用されたデータセット、またはデータセットのリストです。https://hf.co/datasets で見つかるデータセット ID である必要があります。デフォルト値は 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 のコード(2文字/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 です。

README.md の先頭に含めることで、Hugging Face Hub が使用するモデルカードのメタデータ

例:

>>> 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']}

Dataset Cards

Datasetカードは、MLコミュニティではData Cardsとも呼ばれています。

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) — Hugging Face Hub上のデータセットカードのYAMLヘッダーに含めたいメタデータを含む、huggingface_hub.DatasetCardDataのインスタンスです。
  • template_path (str, 任意) — template_kwargs で埋め込むことのできる任意の Jinja テンプレート変数を含む Markdown ファイルへのパスです。デフォルトでは、デフォルトのテンプレートが使用されます。
  • 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

< >

( 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 のコード(2文字/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 上のデータセットの ID。
  • pretty_name (str, 省略可) — データセットの人間が読みやすい名前です。(例: “Cats vs. Dogs”)
  • train_eval_index (dict, 任意) — Hub 上で評価を行うために必要な仕様を記述した辞書です。 指定されない場合、kwargs の ‘train-eval-index’ キーから取得されます。
  • config_names (Union[str, list[str]], 省略可) — データセットで利用可能なデータセット設定のリスト。

README.md の先頭に含める場合、Hugging Face Hub によって使用される Dataset Card Metadata

スペースカード

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, 省略可) — Space の SDK(gradio、streamlit、docker、static のいずれか)。
  • sdk_version (str, 任意) — 使用している SDK のバージョン(Gradio/Streamlit SDK の場合)。
  • python_version (str, 省略可) — Space で使用される Python のバージョン (Gradio/Streamlit sdk の場合)。
  • app_file (str, オプション) — メインアプリケーションファイルへのパスです。このファイルには、gradio または streamlit の Python コード、または静的な HTML コードが含まれます。 パスはリポジトリのルートからの相対パスです。
  • app_port (str, 省略可) — アプリケーションが実行されているポート。sdk が docker の場合のみ使用されます。
  • license (str, 任意) — このモデルのライセンスです。例: apache-2.0 または https://huggingface.co/docs/hub/repositories-licenses に記載されているいずれかのライセンス。
  • duplicated_from (str, 省略可) — この Space が複製された Space の場合、元の Space の ID。
  • models (list[str], 任意) — この Space に関連するモデルのリスト。https://hf.co/models で見つかるモデル ID である必要があります。
  • datasets (list[str], 任意) — この Space に関連するデータセットのリスト。https://hf.co/datasets で見つかるデータセット ID である必要があります。
  • tags (list[str]、任意) — Hub でフィルタリングを行う際に使用できる、Space に追加するタグのリストです。
  • ignore_metadata_errors (str) — True の場合、メタデータセクションの解析中に発生したエラーは無視されます。この処理により、一部の情報が失われる可能性があります。使用は自己責任でお願いします。
  • kwargs (dict, 任意) — スペースカードに追加される追加メタデータ。

README.md の先頭に含めることで、Hugging Face Hub が使用する Space のカードメタデータ

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 のデータセット ID を使用します。
  • dataset_name (str) — データセットの表示名です。例: “Common Voice (French)“。
  • metric_type (str) — メトリックの識別子です。例: “wer”。https://hf.co/metrics のメトリック ID を使用します。
  • metric_value (Any) — メトリックの値です。例: 0.9 または “20.0 ± 1.2”。
  • task_name (str, 省略可) — タスクの表示名です。例: “Speech Recognition”。
  • dataset_config (str, 任意) — load_dataset() で使用されるデータセット設定の名前です。 例: load_dataset("common_voice", "fr") の fr。詳細は datasets のドキュメントを参照してください: https://hf.co/docs/datasets/package_reference/loading_methods#datasets.load_dataset.name
  • dataset_split (str, 省略可) — load_dataset() で使用されるスプリットです。例: “test”。
  • dataset_revision (str, 省略可) — load_dataset() で使用されるデータセットのリビジョン(Git Sha)です。 例: 5503434ddd753f426f4b38109466949a1217c2bb
  • dataset_args (dict[str, Any]、省略可) — Metric.compute() 呼び出し時に渡される引数です。bleu の例: {"max_order": 4}
  • metric_name (str, 任意) — メトリックの表示名です。例: “Test WER”。
  • metric_config (str, 任意) — load_metric() で使用されるメトリック設定の名前です。 例: load_metric("bleurt", "bleurt-large-512") における 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, 省略可) — メトリクスが Hugging Face の 評価サービス 由来かどうかを検証するために使用される JSON Web Token です。
  • source_name (str, 任意) — 評価結果のソースの名前です。例: “Open LLM Leaderboard”。
  • source_url (str, 任意) — 評価結果のソースのURLです。例: ”https://huggingface.co/spaces/open-llm-leaderboard/open_llm_leaderboard”。

Model Cards の model-index に含まれる個別の評価結果のフラット化された表現。

model-index仕様の詳細については、https://github.com/huggingface/hub-docs/blob/main/modelcard.md?plain=1を参照してください。

is_equal_except_value

< >

( other: EvalResult )

selfとotherが、値だけが異なり、それ以外は完全に同じメトリックを表している場合はTrueを返します。

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]]) — モデルインデックスのデータ構造です。おそらく Hugging Face Hub 上の README.md ファイルから取得されたものです。

戻り値

model_name (str)

モデルインデックスに記載されているモデル名。PapersWithCodeなどのリーダーボードでは、モデルの識別子として使用されます。 eval_results (list[EvalResult]): 提供されたmodel_indexに報告されたメトリクスを含むhuggingface_hub.EvalResultオブジェクトのリスト。

モデルのインデックスを受け取り、モデル名と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]) — model-index に報告するメトリクスを含む huggingface_hub.EvalResult オブジェクトのリスト。

戻り値

model_index(list[dict[str, Any]])

model-index に変換された eval_results

指定されたモデル名とhuggingface_hub.EvalResultのリストを受け取り、Hugging Face Hubが期待する形式と互換性のある有効なmodel-indexを返します。

例:

>>> 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。タスクID。
  • metrics_pretty_name (str) — 自然言語によるメトリックの名前。例: Test WER。
  • metrics_id (str) — 例: wer。https://hf.co/metrics からのメトリック ID。
  • metrics_value (Any) — メトリックの値です。例: 20.0 または “20.0 ± 1.2”。
  • dataset_pretty_name (str) — 自然言語で表されたデータセットの名前。
  • dataset_id (str) — 例: common_voice。https://hf.co/datasets からのデータセット ID。
  • metrics_config (str, 省略可) — load_metric() で使用されるメトリック設定の名前です。 例: load_metric("bleurt", "bleurt-large-512") における 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, 省略可) — メトリクスが Hugging Face の 評価サービス 由来のものであるかどうかを検証するために使用される JSON Web Token です。

戻り値

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"、モデルに更新する場合は 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、省略可) — そのコミットを含むrevisionからPull Requestを作成するかどうか。 デフォルトはFalseです。
  • parent_commit (str, 省略可能) — 親コミットの OID / SHA を16進数文字列として指定します。略記法(先頭7文字)もサポートされています。 指定され、create_pr が False の場合、revision が parent_commit を指していないとコミットは失敗します。 指定され、create_pr が True の場合、parent_commit からプルリクエストが作成されます。 parent_commit を指定することで、変更をコミットする前にリポジトリが変更されていないことを保証でき、リポジトリが並行して更新 / コミットされる場合に特に有用です。

戻り値

str

カードのメタデータを更新したコミットのURL。

Hugging Face Hub上のリポジトリのREADME.md内のメタデータを更新します。 README.mdファイルがまだ存在しない場合は、メタデータとデフォルトのModelCardまたはDatasetCardテンプレートを含む新しいファイルが作成されます。spaceリポジトリの場合、README.mdファイルなしではSpaceが存在できないため、エラーがスローされます。

例:

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