add hidream-o1

Co-authored-by: Copilot <copilot@github.com>
Signed-off-by: Vladimir Mandic <mandic00@live.com>
This commit is contained in:
Vladimir Mandic
2026-05-10 21:45:19 +02:00
parent 0d49cf0f7e
commit 7ee740e744
26 changed files with 4374 additions and 32 deletions
+25 -19
View File
@@ -270,7 +270,7 @@ class State:
def do_set_current_image(self):
from modules import shared, images, sd_samplers_common
if (self.current_latent is None) or self.disable_preview or (self.preview_job == self.job_no):
if self.disable_preview or (self.preview_job == self.job_no):
return False
self.preview_job = self.job_no
@@ -280,27 +280,33 @@ class State:
self.preview_job = -1
return True
try:
sample = self.current_latent
self.current_image_sampling_step = self.sampling_step
if self.current_latent is not None:
try:
if self.current_noise_pred is not None and self.current_sigma is not None and self.current_sigma_next is not None:
original_sample = sample - (self.current_noise_pred * (self.current_sigma_next-self.current_sigma))
if self.prediction_type in {"epsilon", "flow_prediction"}:
sample = original_sample - (self.current_noise_pred * self.current_sigma)
elif self.prediction_type == "v_prediction":
sample = self.current_noise_pred * (-self.current_sigma / (self.current_sigma**2 + 1) ** 0.5) + (original_sample / (self.current_sigma**2 + 1)) # pylint: disable=invalid-unary-operand-type
except Exception:
pass # ignore sigma errors
image = sd_samplers_common.samples_to_image_grid(sample)
self.assign_current_image(image)
sample = self.current_latent
self.current_image_sampling_step = self.sampling_step
try:
if self.current_noise_pred is not None and self.current_sigma is not None and self.current_sigma_next is not None:
original_sample = sample - (self.current_noise_pred * (self.current_sigma_next-self.current_sigma))
if self.prediction_type in {"epsilon", "flow_prediction"}:
sample = original_sample - (self.current_noise_pred * self.current_sigma)
elif self.prediction_type == "v_prediction":
sample = self.current_noise_pred * (-self.current_sigma / (self.current_sigma**2 + 1) ** 0.5) + (original_sample / (self.current_sigma**2 + 1)) # pylint: disable=invalid-unary-operand-type
except Exception:
pass # ignore sigma errors
image = sd_samplers_common.samples_to_image_grid(sample)
self.assign_current_image(image)
self.preview_job = -1
return True
except Exception as e:
self.preview_job = -1
log.error(f'State image: last={self.id_live_preview} step={self.sampling_step} {e}')
display(e, 'State image')
return False
elif self.current_image is not None:
self.assign_current_image(self.current_image)
self.preview_job = -1
return True
except Exception as e:
self.preview_job = -1
log.error(f'State image: last={self.id_live_preview} step={self.sampling_step} {e}')
display(e, 'State image')
return False
return False
def assign_current_image(self, image):
self.current_image = image