timm documentation

Compartilhando e carregando modelos do Hugging Face Hub

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v1.0.30).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Compartilhando e carregando modelos do Hugging Face Hub

A biblioteca timm possui uma integração nativa com o Hugging Face Hub, facilitando o compartilhamento e o carregamento de modelos do 🤗 Hub.

Neste guia rápido, veremos como:

  1. Compartilhe um modelo timm no Hub
  2. Como carregar esse modelo novamente do Hub

Autenticando

Primeiro, você precisa ter certeza de que o pacote huggingface_hub está instalado.

pip install huggingface_hub

Em seguida, você precisará se autenticar. Você pode fazer isso executando o seguinte comando:

hf auth login

Ou, se você estiver usando um notebook, pode usar o helper notebook_login:

>>> from huggingface_hub import notebook_login
>>> notebook_login()

Compartilhando um Modelo

>>> import timm
>>> model = timm.create_model('resnet18', pretrained=True, num_classes=4)

É aqui que você normalmente treinaria ou ajustaria o modelo. Vamos pular essa etapa por conta deste tutorial.

Vamos supor que agora tenhamos feito o ajuste fino do modelo. O próximo passo seria enviá-lo para o Hub! Podemos fazer isso com a função timm.models.push_to_hf_hub. A configuração exportada descreve o modelo como ele está agora (por exemplo, seu número de classes, ou o tamanho e os canais de entrada, se foram alterados), veja adapt and export models.

>>> model_cfg = dict(label_names=['a', 'b', 'c', 'd'])
>>> timm.models.push_to_hf_hub(model, 'resnet18-random', model_config=model_cfg)

Executar o código acima enviaria o modelo para <your-username>/resnet18-random no Hub. Agora você pode compartilhar esse modelo com seus amigos ou usá-lo em seu próprio código!

Carregando um Modelo

Carregar um modelo do Hub é tão simples quanto chamar timm.create_model com o nome do repositório do Hub, prefixado com hf-hub:, e pretrained=True. Neste caso, usaremos nateraw/resnet18-random, que é o modelo que acabamos de enviar para o Hub.

>>> model_reloaded = timm.create_model('hf-hub:nateraw/resnet18-random', pretrained=True)
Update on GitHub