Tutorial de LaPapaya - Como Crear tu LoRa

Paso 1 - Reuniendo el Dataset

Para empezar a crear tu LoRa, primero necesitas conseguir un dataset de lo que quieres crear. Hay dos clases de LoRas diferentes

  • Personajes/Objetos
  • Conceptos/Estilos

Puedes tener un LoRa funcional con tan solo 20 imagenes de lo que quieres, pero una LoRa realmente buena necesita de 50 a 120 imagenes.

Puedes reunir ese dataset de dos maneras

Manera 1 - Google, Yandex, etc...

La forma mas obvia es recoger las imagenes una por una usando tu buscador de imagenes preferencial. Es un trabajo lento, pero la ventaja es que podrás elegir manualmente cual imagen quieres que vaya en tu dataset y cual no.

Nicolas

Manera 2 - Grabber

Si lo que deseas es hacer un LoRa de un personaje de ficción, o el estilo de un artista moderno famoso, quizás Grabber sea una opción mejor.

  • Descarga e instala grabber en este link.
  • Tras instalarlo e abrirlo, dale a File > new tab, si ya no hay una abierta. Deberás ver algo así:
    así
  • En la sección Destination, pon la carpeta donde vas a guardar tu dataset
  • En la parte de Sources, elije cuales paginas vas a usar para recoger tu dataset. Recomiendo Danbooru y Gelbooru, pero si no quieres nada NSFW, usa Safebooru... O los tres.
  • En la barra de busqueda, escribe el nombre del personaje o artista que quieres y dale a enter. TIP: si vas a hace run personaje, es recomendable que pongas "1boy/1girl", o "solo", (segundo el sexo de tu personaje) para que salgan imagenes donde solo esté ese personaje
    Batman
  • Como puedes ver, cada pagina tiene al rededor de 20 imagenes. Dale al botón Get This Page, en la parte inferior de la pantalla. Entonces, pulsa en el ">" y vuelve a repetirlo hasta tener la cantidad de imagenes que quieres tu (cada pagina tiene 20, entonces si quieres, por ejemplo, 60, lo haces 3 veces).
  • Por fin, es momento de descargar las imagenes. Vete a la ventana de Downloads, en la parte superior de la pantalla, y en la parte inferior, pulsa en Download. Tus imagenes empezarán a descargarse
  • No terminamos aun! En la carpeta donde guardaste las imagenes, pasa por ellas una por una y elimina las que crees que no encajan con lo que quieres tu. Si buscas recrear un estilo, recomiendo que tengas imagenes bien variadas, pero si quieres un personaje solo, recomiendo que no pongas imagenes que tengan mas de un personaje en pantalla, o vas a confundir la IA

Paso 2 - Limpiando el Dataset

Se supone que el Colab puede hacer esto automáticamente, pero ya tuve problemas, así que es mejor prevenir que remediar.

Entra en esta pagina: https://www.birme.net/?target_width=512&target_height=512

En Width y Height, escribe 512.

Simplemente selecciona todas las imagenes de tu dataset y ponlas en la pagina. Cuando terminen de cargarse, dale a Save as Zip. Descomprímelas en donde quieras tu. Tu Dataset, ahora si, está lista.

Paso 3 - Iniciando el Colab

Este es el colab.

https://colab.research.google.com/github/Linaqruf/kohya-trainer/blob/main/kohya-LoRA-dreambooth.ipynb

Guarda una copia en tu drive, porque el autor se las da a veces de soltar actualizaciones que rompen todo. Me pasó a mi.

En la primera celda, recuerda marcar Mount Drive. Vas a necesitarlo. Luego, dale al Play en esa celda.

necesitarlo

Puedes ir dando play en las celdas siguientes sin problemas. Cuando llegues a esta, puedes elegir cual modelo quieres usar como base para tu LoRa, si no tienes ni idea, usa el que ya está por defecto.

Defecto

Sigue dando play en todas las celdas hasta llegar en esta.

Train

Aqui, haz lo siguiente:

  • Si tu dataset tiene entre 50 a 70 imagenes, deja el train_repeats en 10
  • Si tu dataset tiene mas de 70 imagenes, baja el train_repeats a 8
    Esto es porque si tu train repeat es muy alto, cuando vayas a entrenar la IA con muchas imagenes, te va a tardar una eternidad y el resultado no va a variar tanto.

En concept_name, vas a poner el nombre de que estas entrenando, sea el nombre del personaje, sea el nombre del estilo.
En class name, pon una tag de booru que esté asociada con tu personaje. Yo pongo 1boy porque me da pereza.

Cuando termine de cargarse, pulsa en la carpetita a la izquierda del colab.

carpetita

Te van a aparecer algunas carpetas. Abre el LoRa>train_data, verás una carpeta con el nombre del concepto que acabas de crear. Arrastra las imagenes de tu dataset y sueltalas en esa carpeta. Espera a que terminen de hacerse upload antes de seguir.

Carpetas

Paso 4 - Preparando para Entrenar

Salta directamente a la sección Data Processing. Dale a Play en la de Data Cleaning para que te arregle las imagenes que estén con formato malo. Pulsa en el botón convert para que te convierta tus pngs en imagenes con fondo blanco.

convert

Antes de seguir, baja todo a donde pone Waifu Diffusion Tagger y cambia el theresold. 0.85 por si estas entrenando un personaje u objeto, 0.35 si estas entrenando un estilo.

estilo

Baja más un poco. En folder config, escribe el nombre de tu proyecto. Chequea el output_to_drive (MUCHO IMPORTANTE). También por el path de tu vae como aparece en la imagen.

outputtodrive

Baja más un poco, a donde pone Start Training, es hora de cambiar cuandos epochs vas a entrenar. La forma de calcularlo es así.

Numero de imagenes * 3 / 10

Ejemplo, si tienes 50 imagenes.

50 * 3 / 10= 15

Ese numero lo pondrás en max_train_type_value

Paso 5 - Entrenando

Ahora

REGRESA TODO ARRIBA, hasta donde estaba la parte de Data Cleaning, y ve pulsando todos los play hasta en el de Start Training.

Vete a por un café, la maquina va a trabajar ella sola ahora.

Despues de un rato, podrás ver el progreso de tu LoRa siendo entrenado en la parte de Start Traning, así como cuanto tiempo falta para que termine de entrenarse.

Start Training

Espera eso todo, vete a hacer otra cosa, a tocar hierba, no se, esto tarda un rato.

Cuando termine de entrenarse, enhorabuena, tu LoRa está lista!

Paso 6 - Probando tu LoRa

Bajando a la parte que pone Inference, podrás ver como tu LoRa quedó. En la parte de network_weight, vas a necesitar poner el path de donde quedó tu LoRa guardada. En general, va a estar mas o menos como en la imagen, solo cambiando el nombre por el que elejiste para tu proyecto.

nombre

En el prompt, pon lo que quieras tu. Usar tags de booru es bastante efectivo si usaste el modelo default, así que puedes poner como una descripcion minimalista de tu personaje.

Luego, dale a play en esa casilla y espera a que se termine de generar.

Las imagenes saldrán en una carpeta llamada tmp. Mira si tu LoRa está como quieres tu.

tmp

Si no? Pues... Uh... A empezar de nuevo? Realmente yo no tuve ningun problema con este método hasta ahora. No se que habrás hecho tu xdddd

Tu LoRa ya está descargado automáticamente en tu drive, en la carpeta LoRa> Output. Elije el que no lleva numeritos.

Paso 7 - Okay, y como lo uso con Stable Diffusion?

Ahora, hago copy y paste de lo que puse en discord, sacado de otro guia que encontré.

Step 1 - Download a Model
First of all, you will need a AI image generator model. You can find a lot of these here (https://civitai.com/) under the "checkpoint" section.
I recommend using Anything v4 (https://huggingface.co/andite/anything-v4.0/tree/main), as most of the LoRas are trained with it. It's more anime focused, so you should check some other models if you want something more realistic or artistic.

Step 2 - Download the Vae
Download also the Anything v4 VAE, for your model to generate things correctly. Failing to do so will not give you satisfactory results.

Step 3 - Upload your Model to Google Drive
Create a folder in your google drive and upload your model there. Upload your VAE in the same folder, with the same name as your model.

Step 4 - Open Automatic1111
Just go here
https://colab.research.google.com/github/TheLastBen/fast-stable-diffusion/blob/main/fast_stable_diffusion_AUTOMATIC1111.ipynb
In Path_To_Model, write the path to where your model is in Google Drive, starting with "content/gdrive/MyDrive/(your folder here)"
Press Ctrl+F9 and wait...
And wait...
And wait...
In the last cell, eventually you will see a blue link appear, this is your webui. Click on it, you must see something like this.
https://assets.st-note.com/img/1674377914634-QcsrtYPpaa.png?width=2000&height=2000&fit=bounds&quality=85

Congratulations, now you have the ability to generate images! But what about the LoRa?

Step 5 - Upload the LoRa to Google Drive
In your Google Drive, you will see a lot of new folders now. Go to sd>stable-diffusion-webui>models>Lora
Upload the LoRas you have downloaded here.

Step 6 - Use your LoRas
Do you see the small landscape emoji under the big orange GENERATE button in your webui? Press it, a new tab will open, click on Lora. If there's nothing there, click on refresh, you will see your Lora there.
Just click on it, a new text will appear on your prompt, something like <lora:stuff1:1>
Edit it to be like this <lora:stuff1:0.7>
And then, just describe the image you want to generate. Even with the character Loras, is always recommendable to describe a bit of the character just so the AI can stay focused.
Play with the settings, change de width and height of the image, and add more steps for more detailed images.
Have fun!

Edit

Pub: 28 Feb 2023 19:57 UTC

Edit: 28 Feb 2023 19:59 UTC

Views: 30