update version

This commit is contained in:
Vladimir Mandic
2023-01-29 13:44:33 -05:00
parent 2314ca9841
commit e92b66e2ea
6 changed files with 63 additions and 71 deletions
+19 -10
View File
@@ -57,32 +57,41 @@ async def models(params):
excluded.append(m)
ok = False
break
if len(params.input) > 0: # check if model is included in cmd line
found = m if m in params.input else None
if found is None:
found = [i for i in params.input if m.startswith(i)]
if len(found) == 0:
ok = False
break
if ok:
short = m.split(' [')[0]
short = short.replace('.ckpt', '').replace('.safetensors', '')
models.append(short)
if len(params.input) > 0: # check if model is included in cmd line
filtered = []
for m in params.input:
if m in models:
filtered.append(m)
else:
log.error({ 'model not found': m })
return
models = filtered
log.info({ 'models preview' })
log.info({ 'models': len(models), 'excluded': len(excluded) })
log.info({ 'embeddings': embeddings })
cmdflags = await get('/sdapi/v1/cmd-flags')
opt = await get('/sdapi/v1/options')
if params.output != '':
dir = params.output
else:
dir = os.path.abspath(os.path.join(cmdflags['hypernetwork_dir'], '..', 'Stable-diffusion'))
log.info({ 'output directory': dir })
log.info({ 'total jobs': len(models) * len(embeddings) * options.generate.batch_size, 'per-model': len(embeddings) * options.generate.batch_size })
log.info(json.dumps(options, indent=2))
for model in models:
fn = os.path.join(params.output, model + '.jpg')
fn = os.path.join(dir, model + '.png')
if os.path.exists(fn) and len(params.input) == 0: # if model preview exists and not manually included
log.info({ 'model preview exists': model })
continue
log.info({ 'model load': model })
opt = await get('/sdapi/v1/options')
opt['sd_model_checkpoint'] = model
await post('/sdapi/v1/options', opt)
opt = await get('/sdapi/v1/options')
images = []
labels = []
t0 = time.time()
+1 -1
View File
@@ -60,7 +60,7 @@
"training_enable_tensorboard": false,
"training_tensorboard_save_images": false,
"training_tensorboard_flush_every": 120,
"sd_model_checkpoint": "sd-v15-runwayml.ckpt [cc6cb27103]",
"sd_model_checkpoint": "zeipher-f222.ckpt [9e2c6ceff3]",
"sd_checkpoint_cache": 0,
"sd_vae_checkpoint_cache": 0,
"sd_vae": "vae-ft-mse-840000-ema-pruned.ckpt",
+1 -1
View File
@@ -2,7 +2,7 @@
<div class='actions'>
<div class='additional'>
<ul>
<a href="#" title="replace preview image with currently selected in gallery" onclick={save_card_preview}>replace preview</a>
<a style="font-size:0.5rem" href="#" title="replace preview image with currently selected in gallery" onclick={save_card_preview}>replace preview</a>
</ul>
<span style="display:none" class='search_term'>{search_term}</span>
</div>
@@ -282,7 +282,7 @@ def write_loss(log_directory, filename, step, epoch_len, values):
if shared.opts.training_write_csv_every == 0:
return
if step % shared.opts.training_write_csv_every != 0:
if step % epoch_len != 0:
return
write_csv_header = False if os.path.exists(os.path.join(log_directory, filename)) else True
@@ -364,7 +364,7 @@ def train_embedding(id_task, embedding_name, learn_rate, batch_size, gradient_st
filename = os.path.join(shared.cmd_opts.embeddings_dir, f'{embedding_name}.pt')
log_directory = os.path.join(log_directory, datetime.datetime.now().strftime("%Y-%m-%d"), embedding_name)
log_directory = os.path.join(log_directory, embedding_name)
unload = shared.opts.unload_models_when_training
if save_embedding_every > 0:
@@ -514,9 +514,8 @@ def train_embedding(id_task, embedding_name, learn_rate, batch_size, gradient_st
steps_done = embedding.step + 1
epoch_num = embedding.step // steps_per_epoch
epoch_step = embedding.step % steps_per_epoch
description = f"Training textual inversion [Epoch {epoch_num}: {epoch_step+1}/{steps_per_epoch}] loss: {loss_step:.7f}"
description = f"Training textual inversion step {embedding.step} loss: {loss_step:.5f} lr: {scheduler.learn_rate:.5f}"
pbar.set_description(description)
if embedding_dir is not None and steps_done % save_embedding_every == 0:
# Before saving, change name to match current checkpoint.
@@ -525,7 +524,7 @@ def train_embedding(id_task, embedding_name, learn_rate, batch_size, gradient_st
save_embedding(embedding, optimizer, checkpoint, embedding_name_every, last_saved_file, remove_cached_checksum=True)
embedding_yet_to_be_embedded = True
write_loss(log_directory, "textual_inversion_loss.csv", embedding.step, steps_per_epoch, {
write_loss(log_directory, "train.csv", embedding.step, steps_per_epoch, {
"loss": f"{loss_step:.7f}",
"learn_rate": scheduler.learn_rate
})
+38 -35
View File
@@ -17,56 +17,59 @@ div.gradio-container.dark > div.w-full.flex.flex-col.min-h-screen > div { backgr
.gradio-container { font-family: "Segoe UI"; font-variant: small-caps; --left-column: 540px; --highlight-color: #CE6400; --inactive-color: #4E1400; }
/* gradio style classes */
.tabs { background-color: black; }
.dark { background-color: black; }
.dark .gr-panel { border-radius: 0; background-color: black; }
.dark .gr-compact { border-radius: 0; background-color: black; }
.dark .gr-input-label { color: lightyellow; border-width: 0; background: transparent; padding: 2px !important; }
.dark .gr-input { background-color: #333333 !important; }
.dark .gr-form { border-radius: 0; border-width: 0; }
.dark .gr-check-radio { background-color: var(--inactive-color); border-width: 0; border-radius: 2px; box-shadow: 2px 2px 3px #111111; }
.dark .gr-check-radio:checked { background-color: var(--highlight-color); }
.dark .gr-button { border-radius: 0; font-weight: normal; box-shadow: 2px 2px 3px #111111; font-size: 0.9rem; min-width: 42px; min-height: 42px; }
.dark .gr-box { border-radius: 0 !important; background-color: #111111; box-shadow: 2px 2px 3px #111111; border-width: 0; padding-bottom: 12px; }
.dark .dark\:bg-gray-900 { background-color: black; }
.dark .bg-white { color: lightyellow; border-radius: 0; }
.dark fieldset span.text-gray-500, .dark .gr-block.gr-box span.text-gray-500, .dark label.block span { background-color: #222222; padding: 0 12px 0 12px; }
.dark .bg-gray-200, .dark .\!bg-gray-200 { background-color: transparent; }
.gap-2 { padding-top: 8px; }
.border-2 { border-width: 0; }
.border-b-2 { border-bottom-width: 2px; border-color: var(--highlight-color) !important; padding-bottom: 2px; margin-bottom: 8px; }
.dark .bg-gray-200, .dark .\!bg-gray-200 { background-color: transparent; }
.dark .bg-white { color: lightyellow; border-radius: 0; }
.dark .dark\:bg-gray-900 { background-color: black; }
.dark .gr-box { border-radius: 0 !important; background-color: #111111; box-shadow: 2px 2px 3px #111111; border-width: 0; padding-bottom: 12px; }
.dark .gr-button { border-radius: 0; font-weight: normal; box-shadow: 2px 2px 3px #111111; font-size: 0.9rem; min-width: 42px; min-height: 42px; }
.dark .gr-check-radio { background-color: var(--inactive-color); border-width: 0; border-radius: 2px; box-shadow: 2px 2px 3px #111111; }
.dark .gr-check-radio:checked { background-color: var(--highlight-color); }
.dark .gr-compact { border-radius: 0; background-color: black; }
.dark .gr-form { border-radius: 0; border-width: 0; }
.dark .gr-input { background-color: #333333 !important; }
.dark .gr-input-label { color: lightyellow; border-width: 0; background: transparent; padding: 2px !important; }
.dark .gr-panel { border-radius: 0; background-color: black; }
.dark { background-color: black; }
.dark fieldset span.text-gray-500, .dark .gr-block.gr-box span.text-gray-500, .dark label.block span { background-color: #222222; padding: 0 12px 0 12px; }
.dark fieldset span.text-gray-500, .dark .gr-block.gr-box span.text-gray-500, .dark label.block span { border-radius: 0;}
.extra-network-cards .card { width: 10em; height: 10em; box-shadow: none; }
.extra-network-cards .card:hover { transform: scale(2); transition: all 0.3s ease; z-index: 99; box-shadow: none; }
.extra-network-cards .card .actions .name { font-weight: 400; font-size: 1.2rem; }
.gap-2 { padding-top: 8px; }
.gr-box > div > div > input.gr-text-input { right: 0.8rem; width: 6em; }
.overflow-hidden .flex .flex-col .relative col .gap-4 { min-width: var(--left-column); max-width: var(--left-column); } /* this is a problematic one */
.p-2 { padding: 0; }
.px-4 { padding-lefT: 1rem; padding-right: 1rem; }
.py-6 { padding-bottom: 0; }
.overflow-hidden .flex .flex-col .relative col .gap-4 { min-width: var(--left-column); max-width: var(--left-column); } /* this is a problematic one */
.rounded-lg { border-radius: 0; }
.p-2 { padding: 0; }
.dark fieldset span.text-gray-500, .dark .gr-block.gr-box span.text-gray-500, .dark label.block span { border-radius: 0;}
.gr-box > div > div > input.gr-text-input { right: 0.8rem; width: 6em; }
.tabs { background-color: black; }
/* automatic style classes */
.progressDiv .progress { background: var(--highlight-color); border-radius: 2px; }
.gallery-item { box-shadow: none !important; }
/* gradio elements overrides */
#txt2img_settings, #img2img_settings { min-width: var(--left-column); max-width: var(--left-column); background-color: #111111; margin-top: 1rem; }
#txt2img_prompt > label > textarea { font-size: 1.2rem; }
#txt2img_neg_prompt > label > textarea { font-size: 1.2rem; }
#img2img_prompt > label > textarea { font-size: 1.2rem; }
#footer { display: none; }
#img2img_label_copy_to_img2img { font-weight: normal; }
#img2img_neg_prompt > label > textarea { font-size: 1.2rem; }
#img2img_prompt > label > textarea { font-size: 1.2rem; }
#interrogate, #deepbooru { margin: 0em 0 0 0.25em; }
#open_folder_txt2img, #open_folder_img2img, #open_folder_extras { display: none; }
#refresh_txt2img_styles, #refresh_img2img_styles { display: none; }
#save-animation { border-radius: 0 !important; margin-bottom: 16px; background-color: #111111; }
#style_pos_col, #style_neg_col, #roll_col { display: none; }
#tab_extensions table { background-color: #222222; }
#txt2img_checkboxes, #img2img_checkboxes { background-color: transparent; }
#txt2img_gallery, #img2img_gallery, #extras_gallery { background: black; }
#txt2img_generate, #img2img_generate, #txt2img_interrupt, #img2img_interrupt, #txt2img_skip, #img2img_skip { margin-left: 10px; min-height: 2rem; height: 63px; max-width: 200px; }
#txt2img_interrupt, #img2img_interrupt, #txt2img_skip, #img2img_skip { background-color: var(--inactive-color); }
#txt2img_gallery, #img2img_gallery, #extras_gallery { background: black; }
#tab_extensions table { background-color: #222222; }
#style_pos_col, #style_neg_col, #roll_col { display: none; }
#txt2img_neg_prompt > label > textarea { font-size: 1.2rem; }
#txt2img_progress_row > div { min-width: var(--left-column); max-width: var(--left-column); }
#save-animation { border-radius: 0 !important; margin-bottom: 16px; background-color: #111111; }
#open_folder_txt2img, #open_folder_img2img, #open_folder_extras { display: none; }
#footer { display: none; }
#txt2img_prompt > label > textarea { font-size: 1.2rem; }
#txt2img_results, #img2img_results, #extras_results { background-color: black; }
#txt2img_seed_row { padding: 0; margin-top: 8px; }
#txt2img_settings, #img2img_settings { min-width: var(--left-column); max-width: var(--left-column); background-color: #111111; margin-top: 1rem; }
#txt2img_subseed_show { min-width: 74px; padding: 0 0 0 6px; }
#txtimg_hr_finalres { max-width: 200px; }
#refresh_txt2img_styles, #refresh_img2img_styles { display: none; }
#img2img_label_copy_to_img2img { font-weight: normal; }
#txt2img_results, #img2img_results, #extras_results { background-color: black; }
#txt2img_checkboxes, #img2img_checkboxes { background-color: transparent; }
#interrogate, #deepbooru { margin: 0em 0 0 0.25em; }
-19
View File
@@ -1,19 +0,0 @@
#!/bin/bash
####################################################################
# macOS defaults #
# Please modify webui-user.sh to change these instead of this file #
####################################################################
if [[ -x "$(command -v python3.10)" ]]
then
python_cmd="python3.10"
fi
export install_dir="$HOME"
export COMMANDLINE_ARGS="--skip-torch-cuda-test --upcast-sampling --no-half-vae --use-cpu interrogate"
export TORCH_COMMAND="pip install torch==1.12.1 torchvision==0.13.1"
export K_DIFFUSION_REPO="https://github.com/brkirch/k-diffusion.git"
export K_DIFFUSION_COMMIT_HASH="51c9778f269cedb55a4d88c79c0246d35bdadb71"
export PYTORCH_ENABLE_MPS_FALLBACK=1
####################################################################