Buckets:
Planificadores
馃 Diffusers ofrece muchas funciones de programador para el proceso de difusi贸n. Un programador toma la salida de un modelo (la muestra sobre la que el proceso de difusi贸n est谩 iterando) y un paso de tiempo para devolver una muestra desruidada. El paso de tiempo es importante porque determina en qu茅 punto del proceso de difusi贸n se encuentra el paso; los datos se generan iterando hacia adelante n pasos de tiempo y la inferencia se produce propagando hacia atr谩s a trav茅s de los pasos de tiempo. En funci贸n del paso de tiempo, un programador puede ser discreto, en cuyo caso el paso de tiempo es un int, o continuo, en cuyo caso el paso de tiempo es un float.
Seg煤n el contexto, un scheduler define c贸mo a帽adir ruido de forma iterativa a una imagen o c贸mo actualizar una muestra en funci贸n de la salida de un modelo:
- durante el entrenamiento, un programador a帽ade ruido (existen diferentes algoritmos para a帽adir ruido) a una muestra para entrenar un modelo de difusi贸n
- durante la inferencia, un programador define c贸mo actualizar una muestra en funci贸n de la salida de un modelo preentrenado
Muchos de los programadores est谩n implementados a partir de la biblioteca k-diffusion de Katherine Crowson y tambi茅n se utilizan ampliamente en A1111. Para ayudarte a asociar los programadores de k-diffusion y A1111 con los programadores de 馃 Diffusers, consulta la siguiente tabla:
| A1111/k-diffusion | 馃 Diffusers | Uso |
|---|---|---|
| DPM++ 2M | DPMSolverMultistepScheduler | |
| DPM++ 2M Karras | DPMSolverMultistepScheduler | inicializar con use_karras_sigmas=True |
| DPM++ 2M SDE | DPMSolverMultistepScheduler | inicializar con algorithm_type="sde-dpmsolver++" |
| DPM++ 2M SDE Karras | DPMSolverMultistepScheduler | inicializar con use_karras_sigmas=True y algorithm_type="sde-dpmsolver++" |
| DPM++ 2S a | N/A | muy similar a DPMSolverSinglestepScheduler |
| DPM++ 2S a Karras | N/A | muy similar a DPMSolverSinglestepScheduler(use_karras_sigmas=True, ...) |
| DPM++ SDE | DPMSolverSinglestepScheduler | |
| DPM++ SDE Karras | DPMSolverSinglestepScheduler | inicializar con use_karras_sigmas=True |
| DPM2 | KDPM2DiscreteScheduler | |
| DPM2 Karras | KDPM2DiscreteScheduler | inicializar con use_karras_sigmas=True |
| DPM2 a | KDPM2AncestralDiscreteScheduler | |
| DPM2 a Karras | KDPM2AncestralDiscreteScheduler | inicializar con use_karras_sigmas=True |
| DPM adaptativo | N/A | |
| DPM r谩pido | N/A | |
| Euler | EulerDiscreteScheduler | |
| Euler a | EulerAncestralDiscreteScheduler | |
| Heun | HeunDiscreteScheduler | |
| LMS | LMSDiscreteScheduler | |
| LMS Karras | LMSDiscreteScheduler | inicializar con use_karras_sigmas=True |
| N/A | DEISMultistepScheduler | |
| N/A | UniPCMultistepScheduler |
Programas de ruido y tipos de programa
| A1111/k-diffusion | 馃 Diffusers |
|---|---|
| Karras | inicializar con use_karras_sigmas=True |
| sgm_uniform | inicializar con timestep_spacing="trailing" |
| simple | inicializar con timestep_spacing="trailing" |
| exponencial | inicializar con timestep_spacing="linspace", use_exponential_sigmas=True |
| beta | inicializar con timestep_spacing="linspace", use_beta_sigmas=True |
Todos los programadores se construyen a partir de la clase base SchedulerMixin, que implementa utilidades de bajo nivel compartidas por todos los programadores.
SchedulerMixin[[diffusers.SchedulerMixin]]
diffusers.SchedulerMixin[[diffusers.SchedulerMixin]]
diffusers.SchedulerMixin()
Clase base para todos los programadores.
SchedulerMixin contiene funciones comunes compartidas por todos los programadores, como las funcionalidades generales de carga y guardado.
ConfigMixin se encarga de almacenar los atributos de configuraci贸n (como num_train_timesteps) que se pasan a la funci贸n __init__ del programador, y los atributos se pueden acceder mediante scheduler.config.num_train_timesteps.
Atributos de clase:
- _compatibles (
list[str]) -- Una lista de clases de programadores compatibles con la clase de programador principal. Utilice from_config() para cargar una clase de programador compatible diferente (debe ser sobrescrita por la clase principal).
from_pretrained[[diffusers.SchedulerMixin.from_pretrained]]
from_pretrained(pretrained_model_name_or_path: str | os.PathLike | None = None, subfolder: str | None = None, return_unused_kwargs: bool = False, **kwargs: Any)
Par谩metros:
pretrained_model_name_or_path (str o os.PathLike, opcional) : Puede ser: - Una cadena, el model id (por ejemplo google/ddpm-celebahq-256) de un modelo preentrenado alojado en el Hub. - Una ruta a un directorio (por ejemplo ./my_model_directory) que contiene la configuraci贸n del programador guardada con save_pretrained().
subfolder (str, opcional) : La ubicaci贸n de la subcarpeta de un archivo de modelo dentro de un repositorio de modelos m谩s grande en el Hub o localmente.
return_unused_kwargs (bool, opcional, por defecto False) : Si los kwargs que no son consumidos por la clase de Python deben devolverse o no.
cache_dir (str o os.PathLike, opcional) : Ruta a un directorio donde se almacena en cach茅 la configuraci贸n de un modelo preentrenado descargado si no se utiliza la cach茅 est谩ndar.
force_download (bool, opcional, valor predeterminado False) : Indica si se debe forzar la (re)descarga de los pesos del modelo y los archivos de configuraci贸n, reemplazando las versiones en cach茅 si existen.
proxies (dict[str, str], opcional) : Un diccionario de servidores proxy a utilizar por protocolo o punto de acceso, por ejemplo, {'http': 'foo.bar:3128', 'http://hostname': 'foo.bar:4012'}. Los proxies se utilizan en cada solicitud.
output_loading_info (bool, opcional, por defecto False) : Si se debe devolver tambi茅n un diccionario que contenga las claves faltantes, las claves inesperadas y los mensajes de error.
local_files_only (bool, opcional, valor predeterminado False) : Indica si se deben cargar 煤nicamente los pesos y archivos de configuraci贸n del modelo localmente. Si se establece en True, el modelo no se descargar谩 desde el Hub.
token (str o bool, opcional) : El token que se usar谩 como autorizaci贸n HTTP bearer para archivos remotos. Si es True, se utiliza el token generado desde diffusers-cli login (almacenado en ~/.huggingface).
revision (str, opcional, valor predeterminado "main") : La versi贸n espec铆fica del modelo que se va a utilizar. Puede ser el nombre de una rama, el nombre de una etiqueta, un id de commit o cualquier identificador permitido por Git.
Devuelve: SchedulerMixin o tuple[SchedulerMixin, dict[str, Any]]
El programador instanciado a partir de la configuraci贸n. Si return_unused_kwargs es True, se devuelve una tupla donde el segundo elemento es un diccionario de argumentos de palabra clave no utilizados.
Instanciar un programador desde un archivo de configuraci贸n JSON predefinido en un directorio local o un repositorio de Hub.
> Para usar modelos privados o con acceso restringido, inicia sesi贸n con
hf > auth login. Tambi茅n puedes activar el modo especial > "offline-mode" para usar este m茅todo en un > entorno con cortafuegos.
save_pretrained[[diffusers.SchedulerMixin.save_pretrained]]
save_pretrained(save_directory: str | os.PathLike, push_to_hub: bool = False, **kwargs: Any)
Par谩metros:
save_directory (str o os.PathLike) : Directorio donde se guardar谩 el archivo JSON de configuraci贸n (se crear谩 si no existe).
push_to_hub (bool, opcional, por defecto False) : Si se sube o no el modelo al Hugging Face Hub despu茅s de guardarlo. Puede especificar el repositorio al que desea subirlo con repo_id (por defecto, usar谩 el nombre de save_directory en su espacio de nombres).
kwargs (dict[str, Any], opcional) : Argumentos de palabra clave adicionales que se pasan al m茅todo push_to_hub().
Guarde un objeto de configuraci贸n de programador en un directorio para que pueda recargarse mediante el m茅todo de clase from_pretrained().
SchedulerOutput[[diffusers.schedulers.scheduling_utils.SchedulerOutput]]
diffusers.schedulers.scheduling_utils.SchedulerOutput[[diffusers.schedulers.scheduling_utils.SchedulerOutput]]
diffusers.schedulers.scheduling_utils.SchedulerOutput(prev_sample: Tensor)
Par谩metros:
prev_sample (torch.Tensor de forma (batch_size, num_channels, height, width) para im谩genes) : Muestra (x_{t-1}) calculada del paso de tiempo anterior. prev_sample debe usarse como entrada del modelo en la siguiente iteraci贸n del bucle de desruido.
Clase base para la salida de la funci贸n step de un programador.
KarrasDiffusionSchedulers
KarrasDiffusionSchedulers son una generalizaci贸n amplia de los programadores en 馃 Diffusers. Los programadores de esta clase se distinguen a un nivel alto por su estrategia de muestreo de ruido, el tipo de red y escalado, la estrategia de entrenamiento y c贸mo se pondera la p茅rdida.
Los distintos programadores de esta clase, seg煤n el tipo de solver de ecuaciones diferenciales ordinarias (ODE), encajan en la taxonom铆a anterior y proporcionan una buena abstracci贸n para el dise帽o de los programadores principales implementados en 馃 Diffusers. Los programadores de esta clase se encuentran aqu铆.
PushToHubMixin[[diffusers.utils.PushToHubMixin]]
diffusers.utils.PushToHubMixin[[diffusers.utils.PushToHubMixin]]
diffusers.utils.PushToHubMixin()
Un Mixin para subir un modelo, un programador o un pipeline al Hugging Face Hub.
push_to_hub[[diffusers.utils.PushToHubMixin.push_to_hub]]
push_to_hub(repo_id: str, commit_message: str | None = None, private: bool | None = None, token: str | None = None, create_pr: bool = False, safe_serialization: bool = True, variant: str | None = None, subfolder: str | None = None)
Par谩metros:
repo_id (str) : El nombre del repositorio al que deseas subir tus archivos de modelo, programador o pipeline. Debe incluir el nombre de tu organizaci贸n cuando subas a una organizaci贸n. repo_id tambi茅n puede ser una ruta a un directorio local.
commit_message (str, opcional) : Mensaje para el commit al hacer push. El valor predeterminado es "Upload {object}".
private (bool, opcional) : Si se debe hacer el repositorio privado. Si es None (predeterminado), el repositorio ser谩 p煤blico a menos que el valor predeterminado de la organizaci贸n sea privado. Este valor se ignora si el repositorio ya existe.
token (str, opcional) : El token que se usar谩 como autorizaci贸n HTTP bearer para archivos remotos. El token generado al ejecutar hf auth login (guardado en ~/.huggingface).
create_pr (bool, opcional, por defecto False) : Si se debe crear una PR con los archivos subidos o realizar el commit directamente.
safe_serialization (bool, opcional, por defecto True) : Si se deben convertir o no los pesos del modelo al formato safetensors.
variant (str, opcional) : Si se especifica, los pesos se guardan en el formato pytorch_model.<variant>.bin.
Sube archivos de modelo, programador o pipeline al 馃 Hugging Face Hub.
Ejemplos:
from diffusers import UNet2DConditionModel
unet = UNet2DConditionModel.from_pretrained("stabilityai/stable-diffusion-2", subfolder="unet")
# Push the `unet` to your namespace with the name "my-finetuned-unet".
unet.push_to_hub("my-finetuned-unet")
# Push the `unet` to an organization with the name "my-finetuned-unet".
unet.push_to_hub("your-org/my-finetuned-unet")
Xet Storage Details
- Size:
- 17.9 kB
- Xet hash:
- 67490a0834046a7b22f6e54697e7dfd71661c120c46135fd70472eae0679b8bf
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.