MCPcopy Create free account
hub / github.com/DPS2022/diffusion-posterior-sampling / __init__

Method __init__

guided_diffusion/unet.py:231–293  ·  view source on GitHub ↗
(
        self,
        channels,
        emb_channels,
        dropout,
        out_channels=None,
        use_conv=False,
        use_scale_shift_norm=False,
        dims=2,
        use_checkpoint=False,
        up=False,
        down=False,
    )

Source from the content-addressed store, hash-verified

229 """
230
231 def __init__(
232 self,
233 channels,
234 emb_channels,
235 dropout,
236 out_channels=None,
237 use_conv=False,
238 use_scale_shift_norm=False,
239 dims=2,
240 use_checkpoint=False,
241 up=False,
242 down=False,
243 ):
244 super().__init__()
245 self.channels = channels
246 self.emb_channels = emb_channels
247 self.dropout = dropout
248 self.out_channels = out_channels or channels
249 self.use_conv = use_conv
250 self.use_checkpoint = use_checkpoint
251 self.use_scale_shift_norm = use_scale_shift_norm
252
253 self.in_layers = nn.Sequential(
254 normalization(channels),
255 nn.SiLU(),
256 conv_nd(dims, channels, self.out_channels, 3, padding=1),
257 )
258
259 self.updown = up or down
260
261 if up:
262 self.h_upd = Upsample(channels, False, dims)
263 self.x_upd = Upsample(channels, False, dims)
264 elif down:
265 self.h_upd = Downsample(channels, False, dims)
266 self.x_upd = Downsample(channels, False, dims)
267 else:
268 self.h_upd = self.x_upd = nn.Identity()
269
270 self.emb_layers = nn.Sequential(
271 nn.SiLU(),
272 linear(
273 emb_channels,
274 2 * self.out_channels if use_scale_shift_norm else self.out_channels,
275 ),
276 )
277 self.out_layers = nn.Sequential(
278 normalization(self.out_channels),
279 nn.SiLU(),
280 nn.Dropout(p=dropout),
281 zero_module(
282 conv_nd(dims, self.out_channels, self.out_channels, 3, padding=1)
283 ),
284 )
285
286 if self.out_channels == channels:
287 self.skip_connection = nn.Identity()
288 elif use_conv:

Callers

nothing calls this directly

Calls 7

normalizationFunction · 0.85
conv_ndFunction · 0.85
UpsampleClass · 0.85
DownsampleClass · 0.85
zero_moduleFunction · 0.85
linearFunction · 0.70
__init__Method · 0.45

Tested by

no test coverage detected