class_docstr: WaveNet style 1-D dilated convolution with optional conditioning.
class_docstr_tok: ["WaveNet","style","1-D","dilated","convolution","with","optional","conditioning","."]
docstr: Constructor, combines input_keys and conditioning_keys.
docstr_tok: ["Constructor",",","combines","input_keys","and","conditioning_keys","."]
code: def __init__(
      self,
      ch=256,
      kernel_size=3,
      layers_per_stack=5,
      stacks=2,
      dilation=2,
      norm_type="layer",
      resample_stride=1,
      stacks_per_resample=1,
      resample_after_convolve=True,
      input_keys=("ld_scaled", "f0_scaled"),
      output_splits=(("amps", 1), ("harmonic_distribution", 60)),
      conditioning_keys=("z"),
      precondition_stack=None,
      spectral_norm=False,
      ortho_init=False,
      **kwargs,
  ):
      """Constructor, combines input_keys and conditioning_keys."""
      self.conditioning_keys = (
          [] if conditioning_keys is None else list(conditioning_keys)
      )
      input_keys = list(input_keys) + self.conditioning_keys
      super().__init__(input_keys, output_splits, **kwargs)
  
      # Conditioning.
      self.n_conditioning = len(self.conditioning_keys)
      self.conditional = bool(self.conditioning_keys)
      if not self.conditional and precondition_stack is not None:
          raise ValueError(
              "You must specify conditioning keys if you specify"
              "a precondition stack."
          )
  
      # Layers.
      self.precondition_stack = precondition_stack
      self.dilated_conv_stack = nn.DilatedConvStack(
          ch=ch,
          kernel_size=kernel_size,
          layers_per_stack=layers_per_stack,
          stacks=stacks,
          dilation=dilation,
          norm_type=norm_type,
          resample_type="upsample" if resample_stride > 1 else None,
          resample_stride=resample_stride,
          stacks_per_resample=stacks_per_resample,
          resample_after_convolve=resample_after_convolve,
          conditional=self.conditional,
          spectral_norm=spectral_norm,
          ortho_init=ortho_init,
      )
  
imports: from ddsp import core
  from ddsp.training import nn
  import gin
  import tensorflow
label_desc: Use image node_id 1 to create a new DilatedConvDecoder object from inherited base classes: nn with example: obj = DilatedConvDecoder(ch, kernel_size, layers_per_stack, stacks, dilation, norm_type, resample_stride, stacks_per_resample, resample_after_convolve, input_keys, output_splits, conditioning_keys, precondition_stack, spectral_norm, ortho_init)