prompter: como puedo instalar stable diffusion en linux?

assistant: Hay varias formas de instalar Stable Diffusion en Linux, la manera más rápida es usando la librería Diffusers para Python.

Antes de instalar cualquier cosa necesitarás crearte una cuenta en Hugging Face, una plataforma donde se distribuyen modelos de IA como también herramientas. Tambien  vas a requerir que tu computador tenga una tarjeta gráfica ya que modelos como Stable Diffusion se ejecutan ahí para mejorar su rendimiento.

Una vez creada la cuenta necesitarás aceptar la licencia del modelo de Stable Diffusion, para ello tendrás que buscar “Stable Diffusion” en la página de Hugging Face y de ahí ir seleccionar el modelo de Stable Diffusion que quieras usar.

Como último paso antes de instalar las librerías deberás crear un Token, el cual te permitirá descargar modelos o utilizar otras funciones de Hugging Face. Tendrás que ir a tu perfil, luego a Configuración y por último a Tokens de Acceso.

Con todo lo anterior listo ya podemos instalar Stable Diffusion en Linux.

1. Instala las librerías necesarias:

pip install hugging-hub diffusers transformers

2. Crea un archivo de python e introduce lo siguiente:

import torch
from torch import autocast
from diffusers import StableDiffusionPipeline

token = “Introduce tu token de acceso aquí”
model = "CompVis/stable-diffusion-v1-4" # Aqui introduce el modelo que desees. 


pipe = StableDiffusionPipeline.from_pretrained(model, use_auth_token=token).to(“cuda”)

prompt = “Tu texto de entrada”

with autocast(“cuda”):
	image = pipe(prompt_i, num_inference_steps=50, guidance_scale=7.5)["sample"][0]

image.save(f”{prompt}.png”)


Y con eso tendrías instalado Stable Diffusion en Linux, cabe mencionar que la primera vez que ejecutes este código se va a descargar el modelo, el cual puede pesar varios gigabytes.

assistant: Stable Diffusion cuenta con varios clientes, el más popular es el que implementa el repositorio del usuario Automatic1111. En su github viene explicado el paso a paso.
1. Abres una terminal e instalas las dependencias segun la versión de Linux que tengas.
# Debian-based:
`sudo apt install wget git python3 python3-venv`
# Red Hat-based:
`sudo dnf install wget git python3`
# Arch-based:
`sudo pacman -S wget git python3`
2. Para instalar Stable Diffusion en ` /home/$(whoami)/stable-diffusion-webui/` ejecuta:
`bash <(wget -qO- https://raw.githubusercontent.com/AUTOMATIC1111/stable-diffusion-webui/master/webui.sh)`

assistant: Stable Diffusion es un modelo capaz de generar una imagen a partir de descripciones de texto. Puedes clonar directamente su repositorio de Github:

Prerrequisitos:
- Tener Anaconda instalado en tu sistema

```bash
git clone <url_actualizada_del_repositorio>
cd stable-diffusion
```
puedes encontrar la URL actualizada del repositorio buscando "Stable Difussion" en el motor de búsqueda de su preferencia.

Una vez descargado debes crear un entorno de anaconda usando el archivo dentro del repositorio clonado:

```bash
conda env create -f enviroment.yaml
conda activate ldm
```
También puedes actualizar un entorno de anaconda existente
```
conda install pytorch torchvision -c pytorch
pip install transformers==4.19.2 diffusers invisible-watermark
pip install -e . 
```
Luego debes descargar un archivo con los pesos del modelo preentrenados, puedes buscar el link del archivo actualizado dentro en el readme del repositorio de Stable Diffusion.

Luego crearemos una carpeta para guardar los pesos del modelo
```bash
mkdir -p models/ldm/stable-difussion-v<versión_mas_reciente>
ln -s <ruta/al/model.ckpt> models/ldm/stable-diffusion-v<versión_mas_reciente>/model.cptk
```
Por ultimo para muestrear una nueva imagen a partir de una entrada de texto debes usar el siguiente comando:
```bash
python scripts/txt2img.py --prompt "Un retrato de un asistente virtual" --plms
````
Una alternativa mas simple es usando un GUI como Stable Diffusion web UI creado por Automatic1111. Stable Diffusion web UI es una interfaz para Stable Diffusion creada con la librería Gradio.

Otra alternativa similar es usar Stable Diffusion UI que es una forma muy fácil de instalar Stable Difussion en un click.

**Nota**: La información entregada puede no estar actualizada.