class_docstr: SVoice model for speech separation.
  
  Reference:
      Voice Separation with an Unknown Number of Multiple Speakers;
      E. Nachmani et al., 2020;
      https://arxiv.org/abs/2003.01531
  
  Args:
      enc_dim: int, dimension of the encoder module's output. (Default: 128)
      kernel_size: int, the kernel size of Conv1D layer in both encoder and
          decoder modules. (Default: 8)
      hidden_size: int, dimension of the hidden state in RNN layers. (Default: 128)
      num_spk: int, the number of speakers in the output. (Default: 2)
      num_layers: int, number of stacked MulCat blocks. (Default: 4)
      segment_size: dual-path segment size. (Default: 20)
      bidirectional: bool, whether the RNN layers are bidirectional. (Default: True)
      input_normalize: bool, whether to apply GroupNorm on the input Tensor.
          (Default: False)
code: def num_spk(self):
      return self._num_spk
  
imports: import math
  from collections import OrderedDict
  from typing import Dict, List, Optional, Tuple
  import torch
  import torch.nn
  import torch.nn.functional
  from espnet2.enh.layers.dpmulcat import DPMulCat
  from espnet2.enh.layers.dprnn import merge_feature, split_feature
  from espnet2.enh.separator.abs_separator import AbsSeparator
label_desc: Use image node_id 3 for calling the SVoiceSeparator obj's underlying member method code with example usage: obj.num_spk() and returns: self