timm documentation
Compartilhando e carregando modelos do Hugging Face Hub
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:
- Compartilhe um modelo
timmno Hub - 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)