# Share and Load Models from the BOINC AI Hub

## Sharing and Loading Models From the Hugging Face Hub

The `timm` library has a built-in integration with the BOINC AI Hub, making it easy to share and load models from the 🌍 Hub.

In this short guide, we’ll see how to:

1. Share a `timm` model on the Hub
2. How to load that model back from the Hub

### Authenticating

First, you’ll need to make sure you have the `huggingface_hub` package installed.

Copied

```
pip install huggingface_hub
```

Then, you’ll need to authenticate yourself. You can do this by running the following command:

Copied

```
huggingface-cli login
```

Or, if you’re using a notebook, you can use the `notebook_login` helper:

Copied

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

### Sharing a Model

Copied

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

Here is where you would normally train or fine-tune the model. We’ll skip that for the sake of this tutorial.

Let’s pretend we’ve now fine-tuned the model. The next step would be to push it to the Hub! We can do this with the `timm.models.hub.push_to_hf_hub` function.

Copied

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

Running the above would push the model to `<your-username>/resnet18-random` on the Hub. You can now share this model with your friends, or use it in your own code!

### Loading a Model

Loading a model from the Hub is as simple as calling `timm.create_model` with the `pretrained` argument set to the name of the model you want to load. In this case, we’ll use [`nateraw/resnet18-random`](https://huggingface.co/nateraw/resnet18-random), which is the model we just pushed to the Hub.

Copied

```
>>> model_reloaded = timm.create_model('hf_hub:nateraw/resnet18-random', pretrained=True)
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://boinc-ai.gitbook.io/timm/tutorials/share-and-load-models-from-the-boinc-ai-hub.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
