{"record":{"id":"08c0fae21eb837c9","repo":"hpcaitech/Open-Sora","slug":"block-type-block-type-is-not-supported-for-upsam","errorCode":null,"errorMessage":"block_type {block_type} is not supported for upsampling","messagePattern":"block_type (.+?) is not supported for upsampling","errorType":"exception","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"opensora/models/dc_ae/models/dc_ae.py","lineNumber":240,"sourceCode":"    temporal_upsample: bool = False,\n) -> nn.Module:\n    if block_type == \"ConvPixelShuffle\":\n        if is_video:\n            raise NotImplementedError(\"ConvPixelShuffle upsample is not supported for video\")\n        block = ConvPixelShuffleUpSampleLayer(\n            in_channels=in_channels, out_channels=out_channels, kernel_size=3, factor=2\n        )\n    elif block_type == \"InterpolateConv\":\n        block = InterpolateConvUpSampleLayer(\n            in_channels=in_channels,\n            out_channels=out_channels,\n            kernel_size=3,\n            factor=2,\n            is_video=is_video,\n            temporal_upsample=temporal_upsample,\n        )\n    else:\n        raise ValueError(f\"block_type {block_type} is not supported for upsampling\")\n    if shortcut is None:\n        pass\n    elif shortcut == \"duplicating\":\n        shortcut_block = ChannelDuplicatingPixelShuffleUpSampleLayer(\n            in_channels=in_channels, out_channels=out_channels, factor=2, temporal_upsample=temporal_upsample\n        )\n        block = ResidualBlock(block, shortcut_block)\n    else:\n        raise ValueError(f\"shortcut {shortcut} is not supported for upsample\")\n    return block\n\n\ndef build_encoder_project_in_block(\n    in_channels: int, out_channels: int, factor: int, downsample_block_type: str, is_video: bool\n):\n    if factor == 1:\n        block = ConvLayer(\n            in_channels=in_channels,","sourceCodeStart":222,"sourceCodeEnd":258,"githubUrl":"https://github.com/hpcaitech/Open-Sora/blob/7ad6a96a135feb81f755c84fb391818718f6beb2/opensora/models/dc_ae/models/dc_ae.py#L222-L258","documentation":"build_upsample_block only supports 'ConvPixelShuffle' and 'InterpolateConv' as upsample block types; any other string raises this ValueError when the decoder is constructed.","triggerScenarios":"Passing an unknown upsample_block_type (e.g. 'NearestConv', 'PixelShuffle', a typo) from the DCAE config into the decoder build path.","commonSituations":"Hand-written or ported configs; version skew between config files and the supported block list in this version of opensora.","solutions":["Correct upsample_block_type to 'ConvPixelShuffle' (images) or 'InterpolateConv' (video)","Start from a shipped config matching your model variant","Align opensora version with the config source"],"exampleFix":"# before\nupsample_block_type: pixelshuffle\n# after\nupsample_block_type: ConvPixelShuffle","handlingStrategy":"validation","validationCode":"SUPPORTED_UP = {'ConvPixelShuffle', 'InterpolateConv'}\nassert cfg['upsample_block_type'] in SUPPORTED_UP, cfg['upsample_block_type']","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Whitelist-check upsample names at config load","Use shipped configs; pin versions"],"tags":["config","dc-ae","validation"],"backgroundTag":"invalid-config-value","analyzedSha":"7ad6a96a135feb81f755c84fb391818718f6beb2","analyzedAt":"2026-08-28T16:58:37.171Z","schemaVersion":2},"datasetVersion":"2026-08-28T21:17:43.275Z"}