MCPcopy Create free account
hub / github.com/huggingface/diffusers / MidResTemporalBlock1D

Class MidResTemporalBlock1D

src/diffusers/models/unets/unet_1d_blocks.py:171–221  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

169
170
171class MidResTemporalBlock1D(nn.Module):
172 def __init__(
173 self,
174 in_channels: int,
175 out_channels: int,
176 embed_dim: int,
177 num_layers: int = 1,
178 add_downsample: bool = False,
179 add_upsample: bool = False,
180 non_linearity: str | None = None,
181 ):
182 super().__init__()
183 self.in_channels = in_channels
184 self.out_channels = out_channels
185 self.add_downsample = add_downsample
186
187 # there will always be at least one resnet
188 resnets = [ResidualTemporalBlock1D(in_channels, out_channels, embed_dim=embed_dim)]
189
190 for _ in range(num_layers):
191 resnets.append(ResidualTemporalBlock1D(out_channels, out_channels, embed_dim=embed_dim))
192
193 self.resnets = nn.ModuleList(resnets)
194
195 if non_linearity is None:
196 self.nonlinearity = None
197 else:
198 self.nonlinearity = get_activation(non_linearity)
199
200 self.upsample = None
201 if add_upsample:
202 self.upsample = Upsample1D(out_channels, use_conv=True)
203
204 self.downsample = None
205 if add_downsample:
206 self.downsample = Downsample1D(out_channels, use_conv=True)
207
208 if self.upsample and self.downsample:
209 raise ValueError("Block cannot downsample and upsample")
210
211 def forward(self, hidden_states: torch.Tensor, temb: torch.Tensor) -> torch.Tensor:
212 hidden_states = self.resnets[0](hidden_states, temb)
213 for resnet in self.resnets[1:]:
214 hidden_states = resnet(hidden_states, temb)
215
216 if self.upsample:
217 hidden_states = self.upsample(hidden_states)
218 if self.downsample:
219 hidden_states = self.downsample(hidden_states)
220
221 return hidden_states
222
223
224class OutConv1DBlock(nn.Module):

Callers 1

get_mid_blockFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…