class_docstr: 1D Convolutional block.
  
  Args:
      io_channels (int): The number of input/output channels, <B, Sc>
      hidden_channels (int): The number of channels in the internal layers, <H>.
      kernel_size (int): The convolution kernel size of the middle layer, <P>.
      padding (int): Padding value of the convolution in the middle layer.
      dilation (int, optional): Dilation value of the convolution in the middle layer.
      no_redisual (bool, optional): Disable residual block/output.
  
  Note:
      This implementation corresponds to the "non-causal" setting in the paper.
code: def __init__(
      self,
      io_channels: int,
      hidden_channels: int,
      kernel_size: int,
      padding: int,
      dilation: int = 1,
      no_residual: bool = False,
  ):
      super().__init__()
  
      self.conv_layers = torch.nn.Sequential(
          torch.nn.Conv1d(
              in_channels=io_channels,
              out_channels=hidden_channels,
              kernel_size=1,
          ),
          torch.nn.PReLU(),
          torch.nn.GroupNorm(
              num_groups=1, num_channels=hidden_channels, eps=1e-08
          ),
          torch.nn.Conv1d(
              in_channels=hidden_channels,
              out_channels=hidden_channels,
              kernel_size=kernel_size,
              padding=padding,
              dilation=dilation,
              groups=hidden_channels,
          ),
          torch.nn.PReLU(),
          torch.nn.GroupNorm(
              num_groups=1, num_channels=hidden_channels, eps=1e-08
          ),
      )
  
      self.res_out = (
          None
          if no_residual
          else torch.nn.Conv1d(
              in_channels=hidden_channels,
              out_channels=io_channels,
              kernel_size=1,
          )
      )
      self.skip_out = torch.nn.Conv1d(
          in_channels=hidden_channels,
          out_channels=io_channels,
          kernel_size=1,
      )
  
file_path: audio/src/torchaudio/models/conv_tasnet.py
imports: from typing import Optional, Tuple
  import torch
label_desc: Use image node_id 1 to create a new ConvBlock object from inherited base classes: torch.nn with example: obj = ConvBlock(io_channels, hidden_channels, kernel_size, padding, dilation, no_residual)