Hub Python Library documentation
Cards de Repositório
Cards de Repositório
A biblioteca huggingface_hub fornece uma interface em Python para criar, compartilhar e atualizar Model/Dataset Cards. Acesse a página de documentação dedicada para uma visão mais aprofundada do que são os Model Cards no Hub e como funcionam por baixo dos panos. Você também pode conferir nosso guia de Model Cards para ter uma ideia de como usar essas utilidades em seus próprios projetos.
Cartão do repositório
O objeto RepoCard é a classe pai de ModelCard, DatasetCard e SpaceCard.
__init__
< source >( content: strignore_metadata_errors: bool = False )
Inicialize um RepoCard a partir do conteúdo de uma string. O conteúdo deve ser um arquivo Markdown com um bloco YAML no início e um corpo em 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
Parâmetros
- card_data (
huggingface_hub.CardData) — Uma instância dehuggingface_hub.CardDatacontendo os metadados que você deseja incluir no cabeçalho YAML do card do repositório no Hugging Face Hub. - template_path (
str, opcional) — Um caminho para um arquivo markdown com variáveis de template Jinja opcionais que podem ser preenchidas comtemplate_kwargs. O padrão é o template padrão. - template_str (
str, opcional) — Uma string de template Jinja bruta com variáveis opcionais. Usada quando nem otemplate_pathnem o template padrão são apropriados. Ignorado setemplate_pathtambém for fornecido.
Uma instância de RepoCard com os dados e o conteúdo da card especificados do modelo.
Inicialize um RepoCard a partir de um modelo. Por padrão, ele usa o modelo padrão.
Templates são templates Jinja2 que podem ser personalizados passando argumentos de palavra-chave.
carregar
< source >( repo_id_or_path: str | pathlib.Pathrepo_type: str | None = Nonetoken: str | None = Noneignore_metadata_errors: bool = False ) → huggingface_hub.repocard.RepoCard
Parâmetros
- repo_id_or_path (
Union[str, Path]) — O ID do repositório associado a um repositório do Hugging Face Hub ou a um caminho de arquivo local. - repo_type (
str, opcional) — O tipo de repositório do Hugging Face para o qual será feito o push. O padrão é None, o que usará “model”. As outras opções são “dataset” e “space”. Não é usado ao carregar de um caminho de arquivo local. Se isso for chamado de uma classe filha, o valor padrão será orepo_typeda classe filha. - token (
str, opcional) — Token de autenticação, obtido com o métodohuggingface_hub.HfApi.login. O padrão é o token armazenado. - ignore_metadata_errors (
str) — Se True, os erros durante a análise da seção de metadados serão ignorados. Algumas informações podem ser perdidas durante o processo. Use por sua conta e risco.
O RepoCard (ou subclasse) inicializado a partir do arquivo README.md ou do caminho do arquivo do repositório.
Inicialize um RepoCard a partir do README.md de um repositório do Hugging Face Hub ou de um caminho de arquivo local.
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
Parâmetros
- repo_id (
str) — O ID do repositório no Hugging Face Hub para o qual o conteúdo será enviado. Exemplo: “nateraw/food”. - token (
str, opcional) — Token de autenticação, obtido com o métodohuggingface_hub.HfApi.login. O padrão será o token armazenado. - repo_type (
str, opcional, padrão “model”) — O tipo de repositório do Hugging Face para o qual será feito o push. As opções são “model”, “dataset” e “space”. Se esta função for chamada por uma classe filha, o padrão será orepo_typeda classe filha. - commit_message (
str, opcional) — O resumo / título / primeira linha do commit gerado. - commit_description (
str, opcional) — A descrição do commit gerado. - revision (
str, opcional) — A revisão git de onde o commit será feito. O padrão é o topo do ramo"main". - create_pr (
bool, opcional) — Se deve ou não criar um Pull Request com este commit. O padrão éFalse. - parent_commit (
str, opcional) — O OID / SHA do commit pai, como uma string hexadecimal. Abreviações (os 7 primeiros caracteres) também são suportadas. Se especificado ecreate_prforFalse, o commit falhará serevisionnão apontar paraparent_commit. Se especificado ecreate_prforTrue, a pull request será criada a partir deparent_commit. Especificarparent_commitgarante que o repositório não tenha sido alterado antes de commitar as mudanças, e pode ser especialmente útil se o repositório for atualizado / commitado de forma concorrente.
Retorna
str
URL do commit que atualizou os metadados do card.
Envie um RepoCard para um repositório no Hugging Face Hub.
salvar
< source >( filepath: pathlib.Path | str )
Salve um RepoCard em um arquivo.
validate
< source >( repo_type: str | None = None )
Valida o card contra a lógica de validação de cards do Hugging Face Hub. O uso desta função requer acesso à internet, portanto, ela é chamada apenas internamente por huggingface_hub.repocard.RepoCard.push_to_hub().
Gera os seguintes erros:
ValueErrorse o cartão falhar nas verificações de validação.HTTPErrorse a solicitação à API do Hub falhar por qualquer outro motivo.
Dados do cartão
O objeto CardData é a classe pai de ModelCardData e DatasetCardData.
Estrutura contendo metadados de um RepoCard.
CardData é a classe pai de ModelCardData e DatasetCardData.
Metadados podem ser exportados como um dicionário ou YAML. A exportação pode ser personalizada para alterar a representação dos dados
(exemplo: achatar resultados de avaliação). CardData se comporta como um dicionário (pode obter, remover e definir valores), mas não
herda de dict para permitir essa etapa de exportação.
Obtém o valor para uma chave de metadados específica.
Valor pop para uma chave de metadados específica.
to_dict
< source >( ) → dict
Retorna
dict
CardData representado como um dicionário pronto para ser exportado em um bloco YAML para inclusão em um arquivo README.md.
Converte CardData em um dict.
to_yaml
< source >( line_break = Noneoriginal_order: list[str] | None = None ) → str
Parâmetros
- line_break (str, opcional) — A quebra de linha a ser usada ao despejar em yaml.
- original_order (
list[str], opcional) — Se fornecida, reordena os campos de metadados para corresponder a esta lista antes de despejar. Qualquer chave não presente emoriginal_orderé adicionada após as chaves listadas, preservando sua ordem relativa existente. Útil para fazer round-trip de um bloco YAML sem embaralhar suas chaves.
Retorna
str
CardData representado como um bloco YAML.
Exporta CardData para um bloco YAML para inclusão em um arquivo README.md.
Cartões de Modelo
ModelCard
from_template
< source >( card_data: ModelCardDatatemplate_path: str | None = Nonetemplate_str: str | None = None**template_kwargs ) → huggingface_hub.ModelCard
Parâmetros
- card_data (
huggingface_hub.ModelCardData) — Uma instância de huggingface_hub.ModelCardData contendo os metadados que você deseja incluir no cabeçalho YAML do model card no Hugging Face Hub. - template_path (
str, opcional) — Um caminho para um arquivo markdown com variáveis de template Jinja opcionais que podem ser preenchidas comtemplate_kwargs. O padrão é o template padrão. - template_str (
str, opcional) — Uma string de template Jinja bruta com variáveis opcionais. Usada quando nem otemplate_pathnem o template padrão são apropriados. Ignorado setemplate_pathtambém for fornecido.
Retorna
Uma instância de ModelCard com os dados e o conteúdo da card especificados a partir do modelo.
Inicialize um ModelCard a partir de um modelo. Por padrão, ele usa o modelo padrão, que pode ser encontrado aqui: https://github.com/huggingface/huggingface_hub/blob/main/src/huggingface_hub/templates/modelcard_template.md
Templates são templates Jinja2 que podem ser personalizados passando argumentos de palavra-chave.
Exemplo:
>>> 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
classe 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 )
Parâmetros
- base_model (
stroulist[str], opcional) — O identificador do modelo base do qual o modelo deriva. Isso se aplica, por exemplo, se o seu modelo for um fine-tune ou adaptador de um modelo existente. O valor deve ser o ID de um modelo no Hub (ou uma lista de IDs se o seu modelo deriva de vários modelos). O padrão é None. - datasets (
Union[str, list[str]], opcional) — Dataset ou lista de datasets que foram usados para treinar este modelo. Deve ser um ID de dataset encontrado em https://hf.co/datasets. O padrão é None. - eval_results (
Union[list[EvalResult], EvalResult], opcional) — Lista dehuggingface_hub.EvalResultque definem os resultados de avaliação do modelo. Se fornecida,model_nameé usada como nome nos rankings do PapersWithCode. O valor padrão éNone. - language (
Union[str, list[str]], opcional) — Idioma dos dados de treinamento ou metadados do modelo. Deve ser um código ISO 639-1, 639-2 ou 639-3 (dois/três letras), ou um valor especial como “code”, “multilingual”. O padrão éNone. - library_name (
str, opcional) — Nome da biblioteca usada por este modelo. Exemplo: keras ou qualquer biblioteca de https://github.com/huggingface/huggingface.js/blob/main/packages/tasks/src/model-libraries.ts. Padrão: None. - license (
str, opcional) — Licença deste modelo. Exemplo: apache-2.0 ou qualquer licença de https://huggingface.co/docs/hub/repositories-licenses. O padrão é None. - license_name (
str, opcional) — Nome da licença deste modelo. O padrão é None. Deve ser usado em conjunto comlicense_link. Licenças comuns (Apache-2.0, MIT, CC-BY-SA-4.0) não precisam de um nome. Nesse caso, uselicenseem vez disso. - license_link (
str, opcional) — Link para a licença deste modelo. O padrão é None. Deve ser usado em conjunto comlicense_name. Licenças comuns (Apache-2.0, MIT, CC-BY-SA-4.0) não precisam de um link. Nesse caso, uselicenseem vez disso. - metrics (
list[str], opcional) — Lista de métricas usadas para avaliar este modelo. Deve ser um nome de métrica que pode ser encontrado em https://hf.co/metrics. Exemplo: ‘accuracy’. Padrão: None. - model_name (
str, opcional) — Um nome para este modelo. Ele é usado junto comeval_resultspara construir omodel-indexnos metadados do card. O nome fornecido aqui é o que será usado nos rankings do PapersWithCode. Se None for fornecido, o nome do repositório é usado como padrão. Padrão: None. - pipeline_tag (
str, opcional) — A tag de pipeline associada ao modelo. Exemplo: “text-classification”. - tags (
list[str], opcional) — Lista de tags para adicionar ao seu modelo, que podem ser usadas ao filtrar no Hugging Face Hub. O valor padrão é None. - ignore_metadata_errors (
str) — Se True, os erros durante a análise da seção de metadados serão ignorados. Algumas informações podem ser perdidas durante o processo. Use por sua conta e risco. - kwargs (
dict, opcional) — Metadados adicionais que serão adicionados ao cartão do modelo. O padrão é None.
Metadados do Model Card usados pelo Hugging Face Hub quando incluídos no topo do seu README.md
Exemplo:
>>> 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']}
Cartões de Dataset
Dataset cards também são conhecidos como Data Cards na comunidade de ML.
DatasetCard
from_template
< source >( card_data: DatasetCardDatatemplate_path: str | None = Nonetemplate_str: str | None = None**template_kwargs ) → huggingface_hub.DatasetCard
Parâmetros
- card_data (
huggingface_hub.DatasetCardData) — Uma instância dehuggingface_hub.DatasetCardDatacontendo os metadados que você deseja incluir no cabeçalho YAML do cartão do dataset no Hugging Face Hub. - template_path (
str, opcional) — Um caminho para um arquivo markdown com variáveis de template Jinja opcionais que podem ser preenchidas comtemplate_kwargs. O padrão é o template padrão. - template_str (
str, opcional) — Uma string de template Jinja bruta com variáveis opcionais. Usada quando nem otemplate_pathnem o template padrão são apropriados. Ignorado setemplate_pathtambém for fornecido.
Retorna
Uma instância de DatasetCard com os dados e o conteúdo da card especificados a partir do modelo.
Inicialize um DatasetCard a partir de um modelo. Por padrão, ele usa o modelo padrão, que pode ser encontrado aqui: https://github.com/huggingface/huggingface_hub/blob/main/src/huggingface_hub/templates/datasetcard_template.md
Templates são templates Jinja2 que podem ser personalizados passando argumentos de palavra-chave.
Exemplo:
>>> 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
classe 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 )
Parâmetros
- language (
list[str], opcional) — Idioma dos dados ou metadados do conjunto de dados. Deve ser um código ISO 639-1, 639-2 ou 639-3 (dois/três letras) ou um valor especial como “code”, “multilingual”. - license (
Union[str, list[str]], opcional) — Licença(s) deste conjunto de dados. Exemplo: apache-2.0 ou qualquer licença de https://huggingface.co/docs/hub/repositories-licenses. - annotations_creators (
Union[str, list[str]], opcional) — Como as anotações do conjunto de dados foram criadas. As opções são: ‘found’, ‘crowdsourced’, ‘expert-generated’, ‘machine-generated’, ‘no-annotation’, ‘other’. - language_creators (
Union[str, list[str]], opcional) — Como os dados baseados em texto do conjunto de dados foram criados. As opções são: ‘found’, ‘crowdsourced’, ‘expert-generated’, ‘machine-generated’, ‘other’ - multilinguality (
Union[str, list[str]], opcional) — Se o conjunto de dados é multilíngue. As opções são: ‘monolingual’, ‘multilingual’, ‘translation’, ‘other’. - size_categories (
Union[str, list[str]], opcional) — O número de exemplos no conjunto de dados. As opções são: ‘n<1K’, ‘1K1T’, e ‘other’. - source_datasets (
list[str]], opcional) — Indica se o conjunto de dados é original ou estendido a partir de outro conjunto de dados existente. As opções são: ‘original’ e ‘extended’. - task_categories (
Union[str, list[str]], opcional) — Quais categorias de tarefa o conjunto de dados suporta? - task_ids (
Union[str, list[str]], opcional) — Quais tarefas específicas o conjunto de dados suporta? - paperswithcode_id (
str, opcional) — ID do conjunto de dados no PapersWithCode. - pretty_name (
str, opcional) — Um nome mais legível para o conjunto de dados. (ex. “Cats vs. Dogs”) - train_eval_index (
dict, opcional) — Um dicionário que descreve a especificação necessária para realizar a avaliação no Hub. Se não for fornecido, ele será obtido da chave ‘train-eval-index’ dos kwargs. - config_names (
Union[str, list[str]], opcional) — Uma lista dos configs de dataset disponíveis para o dataset.
Metadados do Dataset Card que são usados pelo Hugging Face Hub quando incluídos no topo do seu README.md
Cartões de Espaço
SpaceCard
SpaceCardData
classe 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 )
Parâmetros
- title (
str, opcional) — Título do Space. - sdk (
str, opcional) — SDK do Space (um degradio,streamlit,dockeroustatic). - sdk_version (
str, opcional) — Versão do SDK utilizado (se for o SDK do Gradio/Streamlit). - python_version (
str, opcional) — Versão do Python usada no Space (se for o sdk do Gradio/Streamlit). - app_file (
str, opcional) — Caminho para o arquivo principal da sua aplicação (que contém código Python do gradio ou streamlit, ou código html estático). O caminho é relativo à raiz do repositório. - app_port (
str, opcional) — Porta na qual sua aplicação está em execução. Usado apenas se sdk fordocker. - license (
str, opcional) — Licença deste modelo. Exemplo: apache-2.0 ou qualquer licença de https://huggingface.co/docs/hub/repositories-licenses. - duplicated_from (
str, opcional) — ID do Space original, caso este seja um Space duplicado. - models (
list[str], opcional) — Lista de modelos relacionados a este Space. Deve ser um ID de dataset encontrado em https://hf.co/models. - datasets (
list[str], opcional) — Lista de datasets relacionados a este Space. Deve ser um ID de dataset encontrado em https://hf.co/datasets. - tags (
list[str], opcional) — Lista de tags para adicionar ao seu Space, que podem ser usadas ao filtrar no Hub. - ignore_metadata_errors (
str) — Se True, os erros durante a análise da seção de metadados serão ignorados. Algumas informações podem ser perdidas durante o processo. Use por sua conta e risco. - kwargs (
dict, opcional) — Metadados adicionais que serão adicionados ao cartão do espaço.
Metadados do Space Card usados pelo Hugging Face Hub quando incluídos no topo do seu README.md
Para obter uma referência exaustiva da configuração de Spaces, visite https://huggingface.co/docs/hub/spaces-config-reference#spaces-configuration-reference.
Exemplo:
>>> 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'}Utilitários
EvalResult
classe 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 )
Parâmetros
- task_type (
str) — O identificador da tarefa. Exemplo: “image-classification”. - dataset_type (
str) — O identificador do dataset. Exemplo: “common_voice”. Use o id do dataset de https://hf.co/datasets. - dataset_name (
str) — Um nome legível para o conjunto de dados. Exemplo: “Common Voice (French)“. - metric_type (
str) — O identificador da métrica. Exemplo: “wer”. Use o id da métrica de https://hf.co/metrics. - metric_value (
Any) — O valor da métrica. Exemplo: 0.9 ou “20.0 ± 1.2”. - task_name (
str, opcional) — Um nome legível para a tarefa. Exemplo: “Speech Recognition”. - dataset_config (
str, opcional) — O nome da configuração do dataset usado emload_dataset(). Exemplo: fr emload_dataset("common_voice", "fr"). Veja a documentação dedatasetspara mais informações: https://hf.co/docs/datasets/package_reference/loading_methods#datasets.load_dataset.name - dataset_split (
str, opcional) — A divisão usada emload_dataset(). Exemplo: “test”. - dataset_revision (
str, opcional) — A revisão (também conhecida como Git Sha) do conjunto de dados usado emload_dataset(). Exemplo: 5503434ddd753f426f4b38109466949a1217c2bb - dataset_args (
dict[str, Any], opcional) — Os argumentos passados duranteMetric.compute(). Exemplo parableu:{"max_order": 4} - metric_name (
str, opcional) — Um nome legível para a métrica. Exemplo: “Test WER”. - metric_config (
str, opcional) — O nome da configuração de métrica usada emload_metric(). Exemplo: bleurt-large-512 emload_metric("bleurt", "bleurt-large-512"). Veja a documentação dodatasetspara mais informações: https://huggingface.co/docs/datasets/v2.1.0/en/loading#load-configurations - metric_args (
dict[str, Any], opcional) — Os argumentos passados duranteMetric.compute(). Exemplo parableu: max_order: 4 - verified (
bool, opcional) — Indica se as métricas se originam do serviço de avaliação do Hugging Face ou não. Calculado automaticamente pelo Hugging Face, não defina. - verify_token (
str, opcional) — Um JSON Web Token usado para verificar se as métricas têm origem no serviço de avaliação do Hugging Face ou não. - source_name (
str, opcional) — O nome da origem do resultado da avaliação. Exemplo: “Open LLM Leaderboard”. - source_url (
str, opcional) — A URL da origem do resultado da avaliação. Exemplo: ”https://huggingface.co/spaces/open-llm-leaderboard/open_llm_leaderboard”.
Representação achatada dos resultados individuais de avaliação encontrados no model-index dos Model Cards.
Para mais informações sobre a especificação do model-index, consulte https://github.com/huggingface/hub-docs/blob/main/modelcard.md?plain=1.
Retorna True se self e other descrevem exatamente a mesma métrica, mas com um valor diferente.
model_index_to_eval_results
huggingface_hub.repocard_data.model_index_to_eval_results
< source >( model_index: list ) → model_name (str)
Parâmetros
- model_index (
list[dict[str, Any]]) — Estrutura de dados de índice de modelo, provavelmente originada de um arquivo README.md no Hugging Face Hub.
Retorna
model_name (str)
O nome do modelo conforme encontrado no índice do modelo. Isso é usado como identificador do modelo em rankings como PapersWithCode.
eval_results (list[EvalResult]):
Uma lista de objetos huggingface_hub.EvalResult contendo as métricas relatadas no model_index fornecido.
Recebe um índice de modelo e retorna o nome do modelo e uma lista de objetos huggingface_hub.EvalResult.
Uma especificação detalhada do índice do modelo pode ser encontrada aqui: https://github.com/huggingface/hub-docs/blob/main/modelcard.md?plain=1
Exemplo:
>>> 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]])
Parâmetros
- model_name (
str) — Nome do modelo (ex.: “my-cool-model”). Isso é usado como identificador do modelo em rankings como o PapersWithCode. - eval_results (
list[EvalResult]) — Lista de objetoshuggingface_hub.EvalResultcontendo as métricas a serem relatadas no model-index.
Retorna
model_index (list[dict[str, Any]])
Os eval_results convertidos em um model-index.
Recebe o nome do modelo e uma lista de huggingface_hub.EvalResult e retorna um model-index válido que será compatível com o formato esperado pelo Hugging Face Hub.
Exemplo:
>>> 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
Parâmetros
- model_pretty_name (
str) — O nome do modelo em linguagem natural. - task_pretty_name (
str) — O nome de uma tarefa em linguagem natural. - task_id (
str) — Exemplo: automatic-speech-recognition. Um id de tarefa. - metrics_pretty_name (
str) — Um nome para a métrica em linguagem natural. Exemplo: Test WER. - metrics_id (
str) — Exemplo: wer. Um id de métrica de https://hf.co/metrics. - metrics_value (
Any) — O valor da métrica. Exemplo: 20.0 ou “20.0 ± 1.2”. - dataset_pretty_name (
str) — O nome do conjunto de dados em linguagem natural. - dataset_id (
str) — Exemplo: common_voice. Um id de dataset de https://hf.co/datasets. - metrics_config (
str, opcional) — O nome da configuração de métrica usada emload_metric(). Exemplo: bleurt-large-512 emload_metric("bleurt", "bleurt-large-512"). - metrics_verified (
bool, opcional, padrãoFalse) — Indica se as métricas se originam do serviço de avaliação do Hugging Face ou não. Calculado automaticamente pelo Hugging Face, não defina. - dataset_config (
str, opcional) — Exemplo: fr. O nome da configuração do conjunto de dados usado emload_dataset(). - dataset_split (
str, opcional) — Exemplo: test. O nome da divisão do conjunto de dados usado emload_dataset(). - dataset_revision (
str, opcional) — Exemplo: 5503434ddd753f426f4b38109466949a1217c2bb. O nome da revisão do conjunto de dados usado emload_dataset(). - metrics_verification_token (
bool, opcional) — Um JSON Web Token usado para verificar se as métricas têm origem no serviço de avaliação da Hugging Face ou não.
Retorna
dict
um dicionário de metadados com o resultado de um modelo avaliado em um conjunto de dados.
Cria um dicionário de metadados com o resultado de um modelo avaliado em um conjunto de dados.
Exemplo:
>>> 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
Parâmetros
- repo_id (
str) — O nome do repositório. - metadata (
dict) — Um dicionário contendo os metadados a serem atualizados. - repo_type (
str, opcional) — Defina como"dataset"ou"space"se estiver atualizando para um dataset ou space,Noneou"model"se estiver atualizando para um modelo. O padrão éNone. - overwrite (
bool, opcional, padrãoFalse) — Se definido comoTrue, um campo existente pode ser sobrescrito; caso contrário, tentar sobrescrever um campo existente causará um erro. - token (
str, opcional) — O token de autenticação do Hugging Face. - commit_message (
str, opcional) — O resumo / título / primeira linha do commit gerado. O padrão éf"Update metadata with huggingface_hub" - commit_description (
str, opcional) — A descrição do commit gerado - revision (
str, opcional) — A revisão git de onde o commit será feito. O padrão é o topo do ramo"main". - create_pr (
boolean, opcional) — Se deve ou não criar um Pull Request a partir derevisioncom esse commit. Padrão éFalse. - parent_commit (
str, opcional) — O OID / SHA do commit pai, como uma string hexadecimal. Abreviações (os 7 primeiros caracteres) também são suportadas. Se especificado ecreate_prforFalse, o commit falhará serevisionnão apontar paraparent_commit. Se especificado ecreate_prforTrue, a pull request será criada a partir deparent_commit. Especificarparent_commitgarante que o repositório não tenha sido alterado antes de commitar as mudanças, e pode ser especialmente útil se o repositório for atualizado / commitado de forma concorrente.
Retorna
str
URL do commit que atualizou os metadados do card.
Atualiza os metadados no README.md de um repositório no Hugging Face Hub.
Se o arquivo README.md ainda não existir, um novo será criado com os metadados e
o template padrão de ModelCard ou DatasetCard. Para um repositório space, um erro é lançado
pois um Space não pode existir sem um arquivo README.md.
Exemplo:
>>> 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)