瀏覽 Hugging Face 模型

使用 Hugging Face 的多模態模型

James Chapman

Curriculum Manager, DataCamp

認識你的講師……

 

Sean Benson
  • 曾任瑞士 CERN 大型強子對撞機(LHC)的粒子物理學家
  • 現為 Amsterdam University Medical Center 的應用 AI 研究員

Sean Benson 的照片。

使用 Hugging Face 的多模態模型

涵蓋的模態

文字、影像、音訊與影片應用範例。

1 圖片來源:OpenAI 產生
使用 Hugging Face 的多模態模型

Hugging Face

Hugging Face 模型頁面的螢幕截圖,顯示模型卡資訊

  • 100 萬+ 個模型
  • 25 萬+ 個資料集
使用 Hugging Face 的多模態模型

Hub API

  • 以程式方式存取模型與資料集
pip install huggingface_hub[cli]

登入以存取你帳戶中的模型:

>>> huggingface-cli login
  • 所有函式庫、模型與資料集都已預先安裝
使用 Hugging Face 的多模態模型

搜尋模型

  • Hugging Face API:以程式方式存取模型與資料集
from huggingface_hub import HfApi
api = HfApi()

models = api.list_models()
  • task:如 "image-classification""text-to-image"
  • sort:例如 "likes""downloads"
  • limit:上限筆數
  • tags:模型的相關附加資訊
使用 Hugging Face 的多模態模型

搜尋模型

models = api.list_models(

task="text-to-image",
author="CompVis",
tags="diffusers:StableDiffusionPipeline",
sort="downloads"
)
top_model = list(models)[0]
print(top_model)
ModelInfo(id='CompVis/stable-diffusion-v1-4', private=False, downloads=1097285, 
          likes=6718, library_name='diffusers', ...
使用 Hugging Face 的多模態模型

從 API 使用模型

top_model_id = top_model.id
print(top_model_id)
CompVis/stable-diffusion-v1-4
from diffusers import StableDiffusionPipeline
pipe = StableDiffusionPipeline.from_pretrained(top_model_id)
使用 Hugging Face 的多模態模型

可用任務

  • 網頁 文件

  • 也可透過 JSON 取得:https://huggingface.co/api/tasks

import json
from urllib.request import urlopen
url = "https://huggingface.co/api/tasks"

with urlopen(url) as url:
    tasks = json.load(url)
print(tasks.keys())
dict_keys(['any-to-any',
'audio-classification',
'audio-to-audio', ...'])
1 https://huggingface.co/tasks 2 https://huggingface.co/api/tasks
使用 Hugging Face 的多模態模型

一起來練習吧!

使用 Hugging Face 的多模態模型

Preparing Video For Download...