Hub Python Library documentation
Thẻ kho
Thẻ kho
Thư viện huggingface_hub cung cấp giao diện Python để tạo, chia sẻ và cập nhật Model/Dataset Cards. Tham khảo trang tài liệu chuyên biệt để tìm hiểu sâu hơn về Model Cards trên Hub là gì và cách chúng hoạt động bên trong. Bạn cũng có thể xem hướng dẫn về Model Cards của chúng tôi để hiểu cách sử dụng các tiện ích này trong các dự án của riêng bạn.
Thẻ kho
Đối tượng RepoCard là lớp cha của ModelCard, DatasetCard và SpaceCard.
__init__
< source >( content: strignore_metadata_errors: bool = False )
Khởi tạo một RepoCard từ nội dung chuỗi. Nội dung phải là một tệp Markdown có khối YAML ở đầu và phần thân 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
Tham số
- card_data (
huggingface_hub.CardData) — Một instance củahuggingface_hub.CardDatachứa các metadata bạn muốn bao gồm trong phần header YAML của repo card trên Hugging Face Hub. - template_path (
str, tùy chọn) — Đường dẫn đến tệp markdown chứa các biến mẫu Jinja tùy chọn, có thể được điền vào bằngtemplate_kwargs. Mặc định là mẫu mặc định. - template_str (
str, tuỳ chọn) — Chuỗi template Jinja thô với các biến tuỳ chọn. Được sử dụng khi cảtemplate_pathvà template mặc định đều không phù hợp. Bị bỏ qua nếutemplate_pathcũng được cung cấp.
Một instance RepoCard với dữ liệu thẻ và nội dung được chỉ định từ template.
Khởi tạo một RepoCard từ một mẫu. Mặc định, nó sử dụng mẫu mặc định.
Templates là các mẫu Jinja2 có thể được tùy chỉnh bằng cách truyền các đối số dạng từ khóa.
load
< source >( repo_id_or_path: str | pathlib.Pathrepo_type: str | None = Nonetoken: str | None = Noneignore_metadata_errors: bool = False ) → huggingface_hub.repocard.RepoCard
Tham số
- repo_id_or_path (
Union[str, Path]) — ID của kho liên quan đến một kho trên Hugging Face Hub hoặc một đường dẫn tệp cục bộ. - repo_type (
str, tùy chọn) — Loại kho Hugging Face để đẩy lên. Mặc định là None, sẽ sử dụng “model”. Các tùy chọn khác là “dataset” và “space”. Không được sử dụng khi tải từ đường dẫn tệp cục bộ. Nếu được gọi từ một lớp con, giá trị mặc định sẽ làrepo_typecủa lớp con đó. - token (
str, tùy chọn) — Token xác thực, được lấy bằng phương thứchuggingface_hub.HfApi.login. Mặc định sẽ dùng token đã lưu. - ignore_metadata_errors (
str) — Nếu là True, các lỗi khi phân tích cú pháp phần metadata sẽ bị bỏ qua. Một số thông tin có thể bị mất trong quá trình này. Sử dụng với rủi ro của chính bạn.
RepoCard (hoặc lớp con) được khởi tạo từ tệp README.md hoặc đường dẫn tệp của kho.
Khởi tạo một RepoCard từ README.md của một repo trên Hugging Face Hub hoặc từ một đường dẫn tệp cục bộ.
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
Tham số
- repo_id (
str) — ID của kho trên Hugging Face Hub mà bạn muốn đẩy lên. Ví dụ: “nateraw/food”. - token (
str, tùy chọn) — Token xác thực, được lấy bằng phương thứchuggingface_hub.HfApi.login. Mặc định sẽ dùng token đã lưu. - repo_type (
str, tùy chọn, mặc định là “model”) — Loại kho Hugging Face để đẩy lên. Các tùy chọn là “model”, “dataset” và “space”. Nếu hàm này được gọi bởi một lớp con, giá trị mặc định sẽ làrepo_typecủa lớp con đó. - commit_message (
str, tùy chọn) — Tóm tắt / tiêu đề / dòng đầu tiên của commit được tạo ra. - commit_description (
str, tùy chọn) — Mô tả của commit được tạo. - revision (
str, tùy chọn) — Phiên bản git để commit từ. Mặc định là đầu của nhánh"main". - create_pr (
bool, tùy chọn) — Có tạo Pull Request với commit này hay không. Mặc định làFalse. - parent_commit (
str, tùy chọn) — OID / SHA của commit cha, dưới dạng chuỗi hex. Các dạng viết tắt (7 ký tự đầu tiên) cũng được hỗ trợ. Nếu được chỉ định vàcreate_prlàFalse, commit sẽ thất bại nếurevisionkhông trỏ đếnparent_commit. Nếu được chỉ định vàcreate_prlàTrue, pull request sẽ được tạo từparent_commit. Việc chỉ địnhparent_commitđảm bảo rằng repo không bị thay đổi trước khi commit các thay đổi, và đặc biệt hữu ích nếu repo được cập nhật / commit đồng thời.
Trả về
str
URL của commit đã cập nhật metadata của thẻ.
Đẩy một RepoCard lên kho Hugging Face Hub.
lưu
< source >( filepath: pathlib.Path | str )
Lưu RepoCard vào tệp.
validate
< source >( repo_type: str | None = None )
Kiểm tra thẻ theo logic xác thực thẻ của Hugging Face Hub. Việc sử dụng hàm này yêu cầu quyền truy cập internet, do đó nó chỉ được gọi nội bộ bởi huggingface_hub.repocard.RepoCard.push_to_hub().
Gây ra các lỗi sau:
ValueErrornếu thẻ không vượt qua các kiểm tra xác thực.HTTPErrornếu yêu cầu đến Hub API thất bại vì bất kỳ lý do nào khác.
Dữ liệu thẻ
Đối tượng CardData là lớp cha của ModelCardData và DatasetCardData.
Cấu trúc chứa các siêu dữ liệu từ một RepoCard.
CardData là lớp cha của ModelCardData và DatasetCardData.
Metadata có thể được xuất dưới dạng từ điển hoặc YAML. Việc xuất có thể được tùy chỉnh để thay đổi cách biểu diễn dữ liệu (ví dụ: làm phẳng kết quả đánh giá). CardData hoạt động như một từ điển (có thể get, pop, set giá trị) nhưng không kế thừa từ dict để cho phép bước xuất này.
Lấy giá trị cho một khóa metadata đã cho.
Lấy giá trị cho một khóa metadata cụ thể.
to_dict
< source >( ) → dict
Trả về
dict
CardData được biểu diễn dưới dạng từ điển, sẵn sàng để xuất ra khối YAML nhằm đưa vào tệp README.md.
Chuyển đổi CardData thành dict.
to_yaml
< source >( line_break = Noneoriginal_order: list[str] | None = None ) → str
Tham số
- line_break (str, tùy chọn) — Ký tự xuống dòng được sử dụng khi xuất ra yaml.
- original_order (
list[str], tùy chọn) — Nếu được cung cấp, sắp xếp lại các trường metadata để khớp với danh sách này trước khi dump. Bất kỳ key nào không có trongoriginal_ordersẽ được thêm vào sau các key được liệt kê, giữ nguyên thứ tự tương đối hiện có của chúng. Hữu ích để round-trip một khối YAML mà không làm xáo trộn các key của nó.
Trả về
str
CardData được biểu diễn dưới dạng khối YAML.
Xuất CardData thành một khối YAML để đưa vào tệp README.md.
Thẻ mô hình
ModelCard
from_template
< source >( card_data: ModelCardDatatemplate_path: str | None = Nonetemplate_str: str | None = None**template_kwargs ) → huggingface_hub.ModelCard
Tham số
- card_data (
huggingface_hub.ModelCardData) — Một instance của huggingface_hub.ModelCardData chứa các metadata bạn muốn bao gồm trong phần header YAML của model card trên Hugging Face Hub. - template_path (
str, tùy chọn) — Đường dẫn đến tệp markdown chứa các biến mẫu Jinja tùy chọn, có thể được điền vào bằngtemplate_kwargs. Mặc định là mẫu mặc định. - template_str (
str, tuỳ chọn) — Chuỗi template Jinja thô với các biến tuỳ chọn. Được sử dụng khi cảtemplate_pathvà template mặc định đều không phù hợp. Bị bỏ qua nếutemplate_pathcũng được cung cấp.
Trả về
Một instance của ModelCard với dữ liệu thẻ và nội dung được chỉ định từ template.
Khởi tạo một ModelCard từ một mẫu. Mặc định, nó sử dụng mẫu mặc định, có thể tìm thấy tại đây: https://github.com/huggingface/huggingface_hub/blob/main/src/huggingface_hub/templates/modelcard_template.md
Templates là các mẫu Jinja2 có thể được tùy chỉnh bằng cách truyền các đối số dạng từ khóa.
Ví dụ:
>>> 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
lớp 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 )
Tham số
- base_model (
strhoặclist[str], tùy chọn) — Định danh của mô hình gốc mà mô hình này được phát triển từ đó. Điều này áp dụng, chẳng hạn, nếu mô hình của bạn là một bản fine-tune hoặc adapter của một mô hình hiện có. Giá trị phải là ID của một mô hình trên Hub (hoặc một danh sách các ID nếu mô hình của bạn được phát triển từ nhiều mô hình). Mặc định là None. - datasets (
Union[str, list[str]], tùy chọn) — Dataset hoặc danh sách các dataset đã được sử dụng để huấn luyện mô hình này. Phải là một dataset ID được tìm thấy trên https://hf.co/datasets. Mặc định là None. - eval_results (
Union[list[EvalResult], EvalResult], tùy chọn) — Danh sách cáchuggingface_hub.EvalResultxác định kết quả đánh giá của mô hình. Nếu được cung cấp,model_namesẽ được sử dụng làm tên trên bảng xếp hạng của PapersWithCode. Mặc định làNone. - language (
Union[str, list[str]], tùy chọn) — Ngôn ngữ của dữ liệu huấn luyện hoặc metadata của model. Nó phải là mã ISO 639-1, 639-2 hoặc 639-3 (hai/ba chữ cái), hoặc một giá trị đặc biệt như “code”, “multilingual”. Mặc định làNone. - library_name (
str, tùy chọn) — Tên của thư viện được sử dụng bởi mô hình này. Ví dụ: keras hoặc bất kỳ thư viện nào từ https://github.com/huggingface/huggingface.js/blob/main/packages/tasks/src/model-libraries.ts. Mặc định là None. - license (
str, tùy chọn) — Giấy phép của model này. Ví dụ: apache-2.0 hoặc bất kỳ giấy phép nào từ https://huggingface.co/docs/hub/repositories-licenses. Mặc định là None. - license_name (
str, tùy chọn) — Tên của giấy phép cho model này. Mặc định là None. Được sử dụng cùng vớilicense_link. Các giấy phép phổ biến (Apache-2.0, MIT, CC-BY-SA-4.0) không cần tên. Trong trường hợp đó, hãy dùnglicensethay thế. - license_link (
str, tùy chọn) — Liên kết đến giấy phép của model này. Mặc định là None. Được sử dụng cùng vớilicense_name. Các giấy phép phổ biến (Apache-2.0, MIT, CC-BY-SA-4.0) không cần liên kết. Trong trường hợp đó, hãy sử dụnglicensethay thế. - metrics (
list[str], tùy chọn) — Danh sách các chỉ số được sử dụng để đánh giá mô hình này. Phải là tên chỉ số có thể tìm thấy tại https://hf.co/metrics. Ví dụ: ‘accuracy’. Mặc định là None. - model_name (
str, tùy chọn) — Tên của mô hình này. Nó được sử dụng cùng vớieval_resultsđể xây dựngmodel-indextrong metadata của thẻ. Tên bạn cung cấp ở đây sẽ được sử dụng trên bảng xếp hạng của PapersWithCode. Nếu None được cung cấp thì tên kho sẽ được sử dụng làm mặc định. Mặc định là None. - pipeline_tag (
str, tùy chọn) — Thẻ pipeline liên quan đến mô hình. Ví dụ: “text-classification”. - tags (
list[str], tùy chọn) — Danh sách các thẻ cần thêm vào mô hình của bạn, có thể được sử dụng khi lọc trên Hugging Face Hub. Mặc định là None. - ignore_metadata_errors (
str) — Nếu là True, các lỗi khi phân tích cú pháp phần metadata sẽ bị bỏ qua. Một số thông tin có thể bị mất trong quá trình này. Sử dụng với rủi ro của chính bạn. - kwargs (
dict, tùy chọn) — Các metadata bổ sung sẽ được thêm vào model card. Mặc định là None.
Metadata của Model Card được Hugging Face Hub sử dụng khi được bao gồm ở đầu tệp README.md của bạn
Ví dụ:
>>> 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']}
Thẻ Dữ liệu
Dataset cards còn được gọi là Data Cards trong cộng đồng ML.
DatasetCard
from_template
< source >( card_data: DatasetCardDatatemplate_path: str | None = Nonetemplate_str: str | None = None**template_kwargs ) → huggingface_hub.DatasetCard
Tham số
- card_data (
huggingface_hub.DatasetCardData) — Một instance củahuggingface_hub.DatasetCardDatachứa các metadata bạn muốn bao gồm trong phần header YAML của dataset card trên Hugging Face Hub. - template_path (
str, tùy chọn) — Đường dẫn đến tệp markdown chứa các biến mẫu Jinja tùy chọn, có thể được điền vào bằngtemplate_kwargs. Mặc định là mẫu mặc định. - template_str (
str, tuỳ chọn) — Chuỗi template Jinja thô với các biến tuỳ chọn. Được sử dụng khi cảtemplate_pathvà template mặc định đều không phù hợp. Bị bỏ qua nếutemplate_pathcũng được cung cấp.
Trả về
Một instance của DatasetCard với dữ liệu thẻ và nội dung từ template được chỉ định.
Khởi tạo một DatasetCard từ một template. Mặc định, nó sử dụng template mặc định, có thể tìm thấy tại đây: https://github.com/huggingface/huggingface_hub/blob/main/src/huggingface_hub/templates/datasetcard_template.md
Templates là các mẫu Jinja2 có thể được tùy chỉnh bằng cách truyền các đối số dạng từ khóa.
Ví dụ:
>>> 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
lớp 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 )
Tham số
- language (
list[str], tùy chọn) — Ngôn ngữ của dữ liệu hoặc metadata của dataset. Nó phải là mã ISO 639-1, 639-2 hoặc 639-3 (hai/ba chữ cái), hoặc một giá trị đặc biệt như “code”, “multilingual”. - license (
Union[str, list[str]], tùy chọn) — Giấy phép của bộ dữ liệu này. Ví dụ: apache-2.0 hoặc bất kỳ giấy phép nào từ https://huggingface.co/docs/hub/repositories-licenses. - annotations_creators (
Union[str, list[str]], tùy chọn) — Cách các chú thích cho bộ dữ liệu được tạo ra. Các tùy chọn là: ‘found’, ‘crowdsourced’, ‘expert-generated’, ‘machine-generated’, ‘no-annotation’, ‘other’. - language_creators (
Union[str, list[str]], tùy chọn) — Cách dữ liệu dạng văn bản trong bộ dữ liệu được tạo ra. Các tùy chọn là: ‘found’, ‘crowdsourced’, ‘expert-generated’, ‘machine-generated’, ‘other’ - multilinguality (
Union[str, list[str]], tùy chọn) — Liệu bộ dữ liệu có đa ngôn ngữ hay không. Các tùy chọn là: ‘monolingual’, ‘multilingual’, ‘translation’, ‘other’. - size_categories (
Union[str, list[str]], tùy chọn) — Số lượng ví dụ trong bộ dữ liệu. Các tùy chọn là: ‘n<1K’, ‘1K1T’, và ‘other’. - source_datasets (
list[str]], tùy chọn) — Chỉ ra liệu bộ dữ liệu có phải là bộ dữ liệu gốc hay được mở rộng từ một bộ dữ liệu hiện có khác. Các tùy chọn là: ‘original’ và ‘extended’. - task_categories (
Union[str, list[str]], tùy chọn) — Dữ liệu hỗ trợ những danh mục tác vụ nào? - task_ids (
Union[str, list[str]], tùy chọn) — Bộ dữ liệu hỗ trợ những tác vụ cụ thể nào? - paperswithcode_id (
str, tùy chọn) — ID của bộ dữ liệu trên PapersWithCode. - pretty_name (
str, tùy chọn) — Tên dễ đọc hơn cho bộ dữ liệu. (vd. “Cats vs. Dogs”) - train_eval_index (
dict, tùy chọn) — Một từ điển mô tả thông số cần thiết để thực hiện đánh giá trên Hub. Nếu không được cung cấp, nó sẽ được lấy từ khóa ‘train-eval-index’ trong kwargs. - config_names (
Union[str, list[str]], tùy chọn) — Danh sách các cấu hình bộ dữ liệu có sẵn cho bộ dữ liệu.
Metadata của Dataset Card được Hugging Face Hub sử dụng khi được bao gồm ở đầu tệp README.md của bạn
Thẻ không gian
SpaceCard
SpaceCardData
lớp 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 )
Tham số
- title (
str, tùy chọn) — Tiêu đề của Space. - sdk (
str, tùy chọn) — SDK của Space (một tronggradio,streamlit,docker, hoặcstatic). - sdk_version (
str, tùy chọn) — Phiên bản của SDK được sử dụng (nếu là Gradio/Streamlit sdk). - python_version (
str, tùy chọn) — Phiên bản Python được sử dụng trong Space (nếu dùng Gradio/Streamlit sdk). - app_file (
str, tùy chọn) — Đường dẫn đến tệp ứng dụng chính của bạn (chứa mã Python gradio hoặc streamlit, hoặc mã html tĩnh). Đường dẫn được tính tương đối so với gốc của kho lưu trữ. - app_port (
str, tùy chọn) — Cổng mà ứng dụng của bạn đang chạy. Chỉ được sử dụng nếu sdk làdocker. - license (
str, tùy chọn) — Giấy phép của mô hình này. Ví dụ: apache-2.0 hoặc bất kỳ giấy phép nào từ https://huggingface.co/docs/hub/repositories-licenses. - duplicated_from (
str, tùy chọn) — ID của Space gốc nếu đây là một Space được nhân bản. - models (
list[str], tùy chọn) — Danh sách các model liên quan đến Space này. Phải là một dataset ID được tìm thấy trên https://hf.co/models. - datasets (
list[str], tùy chọn) — Danh sách các dataset liên quan đến Space này. Phải là ID của dataset được tìm thấy trên https://hf.co/datasets. - tags (
list[str], tùy chọn) — Danh sách các thẻ cần thêm vào Space của bạn, có thể được sử dụng khi lọc trên Hub. - ignore_metadata_errors (
str) — Nếu là True, các lỗi khi phân tích cú pháp phần metadata sẽ bị bỏ qua. Một số thông tin có thể bị mất trong quá trình này. Sử dụng với rủi ro của chính bạn. - kwargs (
dict, tùy chọn) — Các metadata bổ sung sẽ được thêm vào thẻ space.
Space Card Metadata được Hugging Face Hub sử dụng khi được bao gồm ở đầu tệp README.md của bạn
Để có tài liệu tham khảo đầy đủ về cấu hình Spaces, vui lòng truy cập https://huggingface.co/docs/hub/spaces-config-reference#spaces-configuration-reference.
Ví dụ:
>>> 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'}Công cụ tiện ích
EvalResult
lớp 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 )
Tham số
- task_type (
str) — Định danh tác vụ. Ví dụ: “image-classification”. - dataset_type (
str) — Định danh bộ dữ liệu. Ví dụ: “common_voice”. Sử dụng id bộ dữ liệu từ https://hf.co/datasets. - dataset_name (
str) — Tên hiển thị cho bộ dữ liệu. Ví dụ: “Common Voice (French)“. - metric_type (
str) — Định danh chỉ số. Ví dụ: “wer”. Sử dụng id chỉ số từ https://hf.co/metrics. - metric_value (
Any) — Giá trị của chỉ số. Ví dụ: 0.9 hoặc “20.0 ± 1.2”. - task_name (
str, tùy chọn) — Tên hiển thị cho tác vụ. Ví dụ: “Speech Recognition”. - dataset_config (
str, tùy chọn) — Tên của cấu hình bộ dữ liệu được sử dụng trongload_dataset(). Ví dụ: fr trongload_dataset("common_voice", "fr"). Xem tài liệudatasetsđể biết thêm thông tin: https://hf.co/docs/datasets/package_reference/loading_methods#datasets.load_dataset.name - dataset_split (
str, tùy chọn) — Phần chia được sử dụng trongload_dataset(). Ví dụ: “test”. - dataset_revision (
str, tùy chọn) — Phiên bản (còn gọi là Git Sha) của bộ dữ liệu được sử dụng trongload_dataset(). Ví dụ: 5503434ddd753f426f4b38109466949a1217c2bb - dataset_args (
dict[str, Any], tùy chọn) — Các đối số được truyền trongMetric.compute(). Ví dụ chobleu:{"max_order": 4} - metric_name (
str, tùy chọn) — Tên hiển thị cho chỉ số. Ví dụ: “Test WER”. - metric_config (
str, tùy chọn) — Tên của cấu hình chỉ số được sử dụng trongload_metric(). Ví dụ: bleurt-large-512 trongload_metric("bleurt", "bleurt-large-512"). Xem tài liệudatasetsđể biết thêm thông tin: https://huggingface.co/docs/datasets/v2.1.0/en/loading#load-configurations - metric_args (
dict[str, Any], tùy chọn) — Các đối số được truyền trongMetric.compute(). Ví dụ chobleu: max_order: 4 - verified (
bool, tùy chọn) — Chỉ ra liệu các chỉ số có xuất phát từ dịch vụ đánh giá của Hugging Face hay không. Được Hugging Face tự động tính toán, không cần thiết lập. - verify_token (
str, tuỳ chọn) — Một JSON Web Token được sử dụng để xác minh xem các chỉ số có xuất phát từ dịch vụ đánh giá của Hugging Face hay không. - source_name (
str, tùy chọn) — Tên của nguồn kết quả đánh giá. Ví dụ: “Open LLM Leaderboard”. - source_url (
str, tùy chọn) — URL của nguồn kết quả đánh giá. Ví dụ: ”https://huggingface.co/spaces/open-llm-leaderboard/open_llm_leaderboard”.
Biểu diễn dạng phẳng của các kết quả đánh giá riêng lẻ được tìm thấy trong model-index của Model Cards.
Để biết thêm thông tin về quy cách model-index, hãy xem https://github.com/huggingface/hub-docs/blob/main/modelcard.md?plain=1.
Trả về True nếu self và other mô tả cùng một chỉ số chính xác nhưng có giá trị khác nhau.
model_index_to_eval_results
huggingface_hub.repocard_data.model_index_to_eval_results
< source >( model_index: list ) → model_name (str)
Tham số
- model_index (
list[dict[str, Any]]) — Cấu trúc dữ liệu chỉ mục mô hình, thường có nguồn gốc từ tệp README.md trên Hugging Face Hub.
Trả về
model_name (str)
Tên của model như được tìm thấy trong model index. Tên này được dùng làm định danh cho model trên các bảng xếp hạng như PapersWithCode.
eval_results (list[EvalResult]):
Một danh sách các đối tượng huggingface_hub.EvalResult chứa các chỉ số được báo cáo trong model_index được cung cấp.
Nhận vào một chỉ mục mô hình và trả về tên mô hình cùng một danh sách các đối tượng huggingface_hub.EvalResult.
Chi tiết về đặc tả của chỉ mục mô hình có thể được tìm thấy tại đây: https://github.com/huggingface/hub-docs/blob/main/modelcard.md?plain=1
Ví dụ:
>>> 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]])
Tham số
- model_name (
str) — Tên của mô hình (ví dụ: “my-cool-model”). Đây được dùng làm định danh cho mô hình trên các bảng xếp hạng như PapersWithCode. - eval_results (
list[EvalResult]) — Danh sách các đối tượnghuggingface_hub.EvalResultchứa các chỉ số cần được báo cáo trong model-index.
Trả về
model_index (list[dict[str, Any]])
eval_results được chuyển đổi thành model-index.
Nhận tên model đã cho và danh sách huggingface_hub.EvalResult, sau đó trả về một model-index hợp lệ, tương thích với định dạng được kỳ vọng bởi Hugging Face Hub.
Ví dụ:
>>> 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
Tham số
- model_pretty_name (
str) — Tên của mô hình bằng ngôn ngữ tự nhiên. - task_pretty_name (
str) — Tên của một tác vụ bằng ngôn ngữ tự nhiên. - task_id (
str) — Ví dụ: automatic-speech-recognition. Một id của tác vụ. - metrics_pretty_name (
str) — Tên của chỉ số bằng ngôn ngữ tự nhiên. Ví dụ: Test WER. - metrics_id (
str) — Ví dụ: wer. Một id chỉ số từ https://hf.co/metrics. - metrics_value (
Any) — Giá trị từ chỉ số. Ví dụ: 20.0 hoặc “20.0 ± 1.2”. - dataset_pretty_name (
str) — Tên của bộ dữ liệu bằng ngôn ngữ tự nhiên. - dataset_id (
str) — Ví dụ: common_voice. Một id bộ dữ liệu từ https://hf.co/datasets. - metrics_config (
str, tùy chọn) — Tên của cấu hình chỉ số được sử dụng trongload_metric(). Ví dụ: bleurt-large-512 trongload_metric("bleurt", "bleurt-large-512"). - metrics_verified (
bool, tùy chọn, mặc định làFalse) — Chỉ ra liệu các chỉ số có xuất phát từ dịch vụ đánh giá của Hugging Face hay không. Được Hugging Face tự động tính toán, không cần thiết lập. - dataset_config (
str, tùy chọn) — Ví dụ: fr. Tên của cấu hình bộ dữ liệu được sử dụng trongload_dataset(). - dataset_split (
str, tùy chọn) — Ví dụ: test. Tên của phần chia bộ dữ liệu được sử dụng trongload_dataset(). - dataset_revision (
str, tùy chọn) — Ví dụ: 5503434ddd753f426f4b38109466949a1217c2bb. Tên của bản sửa đổi bộ dữ liệu được sử dụng trongload_dataset(). - metrics_verification_token (
bool, tùy chọn) — Một JSON Web Token được sử dụng để xác minh xem các chỉ số có xuất phát từ dịch vụ đánh giá của Hugging Face hay không.
Trả về
dict
một dict metadata chứa kết quả từ một model được đánh giá trên một dataset.
Tạo một từ điển metadata chứa kết quả từ một mô hình được đánh giá trên một tập dữ liệu.
Ví dụ:
>>> 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
Tham số
- repo_id (
str) — Tên của kho lưu trữ. - metadata (
dict) — Một từ điển chứa các metadata cần cập nhật. - repo_type (
str, tùy chọn) — Đặt thành"dataset"hoặc"space"nếu cập nhật lên một dataset hoặc space,Nonehoặc"model"nếu cập nhật lên một model. Mặc định làNone. - overwrite (
bool, tùy chọn, mặc định làFalse) — Nếu đặt thànhTrue, một trường hiện có có thể bị ghi đè, ngược lại việc cố gắng ghi đè lên một trường hiện có sẽ gây ra lỗi. - token (
str, tùy chọn) — Token xác thực Hugging Face. - commit_message (
str, tùy chọn) — Tóm tắt / tiêu đề / dòng đầu tiên của commit được tạo. Mặc định làf"Update metadata with huggingface_hub" - commit_description (
str, tùy chọn) — Mô tả của commit được tạo - revision (
str, tùy chọn) — Phiên bản git để commit từ. Mặc định là đầu của nhánh"main". - create_pr (
boolean, tùy chọn) — Có tạo Pull Request từrevisionvới commit đó hay không. Mặc định làFalse. - parent_commit (
str, tùy chọn) — OID / SHA của commit cha, dưới dạng chuỗi hex. Các dạng viết tắt (7 ký tự đầu tiên) cũng được hỗ trợ. Nếu được chỉ định vàcreate_prlàFalse, commit sẽ thất bại nếurevisionkhông trỏ đếnparent_commit. Nếu được chỉ định vàcreate_prlàTrue, pull request sẽ được tạo từparent_commit. Việc chỉ địnhparent_commitđảm bảo rằng repo không bị thay đổi trước khi commit các thay đổi, và đặc biệt hữu ích nếu repo được cập nhật / commit đồng thời.
Trả về
str
URL của commit đã cập nhật metadata của thẻ.
Cập nhật metadata trong README.md của một repository trên Hugging Face Hub.
Nếu tệp README.md chưa tồn tại, một tệp mới sẽ được tạo với metadata và
mẫu ModelCard hoặc DatasetCard mặc định. Đối với repo space, một lỗi sẽ được ném ra
vì một Space không thể tồn tại mà không có tệp README.md.
Ví dụ:
>>> 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)