Skip to main content

Documentation Index

Fetch the complete documentation index at: https://runcrate.ai/docs/llms.txt

Use this file to discover all available pages before exploring further.

Train a LoRA adapter for SDXL on a cloud GPU. LoRA lets you teach SDXL new styles, characters, or concepts with 10-30 training images in under an hour on an RTX 4090.

GPU requirements

TaskGPUTraining time (20 images, 1500 steps)
SDXL LoRA (FP16)RTX 4090~30 min
SDXL LoRA (FP16)A100 80 GB~15 min

1. Deploy and upload images

runcrate instances create --name lora-train --gpu RTX4090 --template ubuntu-train
runcrate instances status lora-train

runcrate cp ./training_images/ lora-train:/workspace/training_images/

2. Install dependencies

runcrate ssh lora-train -- "pip install diffusers transformers accelerate peft safetensors pillow"

3. Run training

runcrate ssh lora-train -- "accelerate launch diffusers/examples/dreambooth/train_dreambooth_lora_sdxl.py \
  --pretrained_model_name_or_path='stabilityai/stable-diffusion-xl-base-1.0' \
  --instance_data_dir='/workspace/training_images' \
  --instance_prompt='a photo of sks person' \
  --output_dir='/workspace/lora-output' \
  --resolution=1024 \
  --train_batch_size=1 \
  --gradient_accumulation_steps=4 \
  --learning_rate=1e-4 \
  --max_train_steps=1500 \
  --mixed_precision='fp16' \
  --seed=42"

4. Monitor

runcrate ssh lora-train -- nvidia-smi
runcrate ssh lora-train -- "ls -la /workspace/lora-output/"

5. Test the LoRA

runcrate ssh lora-train -- "python -c \"
from diffusers import DiffusionPipeline
import torch
pipe = DiffusionPipeline.from_pretrained(
    'stabilityai/stable-diffusion-xl-base-1.0', torch_dtype=torch.float16).to('cuda')
pipe.load_lora_weights('/workspace/lora-output')
image = pipe('a photo of sks person in a garden', num_inference_steps=30).images[0]
image.save('/workspace/test_output.png')
print('Generated test image.')
\""

6. Download weights

runcrate cp lora-train:/workspace/lora-output/ ./my-sdxl-lora/
runcrate cp lora-train:/workspace/test_output.png ./test_output.png

Tips

  • Use high-quality, consistent images — same subject, varied backgrounds and angles.
  • The sks token is a rare identifier used as the trigger word. Replace with any uncommon string.
  • Lower learning rates (5e-5) = subtle adaptations. Higher rates (2e-4) = stronger style shifts.
  • Add --checkpointing_steps=500 to resume interrupted runs.

Cleanup

runcrate instances delete lora-train