Instructions to use Pedro21613/PS-IMAGE-1.3 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Diffusers
How to use Pedro21613/PS-IMAGE-1.3 with Diffusers:
pip install -U diffusers transformers accelerate
import torch from diffusers import DiffusionPipeline # switch to "mps" for apple devices pipe = DiffusionPipeline.from_pretrained("stable-diffusion-v1-5/stable-diffusion-v1-5", dtype=torch.bfloat16, device_map="cuda") pipe.load_lora_weights("Pedro21613/PS-IMAGE-1.3") prompt = "Astronaut in a jungle, cold color palette, muted colors, detailed, 8k" image = pipe(prompt).images[0] - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- Draw Things
- DiffusionBee
PS IMAGE v1.3 — pessoas + automóveis + texturas/materiais
LoRA sobre stable-diffusion-v1-5/stable-diffusion-v1-5 (o antigo runwayml/stable-diffusion-v1-5,
que hoje redireciona para esse repo). Treinado no Kaggle (Tesla T4, 16 GB) via API, com o dataset
montado a partir de três fontes públicas do Hugging Face.
O que mudou em relação à v1.2
| v1.2 | v1.3 | |
|---|---|---|
| Base | runwayml/stable-diffusion-v1-5 |
stable-diffusion-v1-5/stable-diffusion-v1-5 |
| Conceitos | pets + Caltech101 (classes mistas) | pessoas, automóveis, texturas/materiais |
| Dataset | 3395 imgs (muitas miniaturas, sem legenda real) | 1820 imgs com legenda derivada do rótulo real |
| LoRA | rank 12, alpha 24, só atenção | rank 16, alpha 32, atenção + feed-forward (5,98 M parâmetros) |
| Treino | 3000 steps, lr 1e-4, fp16 | 800 steps, lr 2,2e-4 cosine + warmup, min-SNR γ=5, EMA 0,995 |
| Dados pessoas | Caltech "Faces" recortadas | FFHQ 512² com legenda descritiva real |
| Dados carros | Caltech car_side |
Stanford Cars (196 classes: ano + marca + modelo) |
| Texturas | — | DTD (47 classes de superfície/material) |
Comparação 1.2 × 1.3 (mesmo prompt, mesma seed, Euler 30 steps, CFG 7,5)
Lendo o grid acima (colunas: base SD1.5 → v1.2 → v1.3, mesma seed):
- Rostos: a v1.2 deforma (linha 1 e 2: olho/boca trocados); a base é plástica; a v1.3 mantém traços corretos com pele detalhada. É a maior vitória desta versão.
- Texturas/materiais: madeira (linha 6) e aço escovado (linha 7) ganham grão e brilho anisotrópico reais; linho (linha 8) melhora pouco.
- Carros: a v1.3 empata ou supera a v1.2 nas cenas urbanas (linhas 4 e 5 — a v1.2 deixa entulho verde no fundo) e continua mal em "pessoa apoiada no carro" (linha 9), que a base também erra.
Como usar
import torch
from diffusers import StableDiffusionPipeline, EulerDiscreteScheduler
from peft import PeftModel
BASE = "stable-diffusion-v1-5/stable-diffusion-v1-5"
pipe = StableDiffusionPipeline.from_pretrained(BASE, torch_dtype=torch.float16,
safety_checker=None)
pipe.scheduler = EulerDiscreteScheduler.from_pretrained(BASE, subfolder="scheduler")
pipe.unet = PeftModel.from_pretrained(pipe.unet, "Pedro21613/PS-IMAGE-1.3")
pipe.unet = pipe.unet.merge_and_unload()
pipe.to("cuda")
img = pipe("ultra realistic photo of a man's face, weathered skin, visible pores, "
"detailed skin texture, natural light, portrait, high quality",
num_inference_steps=30, guidance_scale=7.5, height=512, width=512).images[0]
O script usar_v13.py faz isso por linha de comando (--ema usa a média móvel).
Fórmulas que funcionam
- pessoas:
ultra realistic photo of <sujeito>, detailed skin texture, natural light, sharp focus, high quality - carros:
ultra realistic photo of a <ano marca modelo>, glossy paint, natural light, sharp focus - materiais:
macro close-up photo of <madeira / aço escovado / linho / mármore> texture, detailed surface, even lighting
Limites honestos desta versão
- Só 800 steps (~17 min de T4; 1,30 s/step, pico de 13,4 GB). É uma passada curta: suficiente para travar rostos e materiais, ainda fraca em composição complexa (pessoa + carro juntos, linha 9).
- Data em 512×512 com legendas curtas: mãos, placas e logotipos continuam ruins.
- Próximos passos: 2500–3500 steps, reforçar carros (~1200 imgs) e deixar o LR final em 0,05×.
O script completo está em
psimage_train.py(este repo) — roda direto no Kaggle com--accelerator NvidiaTeslaT4(a P100 da conta quebra: o torch2.10+cu128da imagem não tem kernel para sm_60). - A coluna EMA não é usada aqui: com 800 steps a média móvel (decay 0,995) ainda está sub-treinada e quase igual à base.
Arquivos
| arquivo | conteúdo |
|---|---|
adapter_model.safetensors |
LoRA final (r16, atenção + FF, 24 MB) |
ema/adapter_model.safetensors |
versão EMA (mais estável, mais suave) |
examples/ |
grades comparativas e amostras |
training_config.json, training_report.json |
hiperparâmetros, curva de loss, VRAM e tempo |
usar_v13.py |
geração por linha de comando |
Nota técnica (se for treinar de novo com este script)
O arquivo do adapter precisa usar as chaves base_model.model.<...>.lora_A.weight e o metadata
{"format": "pt"}. No primeiro upload as chaves estavam sem o prefixo base_model.model. e o peft
carregava o adapter vazio sem dar erro — as imagens saíam idênticas à SD1.5 pura. Corrigido em
psimage_train.py (param_key) e no arquivo deste repo.
Treinado automaticamente via Kaggle API + Hugging Face Hub por agente no Arena.ai, 2026-09-11.
- Downloads last month
- -
Model tree for Pedro21613/PS-IMAGE-1.3
Base model
stable-diffusion-v1-5/stable-diffusion-v1-5
