|
1 | 1 | import torch |
2 | 2 | import torch.distributed as dist |
3 | 3 | from einops import rearrange |
| 4 | +from loguru import logger |
4 | 5 | from torch.nn import functional as F |
5 | 6 |
|
6 | 7 | from lightx2v.models.networks.hunyuan_video.infer.posemb_layers import get_nd_rotary_pos_embed |
@@ -50,7 +51,10 @@ def prepare(self, seed, latent_shape, image_encoder_output=None): |
50 | 51 | self.cond_latents_concat, self.mask_concat = self._prepare_cond_latents_and_mask(self.config["task"], image_encoder_output["cond_latents"], self.latents, self.multitask_mask, self.reorg_token) |
51 | 52 |
|
52 | 53 | def prepare_latents(self, seed, latent_shape, dtype=torch.bfloat16): |
53 | | - self.generator = torch.Generator(device=AI_DEVICE).manual_seed(seed) |
| 54 | + if self.generator is None: |
| 55 | + self.generator = torch.Generator(device=AI_DEVICE).manual_seed(seed) |
| 56 | + else: |
| 57 | + logger.info(f"Generator is not None, using existing generator for latents") |
54 | 58 | self.latents = torch.randn( |
55 | 59 | 1, |
56 | 60 | latent_shape[0], |
@@ -172,7 +176,10 @@ def prepare(self, seed, latent_shape, lq_latents, upsampler, image_encoder_outpu |
172 | 176 | self.zero_condition = zero_condition |
173 | 177 |
|
174 | 178 | def prepare_latents(self, seed, latent_shape, lq_latents, dtype=torch.bfloat16): |
175 | | - self.generator = torch.Generator(device=lq_latents.device).manual_seed(seed) |
| 179 | + if self.generator is None: |
| 180 | + self.generator = torch.Generator(device=lq_latents.device).manual_seed(seed) |
| 181 | + else: |
| 182 | + logger.info(f"Generator is not None, using existing generator for latents") |
176 | 183 | self.latents = torch.randn( |
177 | 184 | 1, |
178 | 185 | latent_shape[0], |
|
0 commit comments