# Использование Keras в Hugging Face

Keras — это открытый фреймворк для глубокого обучения с поддержкой нескольких бэкендов: JAX, TensorFlow и PyTorch. Подробнее о нём можно узнать на [keras.io](https://keras.io/).

## Исследование Keras в Hub

Вы можете получить список моделей `keras` на Hub, отфильтровав их по имени библиотеки на [странице моделей](https://huggingface.co/models?library=keras&sort=downloads).

Модели Keras на Hub обретают полезные функции при загрузке напрямую из библиотеки Keras:
1. Сгенерированная карточка модели с описанием, графиком модели и другими элементами.
2. Количество загрузок для отслеживания популярности модели.
3. Фрагмент кода для быстрого начала работы с моделью.

## Использование существующих моделей

Keras тесно интегрирован с Hugging Face Hub. Это означает, что вы можете загружать и сохранять модели на Hub непосредственно из библиотеки. Для этого необходимо установить актуальную версию Keras и `huggingface_hub`. Библиотека `huggingface_hub` — это лёгкий Python-клиент, который Keras использует для взаимодействия с Hub.

```
pip install -U keras huggingface_hub
```

После установки библиотеки достаточно использовать стандартный метод `keras.saving.load_model`, передав в качестве аргумента путь Hugging Face. Путь HF — это `repo_id` с префиксом `hf://`, например `"hf://keras-io/weather-prediction"`. Подробнее о `load_model` читайте в [документации Keras](https://keras.io/api/models/model_saving_apis/model_saving_and_loading/#load_model-function).

```py
import keras

model = keras.saving.load_model("hf://Wauplin/mnist_example")
```

Если вы хотите узнать, как загрузить конкретную модель, нажмите **Use this model** на странице модели, чтобы получить рабочий фрагмент кода!

## Обмен моделями

Аналогично `load_model`, вы можете сохранить и поделиться моделью `keras` на Hub, используя `model.save()` с путём HF:

```py
model = ...
model.save("hf://your-username/your-model-name")
```

Если репозиторий не существует на Hub, он будет создан для вас. Загруженная модель содержит карточку модели, график модели, файлы `metadata.json` и `config.json`, а также файл `model.weights.h5` с весами модели.

По умолчанию репозиторий будет содержать минимальную карточку модели. Ознакомьтесь с [руководством по карточкам моделей](https://huggingface.co/docs/hub/model-cards), чтобы узнать больше о карточках моделей и о том, как их заполнять. Вы также можете программно обновлять карточки моделей с помощью `huggingface_hub.ModelCard` (см. [руководство](https://huggingface.co/docs/huggingface_hub/guides/model-cards)).

> [!TIP]
> Возможно, вы уже знакомы с файлами `.keras`. По сути, файл `.keras` — это просто zip-архив, содержащий файлы `.json` и `model.weights.h5`. При загрузке на Hub модель сохраняется в виде распакованной папки, чтобы вы могли просматривать файлы. Обратите внимание: если вы вручную загрузите файл `.keras` в репозиторий модели на Hub, репозиторий будет автоматически помечен тегом `keras`, но загрузить его с помощью `keras.saving.load_model` не получится.

## Дополнительные ресурсы

* Keras Developer [Guides](https://keras.io/guides/).
* Примеры Keras [examples](https://keras.io/examples/).

