Mac debug

This commit is contained in:
nullquant
2024-05-31 12:49:16 +03:00
parent b3299683b8
commit e8334e79a3
2 changed files with 34 additions and 1 deletions
+4 -1
View File
@@ -834,15 +834,18 @@ class BrushNetModel(ModelMixin, ConfigMixin):
down_block_res_samples = (sample,)
for downsample_block in self.down_blocks:
if hasattr(downsample_block, "has_cross_attention") and downsample_block.has_cross_attention:
if debug: print('BrushNet CA (down block with XA): ', type(downsample_block))
sample, res_samples = downsample_block(
hidden_states=sample,
temb=emb,
encoder_hidden_states=encoder_hidden_states,
attention_mask=attention_mask,
cross_attention_kwargs=cross_attention_kwargs,
debug=debug,
)
else:
sample, res_samples = downsample_block(hidden_states=sample, temb=emb)
if debug: print('BrushNet CA (down block): ', type(downsample_block))
sample, res_samples = downsample_block(hidden_states=sample, temb=emb, debug=debug)
down_block_res_samples += res_samples
+30
View File
@@ -1339,7 +1339,11 @@ class CrossAttnDownBlock2D(nn.Module):
encoder_attention_mask: Optional[torch.FloatTensor] = None,
additional_residuals: Optional[torch.FloatTensor] = None,
down_block_add_samples: Optional[torch.FloatTensor] = None,
debug = False,
) -> Tuple[torch.FloatTensor, Tuple[torch.FloatTensor, ...]]:
if debug: print(' XAD2: forward')
if cross_attention_kwargs is not None:
if cross_attention_kwargs.get("scale", None) is not None:
logger.warning("Passing `scale` to `cross_attention_kwargs` is deprecated. `scale` will be ignored.")
@@ -1376,7 +1380,14 @@ class CrossAttnDownBlock2D(nn.Module):
return_dict=False,
)[0]
else:
if debug: print(' XAD2: resnet hs #', i, hidden_states.shape)
if debug and temb is not None: print(' XAD2: resnet temb #', i, temb.shape)
hidden_states = resnet(hidden_states, temb)
if debug: print(' XAD2: attn hs #', i, hidden_states.shape)
if debug and encoder_hidden_states is not None: print(' XAD2: attn ehs #', i, encoder_hidden_states.shape)
hidden_states = attn(
hidden_states,
encoder_hidden_states=encoder_hidden_states,
@@ -1388,11 +1399,18 @@ class CrossAttnDownBlock2D(nn.Module):
# apply additional residuals to the output of the last pair of resnet and attention blocks
if i == len(blocks) - 1 and additional_residuals is not None:
if debug: print(' XAD2: add res', additional_residuals.shape)
hidden_states = hidden_states + additional_residuals
if down_block_add_samples is not None:
if debug: print(' XAD2: add samples', down_block_add_samples.shape)
hidden_states = hidden_states + down_block_add_samples.pop(0)
if debug: print(' XAD2: output', hidden_states.shape)
output_states = output_states + (hidden_states,)
@@ -1405,6 +1423,11 @@ class CrossAttnDownBlock2D(nn.Module):
output_states = output_states + (hidden_states,)
if debug:
print(' XAD2: finish')
for st in output_states:
print(' XAD2: ',st.shape)
return hidden_states, output_states
@@ -1470,6 +1493,8 @@ class DownBlock2D(nn.Module):
output_states = ()
if kwargs.get("debug", False): print(' D2: forward', hidden_states.shape)
for resnet in self.resnets:
if self.training and self.gradient_checkpointing:
@@ -1488,6 +1513,9 @@ class DownBlock2D(nn.Module):
create_custom_forward(resnet), hidden_states, temb
)
else:
if kwargs.get("debug", False): print(' D2: resnet', hidden_states.shape)
hidden_states = resnet(hidden_states, temb)
if down_block_add_samples is not None:
@@ -1504,6 +1532,8 @@ class DownBlock2D(nn.Module):
output_states = output_states + (hidden_states,)
if kwargs.get("debug", False): print(' D2: finish', hidden_states.shape)
return hidden_states, output_states