code: def __init__(
      self,
      in_channels,
      out_channels,
      activation="Tanh",
      bias=False,
      batch_norm=False,
      skip_connection=False,
  ):
      super(LinearBlock, self).__init__()
  
      self.skip_connection = skip_connection
  
      self.linear = torch.nn.Linear(
          in_channels, out_channels, bias=bias
      )
  
      if activation is not None:
          # self.act_layer = _instantiate_class("torch.nn.modules.activation", activation)
          self.act_layer = get_activation_by_name(activation)
      else:
          self.act_layer = torch.nn.Identity()
  
      self.batch_norm = batch_norm
      if batch_norm is True:
          dim = out_channels
          self.bn_layer = torch.nn.BatchNorm1d(dim, affine=bias)
  
imports: from __future__ import division
  from __future__ import print_function
  import numpy
  import torch
  from sklearn.utils import check_array
  from sklearn.utils.validation import check_is_fitted
  from sklearn.ensemble import IsolationForest
  from sklearn.preprocessing import StandardScaler, MinMaxScaler
  from torch.utils.data import DataLoader
  from .base import BaseDetector
  from ..utils.torch_utility import get_activation_by_name
label_desc: Use image node_id 1 to create a new LinearBlock object from inherited base classes: torch.nn with example: obj = LinearBlock(in_channels, out_channels, activation, bias, batch_norm, skip_connection)