MCPcopy Create free account
hub / github.com/OpenImagingLab/FlashVSR / __init__

Method __init__

diffsynth/models/wan_video_vae.py:382–431  ·  view source on GitHub ↗
(self,
                 dim=128,
                 z_dim=4,
                 dim_mult=[1, 2, 4, 4],
                 num_res_blocks=2,
                 attn_scales=[],
                 temperal_upsample=[False, True, True],
                 dropout=0.0)

Source from the content-addressed store, hash-verified

380class Decoder3d(nn.Module):
381
382 def __init__(self,
383 dim=128,
384 z_dim=4,
385 dim_mult=[1, 2, 4, 4],
386 num_res_blocks=2,
387 attn_scales=[],
388 temperal_upsample=[False, True, True],
389 dropout=0.0):
390 super().__init__()
391 self.dim = dim
392 self.z_dim = z_dim
393 self.dim_mult = dim_mult
394 self.num_res_blocks = num_res_blocks
395 self.attn_scales = attn_scales
396 self.temperal_upsample = temperal_upsample
397
398 # dimensions
399 dims = [dim * u for u in [dim_mult[-1]] + dim_mult[::-1]]
400 scale = 1.0 / 2**(len(dim_mult) - 2)
401
402 # init block
403 self.conv1 = CausalConv3d(z_dim, dims[0], 3, padding=1)
404
405 # middle blocks
406 self.middle = nn.Sequential(ResidualBlock(dims[0], dims[0], dropout),
407 AttentionBlock(dims[0]),
408 ResidualBlock(dims[0], dims[0], dropout))
409
410 # upsample blocks
411 upsamples = []
412 for i, (in_dim, out_dim) in enumerate(zip(dims[:-1], dims[1:])):
413 # residual (+attention) blocks
414 if i == 1 or i == 2 or i == 3:
415 in_dim = in_dim // 2
416 for _ in range(num_res_blocks + 1):
417 upsamples.append(ResidualBlock(in_dim, out_dim, dropout))
418 if scale in attn_scales:
419 upsamples.append(AttentionBlock(out_dim))
420 in_dim = out_dim
421
422 # upsample block
423 if i != len(dim_mult) - 1:
424 mode = 'upsample3d' if temperal_upsample[i] else 'upsample2d'
425 upsamples.append(Resample(out_dim, mode=mode))
426 scale *= 2.0
427 self.upsamples = nn.Sequential(*upsamples)
428
429 # output blocks
430 self.head = nn.Sequential(RMS_norm(out_dim, images=False), nn.SiLU(),
431 CausalConv3d(out_dim, 3, 3, padding=1))
432
433 def forward(self, x, feat_cache=None, feat_idx=[0]):
434 ## conv1

Callers

nothing calls this directly

Calls 6

ResidualBlockClass · 0.85
ResampleClass · 0.85
CausalConv3dClass · 0.70
AttentionBlockClass · 0.70
RMS_normClass · 0.70
__init__Method · 0.45

Tested by

no test coverage detected