ameerazam08 commited on
Commit
fe4a962
·
verified ·
1 Parent(s): e7d8a00

Update src/pipeline_pe_clone.py

Browse files
Files changed (1) hide show
  1. src/pipeline_pe_clone.py +6 -16
src/pipeline_pe_clone.py CHANGED
@@ -48,24 +48,14 @@ def prepare_latent_image_ids_2(height, width, device, dtype):
48
  latent_image_ids[..., 2] = latent_image_ids[..., 2] + torch.arange(width//2, device=device)[None, :] # x坐标
49
  return latent_image_ids
50
 
51
- # def position_encoding_clone(batch_size, original_height, original_width, device, dtype):
52
- # latent_image_ids = prepare_latent_image_ids_2(original_height, original_width, device, dtype)
53
- # latent_image_id_height, latent_image_id_width, latent_image_id_channels = latent_image_ids.shape
54
- # latent_image_ids = latent_image_ids.reshape(
55
- # latent_image_id_height * latent_image_id_width, latent_image_id_channels
56
- # )
57
- # cond_latent_image_ids = latent_image_ids
58
- # latent_image_ids = torch.concat([latent_image_ids, cond_latent_image_ids], dim=-2)
59
- # return latent_image_ids
60
-
61
  def position_encoding_clone(batch_size, original_height, original_width, device, dtype):
62
  latent_image_ids = prepare_latent_image_ids_2(original_height, original_width, device, dtype)
63
- # latent_image_ids shape: (H//2, W//2, 3)
64
- latent_image_ids = latent_image_ids.reshape(-1, latent_image_ids.shape[-1]) # shape: (N, 3)
65
- # Duplicate by concatenating along the token dimension (if that’s intended)
66
- latent_image_ids = torch.cat([latent_image_ids, latent_image_ids], dim=0) # shape: (2*N, 3)
67
- # Add a batch dimension and repeat it for each sample in the batch
68
- latent_image_ids = latent_image_ids.unsqueeze(0).repeat(batch_size, 1, 1) # shape: (B, 2*N, 3)
69
  return latent_image_ids
70
 
71
  # Copied from diffusers.pipelines.stable_diffusion.pipeline_stable_diffusion_img2img.retrieve_latents
 
48
  latent_image_ids[..., 2] = latent_image_ids[..., 2] + torch.arange(width//2, device=device)[None, :] # x坐标
49
  return latent_image_ids
50
 
 
 
 
 
 
 
 
 
 
 
51
  def position_encoding_clone(batch_size, original_height, original_width, device, dtype):
52
  latent_image_ids = prepare_latent_image_ids_2(original_height, original_width, device, dtype)
53
+ latent_image_id_height, latent_image_id_width, latent_image_id_channels = latent_image_ids.shape
54
+ latent_image_ids = latent_image_ids.reshape(
55
+ latent_image_id_height * latent_image_id_width, latent_image_id_channels
56
+ )
57
+ cond_latent_image_ids = latent_image_ids
58
+ latent_image_ids = torch.concat([latent_image_ids, cond_latent_image_ids], dim=-2)
59
  return latent_image_ids
60
 
61
  # Copied from diffusers.pipelines.stable_diffusion.pipeline_stable_diffusion_img2img.retrieve_latents