mirror of
https://github.com/easydiffusion/easydiffusion.git
synced 2025-08-18 06:10:30 +02:00
Support multiple GFPGAN models
Add scanning for models and a dropdown to choose different models from
This commit is contained in:
@@ -33,6 +33,7 @@ let promptStrengthField = document.querySelector('#prompt_strength')
|
||||
let samplerField = document.querySelector('#sampler_name')
|
||||
let samplerSelectionContainer = document.querySelector("#samplerSelection")
|
||||
let useFaceCorrectionField = document.querySelector("#use_face_correction")
|
||||
let gfpganModelField = document.querySelector("#gfpgan_model")
|
||||
let useUpscalingField = document.querySelector("#use_upscale")
|
||||
let upscaleModelField = document.querySelector("#upscale_model")
|
||||
let upscaleAmountField = document.querySelector("#upscale_amount")
|
||||
@@ -412,7 +413,7 @@ function onUpscaleClick(req, img) {
|
||||
|
||||
function onFixFacesClick(req, img) {
|
||||
enqueueImageVariationTask(req, img, {
|
||||
use_face_correction: 'GFPGANv1.3'
|
||||
use_face_correction: gfpganModelField.value
|
||||
})
|
||||
}
|
||||
|
||||
@@ -966,7 +967,7 @@ function getCurrentUserRequest() {
|
||||
newTask.reqBody.save_to_disk_path = diskPathField.value.trim()
|
||||
}
|
||||
if (useFaceCorrectionField.checked) {
|
||||
newTask.reqBody.use_face_correction = 'GFPGANv1.3'
|
||||
newTask.reqBody.use_face_correction = gfpganModelField.value
|
||||
}
|
||||
if (useUpscalingField.checked) {
|
||||
newTask.reqBody.use_upscale = upscaleModelField.value
|
||||
@@ -1165,6 +1166,11 @@ function onDimensionChange() {
|
||||
|
||||
diskPathField.disabled = !saveToDiskField.checked
|
||||
|
||||
gfpganModelField.disabled = !useFaceCorrectionField.checked
|
||||
useFaceCorrectionField.addEventListener('change', function(e) {
|
||||
gfpganModelField.disabled = !this.checked
|
||||
})
|
||||
|
||||
upscaleModelField.disabled = !useUpscalingField.checked
|
||||
upscaleAmountField.disabled = !useUpscalingField.checked
|
||||
useUpscalingField.addEventListener('change', function(e) {
|
||||
@@ -1284,9 +1290,11 @@ async function getModels() {
|
||||
const sd_model_setting_key = "stable_diffusion_model"
|
||||
const vae_model_setting_key = "vae_model"
|
||||
const hypernetwork_model_key = "hypernetwork_model"
|
||||
const gfpgan_model_key = "gfpgan_model"
|
||||
const selectedSDModel = SETTINGS[sd_model_setting_key].value
|
||||
const selectedVaeModel = SETTINGS[vae_model_setting_key].value
|
||||
const selectedHypernetworkModel = SETTINGS[hypernetwork_model_key].value
|
||||
const selectedGfpganModel = SETTINGS[gfpgan_model_key].value
|
||||
|
||||
const models = await SD.getModels()
|
||||
const modelsOptions = models['options']
|
||||
@@ -1302,6 +1310,7 @@ async function getModels() {
|
||||
const stableDiffusionOptions = modelsOptions['stable-diffusion']
|
||||
const vaeOptions = modelsOptions['vae']
|
||||
const hypernetworkOptions = modelsOptions['hypernetwork']
|
||||
const gfpganOptions = modelsOptions['gfpgan']
|
||||
|
||||
vaeOptions.unshift('') // add a None option
|
||||
hypernetworkOptions.unshift('') // add a None option
|
||||
@@ -1329,6 +1338,8 @@ async function getModels() {
|
||||
stableDiffusionOptions.forEach(createModelOptions(stableDiffusionModelField, selectedSDModel))
|
||||
vaeOptions.forEach(createModelOptions(vaeModelField, selectedVaeModel))
|
||||
hypernetworkOptions.forEach(createModelOptions(hypernetworkModelField, selectedHypernetworkModel))
|
||||
gfpganOptions.forEach(createModelOptions(gfpganModelField,selectedGfpganModel))
|
||||
|
||||
|
||||
stableDiffusionModelField.dispatchEvent(new Event('change'))
|
||||
vaeModelField.dispatchEvent(new Event('change'))
|
||||
|
Reference in New Issue
Block a user