Hub에서 검색하기
이 튜토리얼에서는 huggingface_hub
를 사용하여 Hub에서 모델, 데이터 세트 및 Spaces를 검색하는 방법을 배웁니다.
리포지토리를 어떻게 나열하나요?
huggingface_hub
라이브러리에는 Hub와 상호작용하기 위한 HTTP 클라이언트HfApi가 포함되어 있습니다.
이를 통해, Hub에 저장된 모델, 데이터셋, 그리고 Spaces를 나열할 수 있습니다.
>>> from huggingface_hub import HfApi
>>> api = HfApi()
>>> models = api.list_models()
list_models()의 출력은 Hub에 저장되어 있는 모델들을 나열한 결과입니다.
마찬가지로, list_datasets()를 사용하여 데이터 세트를 나열하고 list_spaces()를 사용하여 Spaces를 나열할 수 있습니다.
리포지토리를 어떻게 필터링하나요?
리포지토리를 나열하는 것도 유용하지만, 검색을 필터링하고 싶을 수도 있습니다. 리스트에는 다음과 같은 여러 속성이 있습니다.
filter
author
search
- …
이 매개변수 중 두 개는 직관적입니다(author
및 search
). 그렇다면 filter
는 어떤 것을 나타낼까요?
filter
는 ModelFilter 객체(또는 DatasetFilter)를 입력으로 받습니다. 이를 이용해 필터링 하고 싶은 모델을 지정하여 인스턴스를 생성할 수 있습니다.
PyTorch로 작동되고 imagenet 데이터 세트로 훈련된, 이미지 분류를 위한 Hub의 모든 모델을 찾는 방법으로 예를 들어보겠습니다. 이 과정은 단일 [ModelFilter]를 사용하여 수행할 수 있습니다. 이때, 필터링 속성들은 ‘논리적 AND’로 결합되어, 지정한 모든 조건을 만족하는 모델만 선택됩니다.
models = hf_api.list_models(
filter=ModelFilter(
task="image-classification",
library="pytorch",
trained_dataset="imagenet"
)
)
필터링하는 과정에서 모델을 정렬하고 상위 결과만 선택할 수도 있습니다. 다음 예제는 Hub에서 가장 많이 다운로드된 상위 5개 데이터 세트를 가져옵니다.
>>> list(list_datasets(sort="downloads", direction=-1, limit=5))
[DatasetInfo(
id='argilla/databricks-dolly-15k-curated-en',
author='argilla',
sha='4dcd1dedbe148307a833c931b21ca456a1fc4281',
last_modified=datetime.datetime(2023, 10, 2, 12, 32, 53, tzinfo=datetime.timezone.utc),
private=False,
downloads=8889377,
(...)
Hub에서 사용 가능한 필터에 대해 살펴보려면 웹브라우저에서 모델 및 데이터 세트 페이지를 방문하여 일부 매개변수를 검색한 다음, URL에서 값들을 확인해보세요.
< > Update on GitHub