brushnet path rewrited

This commit is contained in:
nullquant
2024-04-12 11:17:04 +03:00
parent c67b80eca3
commit 31706bc017
2 changed files with 89 additions and 3 deletions
+19 -3
View File
@@ -19,7 +19,7 @@ class BrushNetLoader:
def INPUT_TYPES(s):
return {"required":
{
"brushnet": ([x[0][17:] for x in os.walk("./models/inpaint/")], ),
"brushnet": (inpaint_folders(), ),
},
}
@@ -30,12 +30,27 @@ class BrushNetLoader:
FUNCTION = "brushnet_loading"
def brushnet_loading(self, brushnet):
brushnet_path = "./models/inpaint/"+brushnet
brushnet_path = os.path.join(folder_paths.models_dir, "inpaint", brushnet)
print("Brushnet... ", end="")
brush_net = BrushNetModel.from_pretrained(brushnet_path, torch_dtype=torch.float16)
print("loaded")
return (brush_net,)
def inpaint_folders():
inpaint_path = os.path.join(folder_paths.models_dir, 'inpaint')
abs_list = [x[0] for x in os.walk(inpaint_path)]
folders = []
for x in abs_list[1:]:
remain = x
y = ''
while remain != inpaint_path:
remain, folder = os.path.split(remain)
y = os.path.join(folder, y)
folders.append(y)
return folders
class BrushNetPipeline:
@@ -61,7 +76,8 @@ class BrushNetPipeline:
model_path,
brushnet=brushnet,
torch_dtype=torch.float16,
low_cpu_mem_usage=False
low_cpu_mem_usage=False,
original_config_file=os.path.join(os.path.dirname(__file__), "v1-inference.yaml"),
)
pipe.to("cuda")
pipe.scheduler = UniPCMultistepScheduler.from_config(pipe.scheduler.config)
+70
View File
@@ -0,0 +1,70 @@
model:
base_learning_rate: 1.0e-04
target: ldm.models.diffusion.ddpm.LatentDiffusion
params:
linear_start: 0.00085
linear_end: 0.0120
num_timesteps_cond: 1
log_every_t: 200
timesteps: 1000
first_stage_key: "jpg"
cond_stage_key: "txt"
image_size: 64
channels: 4
cond_stage_trainable: false # Note: different from the one we trained before
conditioning_key: crossattn
monitor: val/loss_simple_ema
scale_factor: 0.18215
use_ema: False
scheduler_config: # 10000 warmup steps
target: ldm.lr_scheduler.LambdaLinearScheduler
params:
warm_up_steps: [ 10000 ]
cycle_lengths: [ 10000000000000 ] # incredibly large number to prevent corner cases
f_start: [ 1.e-6 ]
f_max: [ 1. ]
f_min: [ 1. ]
unet_config:
target: ldm.modules.diffusionmodules.openaimodel.UNetModel
params:
image_size: 32 # unused
in_channels: 4
out_channels: 4
model_channels: 320
attention_resolutions: [ 4, 2, 1 ]
num_res_blocks: 2
channel_mult: [ 1, 2, 4, 4 ]
num_heads: 8
use_spatial_transformer: True
transformer_depth: 1
context_dim: 768
use_checkpoint: True
legacy: False
first_stage_config:
target: ldm.models.autoencoder.AutoencoderKL
params:
embed_dim: 4
monitor: val/rec_loss
ddconfig:
double_z: true
z_channels: 4
resolution: 256
in_channels: 3
out_ch: 3
ch: 128
ch_mult:
- 1
- 2
- 4
- 4
num_res_blocks: 2
attn_resolutions: []
dropout: 0.0
lossconfig:
target: torch.nn.Identity
cond_stage_config:
target: ldm.modules.encoders.modules.FrozenCLIPEmbedder