# AutoModel

[AutoModel](/docs/diffusers/v0.43.0/id/api/models/auto_model#diffusers.AutoModel) secara otomatis mengambil kelas model yang benar dari file `config.json` checkpoint.

## AutoModel[[diffusers.AutoModel]]

#### diffusers.AutoModel[[diffusers.AutoModel]]

```python
diffusers.AutoModel(*args, **kwargs)
```

[Sumber](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/models/auto_model.py#L27)

#### from_pretrained[[diffusers.AutoModel.from_pretrained]]

```python
from_pretrained(pretrained_model_or_path: str | os.PathLike | None = None, **kwargs)
```

[Sumber](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/models/auto_model.py#L155)

**Parameter:**

pretrained_model_name_or_path (`str` atau `os.PathLike`, *opsional*) : Bisa berupa:  - String, *model id* (misalnya `google/ddpm-celebahq-256`) dari model pretrained yang dihosting di Hub. - Path ke *direktori* (misalnya `./my_model_directory`) yang berisi bobot model yang disimpan dengan [save_pretrained()](/docs/diffusers/v0.43.0/id/api/models/overview#diffusers.ModelMixin.save_pretrained).

cache_dir (`str | os.PathLike`, *opsional*) : Path ke direktori tempat konfigurasi model pretrained yang diunduh di-cache jika cache standar tidak digunakan.

dtype (`torch.dtype`, *opsional*) : Menimpa `torch.dtype` bawaan dan memuat model dengan dtype lain.

force_download (`bool`, *opsional*, defaultnya `False`) : Apakah akan memaksa (mengunduh ulang) bobot model dan file konfigurasi, menimpa versi yang di-cache jika ada.

proxies (`dict[str, str]`, *opsional*) : Kamus server proxy yang akan digunakan berdasarkan protokol atau endpoint, misalnya `{'http': 'foo.bar:3128', 'http://hostname': 'foo.bar:4012'}`. Proxy digunakan pada setiap permintaan.

output_loading_info (`bool`, *opsional*, defaultnya `False`) : Apakah akan mengembalikan juga kamus yang berisi kunci yang hilang, kunci yang tidak terduga, dan pesan kesalahan.

local_files_only(`bool`, *opsional*, default `False`) : Apakah hanya memuat bobot model dan file konfigurasi lokal atau tidak. Jika diatur ke `True`, model tidak akan diunduh dari Hub.

token (`str` atau *bool*, *opsional*) : Token yang digunakan sebagai otorisasi bearer HTTP untuk file jarak jauh. Jika `True`, token yang dihasilkan dari `diffusers-cli login` (disimpan di `~/.huggingface`) akan digunakan.

revision (`str`, *opsional*, defaultnya `"main"`) : Versi model spesifik yang akan digunakan. Bisa berupa nama branch, nama tag, id commit, atau identifikasi apa pun yang diizinkan oleh Git.

subfolder (`str`, *opsional*, defaultnya `""`) : Lokasi subfolder dari file model di dalam repositori model yang lebih besar di Hub atau secara lokal.

mirror (`str`, *opsional*) : Sumber cermin untuk menyelesaikan masalah aksesibilitas jika Anda mengunduh model di Tiongkok. Kami tidak menjamin ketepatan waktu atau keamanan sumber, dan Anda harus merujuk ke situs cermin untuk informasi lebih lanjut.

device_map (`str` atau `dict[str, int | str | torch.device]`, *opsional*) : Peta yang menentukan ke perangkat mana setiap submodul harus ditempatkan. Tidak perlu didefinisikan untuk setiap nama parameter/buffer; begitu nama modul tertentu ada di dalamnya, setiap submodul di bawahnya akan dikirim ke perangkat yang sama. Nilainya secara default adalah `None`, yang berarti model akan dimuat di CPU. Atur `device_map="auto"` agar 🤗 Accelerate secara otomatis menghitung `device_map` yang paling dioptimalkan. Untuk informasi lebih lanjut tentang setiap opsi, lihat [mendesain peta perangkat](https://hf.co/docs/accelerate/main/en/usage_guides/big_modeling#designing-a-device-map).

max_memory (`Dict`, *opsional*) : Kamus pengidentifikasi perangkat untuk memori maksimum. Akan secara default menggunakan memori maksimum yang tersedia untuk setiap GPU dan RAM CPU yang tersedia jika tidak disetel.

offload_folder (`str` atau `os.PathLike`, *opsional*) : Path untuk offload weights jika `device_map` berisi nilai `"disk"`.

offload_state_dict (`bool`, *opsional*) : Jika `True`, secara sementara memindahkan state dict CPU ke hard drive untuk menghindari kehabisan RAM CPU jika bobot state dict CPU + shard terbesar dari checkpoint tidak muat. Bawaan adalah `True` jika ada disk offload.

low_cpu_mem_usage (`bool`, *opsional*, defaultnya `True` jika versi torch >= 1.9.0 selain itu `False`) : Mempercepat pemuatan model dengan hanya memuat bobot pretrained dan tidak menginisialisasi bobot. Ini juga berusaha untuk tidak menggunakan lebih dari 1x ukuran model di memori CPU (termasuk memori puncak) saat memuat model. Hanya didukung untuk PyTorch >= 1.9.0. Jika Anda menggunakan versi PyTorch yang lebih lama, mengatur argumen ini ke `True` akan memicu error.

variant (`str`, *opsional*) : Muat bobot dari nama file `variant` yang ditentukan, seperti `"fp16"` atau `"ema"`.

use_safetensors (`bool`, *opsional*, defaultnya `None`) : Jika diatur ke `None`, bobot `safetensors` akan diunduh jika tersedia **dan** jika pustaka `safetensors` terpasang. Jika diatur ke `True`, model dipaksa dimuat dari bobot `safetensors`. Jika diatur ke `False`, bobot `safetensors` tidak dimuat.

disable_mmap ('bool', *opsional*, default 'False') : Apakah akan menonaktifkan mmap saat memuat model Safetensors. Opsi ini dapat memberikan performa yang lebih baik ketika model berada di network mount atau hard drive, yang mungkin tidak menangani sifat seeky dari mmap dengan baik.

trust_remote_cocde (`bool`, *opsional*, defaultnya `False`) : Apakah akan mempercayai kode jarak jauh

Instansiasi model PyTorch pretrained dari konfigurasi model pretrained.

Model diatur dalam mode evaluasi - `model.eval()` - secara default, dan modul dropout dinonaktifkan. Untuk melatih model, kembalikan ke mode pelatihan dengan `model.train()`.

> [!TIP] > Untuk menggunakan model privat atau [model bergerbang](https://huggingface.co/docs/hub/models-gated#gated-models), masuk
dengan `hf > auth login`. Anda juga dapat mengaktifkan mode khusus > ["offline-mode"](https://huggingface.co/diffusers/installation.html#offline-mode) untuk menggunakan metode ini di lingkungan yang > dibatasi firewall.

Contoh:

```py
from diffusers import AutoModel

unet = AutoModel.from_pretrained("stable-diffusion-v1-5/stable-diffusion-v1-5", subfolder="unet")
```

Jika Anda menerima pesan kesalahan di bawah ini, Anda perlu melakukan penyesuaian bobot untuk tugas turunan Anda:

```bash
Some weights of UNet2DConditionModel were not initialized from the model checkpoint at stable-diffusion-v1-5/stable-diffusion-v1-5 and are newly initialized because the shapes did not match:
- conv_in.weight: found shape torch.Size([320, 4, 3, 3]) in the checkpoint and torch.Size([320, 9, 3, 3]) in the model instantiated
You should probably TRAIN this model on a down-stream task to be able to use it for predictions and inference.
```

#### from_config[[diffusers.AutoModel.from_config]]

```python
from_config(pretrained_model_name_or_path_or_dict: str | os.PathLike | dict | None = None, **kwargs)
```

[Sumber](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/models/auto_model.py#L38)

**Parameter:**

pretrained_model_name_or_path_or_dict (`str`, `os.PathLike`, atau `dict`) : Dapat berupa salah satu dari: - String, *model id* (misalnya `google/ddpm-celebahq-256`) dari konfigurasi model pretrained yang dihosting di Hub. - Path ke *directory* (misalnya `./my_model_directory`) yang berisi file konfigurasi model. - Dictionary konfigurasi.

cache_dir (`Union[str, os.PathLike]`, *opsional*) : Path ke direktori tempat konfigurasi model pretrained yang diunduh di-cache jika cache standar tidak digunakan.

force_download (`bool`, *opsional*, defaultnya `False`) : Apakah akan memaksa (mengunduh ulang) konfigurasi model, menimpa versi yang di-cache jika ada.

proxies (`Dict[str, str]`, *opsional*) : Kamus server proxy yang akan digunakan berdasarkan protokol atau endpoint.

local_files_only(`bool`, *opsional*, default `False`) : Apakah hanya memuat file konfigurasi model lokal atau tidak.

token (`str` atau *bool*, *opsional*) : Token yang digunakan sebagai otorisasi bearer HTTP untuk file jarak jauh.

revision (`str`, *opsional*, defaultnya `"main"`) : Versi model spesifik yang akan digunakan.

trust_remote_code (`bool`, *opsional*, defaultnya `False`) : Apakah kode jarak jauh akan dipercaya.

subfolder (`str`, *opsional*, defaultnya `""`) : Lokasi subfolder dari file model di dalam repositori model yang lebih besar di Hub atau secara lokal.

**Mengembalikan:**

Objek model yang diinstansiasi dari config dengan bobot acak.

Instansiasi model dari kamus konfigurasi atau file konfigurasi model terlatih sebelumnya dengan bobot acak (tidak ada bobot terlatih sebelumnya yang dimuat).

Contoh:

```py
from diffusers import AutoModel

model = AutoModel.from_config("stable-diffusion-v1-5/stable-diffusion-v1-5", subfolder="unet")
```

