class_docstr: Class for building the Affine Coupling subnet.
  It is passed as an argument to the `AllInOneBlock` module.
class_docstr_tok: ["Class","for","building","the","Affine","Coupling","subnet",".","It","is","passed","as","an","argument","to","the","`","AllInOneBlock","`","module","."]
docstr: Args:
      kernel_size (int): Kernel size.
      subnet_channels_ratio (float): Subnet channels ratio.
docstr_tok: ["Args",":","kernel_size","(","int",")",":","Kernel","size",".","subnet_channels_ratio","(","float",")",":","Subnet","channels","ratio","."]
code: def __init__(self, kernel_size: int, subnet_channels_ratio: float):
      """
      Args:
          kernel_size (int): Kernel size.
          subnet_channels_ratio (float): Subnet channels ratio.
      """
      self.kernel_size = kernel_size
      self.subnet_channels_ratio = subnet_channels_ratio
  
file_path: anomalib/src/anomalib/models/uflow/torch_model.py
imports: import torch.nn
  from FrEIA import framework
  from FrEIA import modules
  from anomalib.models.components.flow import AllInOneBlock
  from .anomaly_map import AnomalyMapGenerator
  from .feature_extraction import get_feature_extractor
label_desc: Use image node_id 1 to create a new AffineCouplingSubnet object  with example: obj = AffineCouplingSubnet(kernel_size, subnet_channels_ratio)