mirror of
https://github.com/invoke-ai/InvokeAI
synced 2024-08-30 20:32:17 +00:00
add k_dpmpp_2_a and k_dpmpp_2 solvers options (#1389)
* add k_dpmpp_2_a and k_dpmpp_2 solvers options * update frontend Co-authored-by: Victor <victorca25@users.noreply.github.com> Co-authored-by: Lincoln Stein <lincoln.stein@gmail.com>
This commit is contained in:
parent
a9aa4e45aa
commit
2443e5dc01
@ -5,6 +5,8 @@ SAMPLER_CHOICES = [
|
|||||||
"ddim",
|
"ddim",
|
||||||
"k_dpm_2_a",
|
"k_dpm_2_a",
|
||||||
"k_dpm_2",
|
"k_dpm_2",
|
||||||
|
"k_dpmpp_2_a",
|
||||||
|
"k_dpmpp_2",
|
||||||
"k_euler_a",
|
"k_euler_a",
|
||||||
"k_euler",
|
"k_euler",
|
||||||
"k_heun",
|
"k_heun",
|
||||||
|
623
frontend/dist/assets/index.2b7cd976.js
vendored
623
frontend/dist/assets/index.2b7cd976.js
vendored
File diff suppressed because one or more lines are too long
501
frontend/dist/assets/index.678a45f6.js
vendored
501
frontend/dist/assets/index.678a45f6.js
vendored
File diff suppressed because one or more lines are too long
2
frontend/dist/index.html
vendored
2
frontend/dist/index.html
vendored
@ -6,7 +6,7 @@
|
|||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
<title>InvokeAI - A Stable Diffusion Toolkit</title>
|
<title>InvokeAI - A Stable Diffusion Toolkit</title>
|
||||||
<link rel="shortcut icon" type="icon" href="./assets/favicon.0d253ced.ico" />
|
<link rel="shortcut icon" type="icon" href="./assets/favicon.0d253ced.ico" />
|
||||||
<script type="module" crossorigin src="./assets/index.2b7cd976.js"></script>
|
<script type="module" crossorigin src="./assets/index.f1b8da92.js"></script>
|
||||||
<link rel="stylesheet" href="./assets/index.f999e69e.css">
|
<link rel="stylesheet" href="./assets/index.f999e69e.css">
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
|
@ -9,6 +9,8 @@ export const SAMPLERS: Array<string> = [
|
|||||||
'k_lms',
|
'k_lms',
|
||||||
'k_dpm_2',
|
'k_dpm_2',
|
||||||
'k_dpm_2_a',
|
'k_dpm_2_a',
|
||||||
|
'k_dpmpp_2',
|
||||||
|
'k_dpmpp_2_a',
|
||||||
'k_euler',
|
'k_euler',
|
||||||
'k_euler_a',
|
'k_euler_a',
|
||||||
'k_heun',
|
'k_heun',
|
||||||
|
2
frontend/src/app/invokeai.d.ts
vendored
2
frontend/src/app/invokeai.d.ts
vendored
@ -46,6 +46,8 @@ export declare type CommonGeneratedImageMetadata = {
|
|||||||
| 'ddim'
|
| 'ddim'
|
||||||
| 'k_dpm_2_a'
|
| 'k_dpm_2_a'
|
||||||
| 'k_dpm_2'
|
| 'k_dpm_2'
|
||||||
|
| 'k_dpmpp_2_a'
|
||||||
|
| 'k_dpmpp_2'
|
||||||
| 'k_euler_a'
|
| 'k_euler_a'
|
||||||
| 'k_euler'
|
| 'k_euler'
|
||||||
| 'k_heun'
|
| 'k_heun'
|
||||||
|
@ -120,7 +120,7 @@ gr = Generate(
|
|||||||
safety_checker:bool = activate safety checker [False]
|
safety_checker:bool = activate safety checker [False]
|
||||||
|
|
||||||
# this value is sticky and maintained between generation calls
|
# this value is sticky and maintained between generation calls
|
||||||
sampler_name:str = ['ddim', 'k_dpm_2_a', 'k_dpm_2', 'k_euler_a', 'k_euler', 'k_heun', 'k_lms', 'plms'] // k_lms
|
sampler_name:str = ['ddim', 'k_dpm_2_a', 'k_dpm_2', 'k_dpmpp_2', 'k_dpmpp_2_a', 'k_euler_a', 'k_euler', 'k_heun', 'k_lms', 'plms'] // k_lms
|
||||||
|
|
||||||
# these are deprecated - use conf and model instead
|
# these are deprecated - use conf and model instead
|
||||||
weights = path to model weights ('models/ldm/stable-diffusion-v1/model.ckpt')
|
weights = path to model weights ('models/ldm/stable-diffusion-v1/model.ckpt')
|
||||||
@ -974,6 +974,10 @@ class Generate:
|
|||||||
self.sampler = KSampler(self.model, 'dpm_2_ancestral', device=self.device)
|
self.sampler = KSampler(self.model, 'dpm_2_ancestral', device=self.device)
|
||||||
elif self.sampler_name == 'k_dpm_2':
|
elif self.sampler_name == 'k_dpm_2':
|
||||||
self.sampler = KSampler(self.model, 'dpm_2', device=self.device)
|
self.sampler = KSampler(self.model, 'dpm_2', device=self.device)
|
||||||
|
elif self.sampler_name == 'k_dpmpp_2_a':
|
||||||
|
self.sampler = KSampler(self.model, 'dpmpp_2s_ancestral', device=self.device)
|
||||||
|
elif self.sampler_name == 'k_dpmpp_2':
|
||||||
|
self.sampler = KSampler(self.model, 'dpmpp_2m', device=self.device)
|
||||||
elif self.sampler_name == 'k_euler_a':
|
elif self.sampler_name == 'k_euler_a':
|
||||||
self.sampler = KSampler(self.model, 'euler_ancestral', device=self.device)
|
self.sampler = KSampler(self.model, 'euler_ancestral', device=self.device)
|
||||||
elif self.sampler_name == 'k_euler':
|
elif self.sampler_name == 'k_euler':
|
||||||
|
@ -101,6 +101,8 @@ SAMPLER_CHOICES = [
|
|||||||
'ddim',
|
'ddim',
|
||||||
'k_dpm_2_a',
|
'k_dpm_2_a',
|
||||||
'k_dpm_2',
|
'k_dpm_2',
|
||||||
|
'k_dpmpp_2_a',
|
||||||
|
'k_dpmpp_2',
|
||||||
'k_euler_a',
|
'k_euler_a',
|
||||||
'k_euler',
|
'k_euler',
|
||||||
'k_heun',
|
'k_heun',
|
||||||
|
@ -1490,7 +1490,7 @@ class LatentDiffusion(DDPM):
|
|||||||
)
|
)
|
||||||
loss_dict.update({f'{prefix}/loss_simple': loss_simple.mean()})
|
loss_dict.update({f'{prefix}/loss_simple': loss_simple.mean()})
|
||||||
|
|
||||||
logvar_t = self.logvar[t].to(self.device)
|
logvar_t = self.logvar[t.item()].to(self.device)
|
||||||
loss = loss_simple / torch.exp(logvar_t) + logvar_t
|
loss = loss_simple / torch.exp(logvar_t) + logvar_t
|
||||||
# loss = loss_simple / torch.exp(self.logvar) + self.logvar
|
# loss = loss_simple / torch.exp(self.logvar) + self.logvar
|
||||||
if self.learn_logvar:
|
if self.learn_logvar:
|
||||||
|
@ -385,6 +385,8 @@ SAMPLER_CHOICES = [
|
|||||||
'ddim',
|
'ddim',
|
||||||
'k_dpm_2_a',
|
'k_dpm_2_a',
|
||||||
'k_dpm_2',
|
'k_dpm_2',
|
||||||
|
'k_dpmpp_2_a',
|
||||||
|
'k_dpmpp_2',
|
||||||
'k_euler_a',
|
'k_euler_a',
|
||||||
'k_euler',
|
'k_euler',
|
||||||
'k_heun',
|
'k_heun',
|
||||||
|
@ -50,6 +50,8 @@
|
|||||||
<option value="k_lms" selected>KLMS</option>
|
<option value="k_lms" selected>KLMS</option>
|
||||||
<option value="k_dpm_2">KDPM_2</option>
|
<option value="k_dpm_2">KDPM_2</option>
|
||||||
<option value="k_dpm_2_a">KDPM_2A</option>
|
<option value="k_dpm_2_a">KDPM_2A</option>
|
||||||
|
<option value="k_dpmpp_2">KDPMPP_2</option>
|
||||||
|
<option value="k_dpmpp_2_a">KDPMPP_2A</option>
|
||||||
<option value="k_euler">KEULER</option>
|
<option value="k_euler">KEULER</option>
|
||||||
<option value="k_euler_a">KEULER_A</option>
|
<option value="k_euler_a">KEULER_A</option>
|
||||||
<option value="k_heun">KHEUN</option>
|
<option value="k_heun">KHEUN</option>
|
||||||
|
@ -39,6 +39,8 @@
|
|||||||
<option value="k_lms" selected>KLMS</option>
|
<option value="k_lms" selected>KLMS</option>
|
||||||
<option value="k_dpm_2">KDPM_2</option>
|
<option value="k_dpm_2">KDPM_2</option>
|
||||||
<option value="k_dpm_2_a">KDPM_2A</option>
|
<option value="k_dpm_2_a">KDPM_2A</option>
|
||||||
|
<option value="k_dpmpp_2">KDPMPP_2</option>
|
||||||
|
<option value="k_dpmpp_2_a">KDPMPP_2A</option>
|
||||||
<option value="k_euler">KEULER</option>
|
<option value="k_euler">KEULER</option>
|
||||||
<option value="k_euler_a">KEULER_A</option>
|
<option value="k_euler_a">KEULER_A</option>
|
||||||
<option value="k_heun">KHEUN</option>
|
<option value="k_heun">KHEUN</option>
|
||||||
|
Loading…
Reference in New Issue
Block a user