code: def _build_network(self):
      swap_probabilities = []
      for i, (name, (cardinality, embed_dim)) in enumerate(
          zip(self.config.categorical_cols, self.config.embedding_dims)
      ):  # conditions based on real cardinality (excluding missing value placeholder)
          if cardinality == 2:
              swap_probabilities += [self._get_noise_probability(name)]
          elif cardinality <= self.config.max_onehot_cardinality:
              swap_probabilities += [
                  self._get_noise_probability(name)
              ] * cardinality
          else:
              swap_probabilities += [
                  self._get_noise_probability(name)
              ] * embed_dim
      for name in self.config.continuous_cols:
          swap_probabilities.append(self._get_noise_probability(name))
  
      self._swap_probabilities = swap_probabilities
      self.swap_noise = SwapNoiseCorrupter(swap_probabilities)
  
imports: from collections import namedtuple
  from typing import Dict
  import torch
  import torch.nn
  from omegaconf import DictConfig
  from ..base_model import SSLBaseModel
  from ..common.heads import MultiTaskHead
  from ..common.layers import MixedEmbedding1dLayer
  from ..common.noise_generators import SwapNoiseCorrupter
label_desc: Use image node_id 4 for calling the DenoisingAutoEncoderFeaturizer obj's underlying member method code with example usage: obj._build_network() without return types