# Sử dụng Keras tại Hugging Face

Keras là một framework học sâu mã nguồn mở đa backend, hỗ trợ JAX, TensorFlow và PyTorch. Bạn có thể tìm hiểu thêm chi tiết về nó tại [keras.io](https://keras.io/).

## Khám phá Keras trong Hub

Bạn có thể liệt kê các mô hình `keras` trên Hub bằng cách lọc theo tên thư viện trên [trang mô hình](https://huggingface.co/models?library=keras&sort=downloads).

Các mô hình Keras trên Hub có các tính năng hữu ích khi được tải lên trực tiếp từ thư viện Keras:
1. Một thẻ mô tả mô hình được tạo ra, bao gồm phần mô tả, biểu đồ của mô hình và nhiều hơn nữa.
2. Số lượt tải xuống để theo dõi mức độ phổ biến của một mô hình.
3. Một đoạn mã để nhanh chóng bắt đầu với mô hình.

## Sử dụng các mô hình có sẵn

Keras được tích hợp sâu với Hugging Face Hub. Điều này có nghĩa là bạn có thể tải và lưu các mô hình trên Hub trực tiếp từ thư viện. Để làm điều đó, bạn cần cài đặt một phiên bản gần đây của Keras và `huggingface_hub`. Thư viện `huggingface_hub` là một client Python nhẹ được Keras sử dụng để tương tác với Hub.

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

Sau khi cài đặt thư viện, bạn chỉ cần sử dụng phương thức `keras.saving.load_model` thông thường bằng cách truyền một đường dẫn Hugging Face làm đối số. Một đường dẫn HF là `repo_id` được đặt tiền tố `hf://`, ví dụ `"hf://keras-io/weather-prediction"`. Đọc thêm về `load_model` trong [tài liệu 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")
```

Nếu bạn muốn xem cách tải một mô hình cụ thể, hãy nhấp vào **Use this model** trên trang mô hình để nhận một đoạn mã hoạt động!

## Chia sẻ các mô hình của bạn

Tương tự như `load_model`, bạn có thể lưu và chia sẻ một mô hình `keras` trên Hub bằng cách sử dụng `model.save()` với một đường dẫn HF:

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

Nếu kho lưu trữ không tồn tại trên Hub, nó sẽ được tạo cho bạn. Mô hình được tải lên bao gồm thẻ mô hình, một biểu đồ của mô hình, các tệp `metadata.json` và `config.json`, cùng tệp `model.weights.h5` chứa trọng số của mô hình.

Mặc định, kho sẽ chứa một thẻ mô hình tối giản. Xem [hướng dẫn Thẻ mô hình](https://huggingface.co/docs/hub/model-cards) để tìm hiểu thêm về thẻ mô hình và cách hoàn thiện chúng. Bạn cũng có thể cập nhật thẻ mô hình bằng cách lập trình bằng `huggingface_hub.ModelCard` (xem [hướng dẫn](https://huggingface.co/docs/huggingface_hub/guides/model-cards)).

> [!TIP]
> Bạn có thể đã quen thuộc với các tệp `.keras`. Thực tế, một tệp `.keras` đơn giản chỉ là một tệp zip chứa các tệp `.json` và `model.weights.h5`. Khi được đẩy lên Hub, mô hình được lưu dưới dạng một thư mục đã giải nén để bạn có thể điều hướng qua các tệp. Lưu ý rằng nếu bạn tự động tải lên một tệp `.keras` lên kho mô hình trên Hub, kho sẽ tự động được gắn thẻ `keras` nhưng bạn sẽ không thể tải nó bằng `keras.saving.load_model`.

## Tài nguyên bổ sung

* Hướng dẫn dành cho nhà phát triển Keras [Guides](https://keras.io/guides/).
* Các [ví dụ](https://keras.io/examples/) của Keras.

