hpcaitech/Open-Sora · error · NotImplementedError

Upsample during project_out is not supported for video

Error message

Upsample during project_out is not supported for video

What it means

When the decoder's project_out upsamples by factor 2, it uses a pixel-shuffle upsampler that is not implemented for 5D video tensors; building a video DCAE with factor 2 project_out raises NotImplementedError. Video configs must use the video-capable project_out setting.

Source

Thrown at opensora/models/dc_ae/models/dc_ae.py:365

        build_norm(norm, in_channels),
        build_act(act),
    ]
    if factor == 1:
        layers.append(
            ConvLayer(
                in_channels=in_channels,
                out_channels=out_channels,
                kernel_size=3,
                stride=1,
                use_bias=True,
                norm=None,
                act_func=None,
                is_video=is_video,
            )
        )
    elif factor == 2:
        if is_video:
            raise NotImplementedError("Upsample during project_out is not supported for video")
        layers.append(
            build_upsample_block(
                block_type=upsample_block_type, in_channels=in_channels, out_channels=out_channels, shortcut=None
            )
        )
    else:
        raise ValueError(f"upsample factor {factor} is not supported for decoder project out")
    return OpSequential(layers)


class Encoder(nn.Module):
    def __init__(self, cfg: EncoderConfig):
        super().__init__()
        self.cfg = cfg
        num_stages = len(cfg.width_list)
        self.num_stages = num_stages
        assert len(cfg.depth_list) == num_stages
        assert len(cfg.width_list) == num_stages

View on GitHub (pinned to 7ad6a96a13)

Solutions

  1. Set project_out_factor to a video-supported value (1, with the video conv path)
  2. Use a video DCAE config shipped with the repo
  3. Keep is_video=False for image decoding with factor 2

Example fix

# before
project_out_factor: 2   # with is_video: true
# after
project_out_factor: 1
Defensive patterns

Strategy: validation

Validate before calling

if is_video:
    assert project_out_factor == 1, 'factor-2 project_out upsample is not implemented for video'

Prevention

When it happens

Trigger: Constructing a DCAE decoder with is_video=True and project_out_factor: 2; raised from build_decoder_project_out_block during Decoder __init__.

Common situations: Reusing image-checkpoint configs (which commonly use factor 2 project_out) with is_video enabled for video decoding.

Related errors


AI-assisted analysis of hpcaitech/Open-Sora@7ad6a96a13 (2026-08-28). Data as JSON: /api/errors/c5468f51bfa7be0f. Report an issue: GitHub.