# Cấu hình

Các Scheduler từ [SchedulerMixin](/docs/diffusers/v0.43.0/vi/api/schedulers/overview#diffusers.SchedulerMixin) và các model từ [ModelMixin](/docs/diffusers/v0.43.0/vi/api/models/overview#diffusers.ModelMixin) kế thừa từ [ConfigMixin](/docs/diffusers/v0.43.0/vi/api/configuration#diffusers.ConfigMixin), thành phần lưu trữ tất cả các tham số được truyền vào các phương thức `__init__` tương ứng của chúng trong một tệp cấu hình JSON.

> [!TIP]
> Để sử dụng các mô hình riêng tư hoặc [được kiểm soát](https://huggingface.co/docs/hub/models-gated#gated-models), hãy đăng nhập bằng `hf auth login`.

## ConfigMixin[[diffusers.ConfigMixin]]

#### diffusers.ConfigMixin[[diffusers.ConfigMixin]]

```python
diffusers.ConfigMixin()
```

[Nguồn](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/configuration_utils.py#L87)

Lớp cơ sở cho tất cả các lớp cấu hình. Tất cả các tham số cấu hình được lưu trữ dưới `self.config`. Đồng thời cung cấp các phương thức [from_config()](/docs/diffusers/v0.43.0/vi/api/configuration#diffusers.ConfigMixin.from_config) và [save_config()](/docs/diffusers/v0.43.0/vi/api/configuration#diffusers.ConfigMixin.save_config) để tải xuống, tải và lưu các lớp kế thừa từ [ConfigMixin](/docs/diffusers/v0.43.0/vi/api/configuration#diffusers.ConfigMixin).

Thuộc tính lớp:
- **config_name** (`str`) -- Tên tệp mà cấu hình sẽ được lưu khi gọi [save_config()](/docs/diffusers/v0.43.0/vi/api/configuration#diffusers.ConfigMixin.save_config) (nên được ghi đè bởi lớp cha).
- **ignore_for_config** (`list[str]`) -- Một danh sách các thuộc tính không nên được lưu trong cấu hình (nên được ghi đè bởi lớp con).
- **has_compatibles** (`bool`) -- Xác định xem lớp có các lớp tương thích hay không (nên được ghi đè bởi lớp con).
- **_deprecated_kwargs** (`list[str]`) -- Các đối số từ khóa đã bị ngừng hỗ trợ. Lưu ý rằng hàm `init` chỉ nên có đối số `kwargs` nếu ít nhất một đối số đã bị ngừng hỗ trợ (nên được ghi đè bởi lớp con).

#### load_config[[diffusers.ConfigMixin.load_config]]

```python
load_config(pretrained_model_name_or_path: str | os.PathLike, return_unused_kwargs = False, return_commit_hash = False, **kwargs)
```

[Nguồn](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/configuration_utils.py#L322)

**Tham số:**

pretrained_model_name_or_path (`str` hoặc `os.PathLike`, *tùy chọn*) : Có thể là:  - Một chuỗi, *model id* (ví dụ `google/ddpm-celebahq-256`) của một model được huấn luyện trước lưu trên Hub. - Một đường dẫn đến *thư mục* (ví dụ `./my_model_directory`) chứa các trọng số model được lưu bằng [save_config()](/docs/diffusers/v0.43.0/vi/api/configuration#diffusers.ConfigMixin.save_config).

cache_dir (`str | os.PathLike`, *tùy chọn*) : Đường dẫn đến thư mục nơi cấu hình mô hình được huấn luyện trước đã tải xuống được lưu đệm nếu không sử dụng bộ lưu đệm tiêu chuẩn.

force_download (`bool`, *tùy chọn*, mặc định là `False`) : Xác định có nên ép buộc tải lại (re-download) trọng số mô hình và các tệp cấu hình hay không, ghi đè lên các phiên bản đã được lưu trong bộ nhớ đệm nếu chúng tồn tại.

proxies (`dict[str, str]`, *tùy chọn*) : Một từ điển các máy chủ proxy để sử dụng theo giao thức hoặc điểm cuối, ví dụ, `{'http': 'foo.bar:3128', 'http://hostname': 'foo.bar:4012'}`. Các proxy được sử dụng cho mỗi yêu cầu.

output_loading_info(`bool`, *tuỳ chọn*, mặc định là `False`) : Có trả về một từ điển chứa các khóa bị thiếu, các khóa không mong đợi và thông báo lỗi hay không.

local_files_only (`bool`, *tùy chọn*, mặc định là `False`) : Xác định xem có chỉ tải trọng số và tệp cấu hình của mô hình cục bộ hay không. Nếu đặt thành `True`, mô hình sẽ không được tải xuống từ Hub.

token (`str` hoặc *bool*, *tùy chọn*) : Token được sử dụng làm HTTP bearer authorization cho các tệp từ xa. Nếu là `True`, token được tạo từ `diffusers-cli login` (được lưu trong `~/.huggingface`) sẽ được sử dụng.

revision (`str`, *tùy chọn*, mặc định là `"main"`) : Phiên bản mô hình cụ thể cần sử dụng. Nó có thể là tên nhánh, tên thẻ, id commit, hoặc bất kỳ định danh nào được Git cho phép.

subfolder (`str`, *tùy chọn*, mặc định là `""`) : Vị trí của thư mục con chứa tệp mô hình bên trong một kho lưu trữ mô hình lớn hơn trên Hub hoặc cục bộ.

return_unused_kwargs (`bool`, *tùy chọn*, mặc định là `False) : Xác định xem các đối số từ khóa không được sử dụng của cấu hình có được trả về hay không.

return_commit_hash (`bool`, *optional*, defaults to `False) : Whether the `commit_hash` of the loaded configuration are returned.

**Trả về:** `dict`

Một từ điển chứa tất cả các tham số được lưu trữ trong tệp cấu hình JSON.

Tải cấu hình mô hình hoặc trình lập lịch.

#### from_config[[diffusers.ConfigMixin.from_config]]

```python
from_config(config: diffusers.configuration_utils.FrozenDict | dict[str, typing.Any] = None, return_unused_kwargs = False, **kwargs)
```

[Nguồn](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/configuration_utils.py#L221)

**Tham số:**

config (`dict[str, Any]`) : Một từ điển cấu hình mà từ đó lớp Python được khởi tạo. Hãy đảm bảo chỉ tải các tệp cấu hình của các lớp tương thích.

return_unused_kwargs (`bool`, *tuỳ chọn*, mặc định là `False`) : Xác định xem các kwargs không được lớp Python sử dụng có nên được trả về hay không.

kwargs (đictionary còn lại của các đối số từ khóa, *tùy chọn*) : Có thể được sử dụng để cập nhật đối tượng cấu hình (sau khi nó được tải) và khởi tạo lớp Python. `**kwargs` được truyền trực tiếp đến phương thức `__init__` của bộ lập lịch/mô hình cơ bản và cuối cùng ghi đè lên các đối số cùng tên trong `config`.

**Trả về:** [ModelMixin](/docs/diffusers/v0.43.0/vi/api/models/overview#diffusers.ModelMixin) hoặc [SchedulerMixin](/docs/diffusers/v0.43.0/vi/api/schedulers/overview#diffusers.SchedulerMixin)

Một đối tượng mô hình hoặc trình lập lịch được khởi tạo từ một từ điển cấu hình.

Tạo một lớp Python từ một từ điển cấu hình.

Ví dụ:

```python
>>> from diffusers import DDPMScheduler, DDIMScheduler, PNDMScheduler

>>> # Download scheduler from huggingface.co and cache.
>>> scheduler = DDPMScheduler.from_pretrained("google/ddpm-cifar10-32")

>>> # Instantiate DDIM scheduler class with same config as DDPM
>>> scheduler = DDIMScheduler.from_config(scheduler.config)

>>> # Instantiate PNDM scheduler class with same config as DDPM
>>> scheduler = PNDMScheduler.from_config(scheduler.config)
```

#### save_config[[diffusers.ConfigMixin.save_config]]

```python
save_config(save_directory: str | os.PathLike, push_to_hub: bool = False, **kwargs)
```

[Nguồn](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/configuration_utils.py#L177)

**Tham số:**

save_directory (`str` hoặc `os.PathLike`) : Thư mục nơi tệp cấu hình JSON được lưu (sẽ được tạo nếu chưa tồn tại).

push_to_hub (`bool`, *tùy chọn*, mặc định là `False`) : Có đẩy mô hình của bạn lên Hugging Face Hub sau khi lưu hay không. Bạn có thể chỉ định kho lưu trữ muốn đẩy đến bằng `repo_id` (mặc định sẽ là tên của `save_directory` trong không gian tên của bạn).

kwargs (`dict[str, Any]`, *tùy chọn*) : Các đối số từ khóa bổ sung được truyền đến phương thức [push_to_hub()](/docs/diffusers/v0.43.0/vi/api/schedulers/overview#diffusers.utils.PushToHubMixin.push_to_hub).

Lưu đối tượng cấu hình vào thư mục được chỉ định trong `save_directory` để có thể tải lại bằng phương thức lớp [from_config()](/docs/diffusers/v0.43.0/vi/api/configuration#diffusers.ConfigMixin.from_config).

#### to_json_file[[diffusers.ConfigMixin.to_json_file]]

```python
to_json_file(json_file_path: str | os.PathLike)
```

[Nguồn](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/configuration_utils.py#L647)

**Tham số:**

json_file_path (`str` hoặc `os.PathLike`) : Đường dẫn đến tệp JSON để lưu các tham số của một instance cấu hình.

Lưu các tham số của instance cấu hình vào một tệp JSON.

#### to_json_string[[diffusers.ConfigMixin.to_json_string]]

```python
to_json_string()
```

[Nguồn](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/configuration_utils.py#L602)

**Trả về:** `str`

Chuỗi chứa tất cả các thuộc tính cấu thành lên bản thể cấu hình ở định dạng JSON.

Chuẩn hóa (serialize) cấu hình (configuration) thành một chuỗi JSON.

