code: def _build_network(self):
      self.W_in = nn.ModuleList(
          [
              nn.Linear(2 * self.n_features_in, 2 * self.n_features_in)
              for _ in range(self.n_stages)
          ]
      )
      self.W_out = nn.ModuleList(
          [
              nn.Linear(2 * self.n_features_in, self.n_features_in)
              for _ in range(self.n_stages)
          ]
      )
  
      self.feature_masks = self._create_feature_mask()
      if self.feature_mask_function.__name__ == "t_softmax":
          t = RSoftmax.calculate_t(
              self.feature_masks,
              r=torch.tensor([self.feature_sparsity]),
              dim=-1,
          )
          self.t = nn.Parameter(
              t, requires_grad=self.learnable_sparsity
          )
      self.dropout = nn.Dropout(self._dropout)
  
imports: import random
  from typing import Callable
  import torch
  import torch.nn
  from pytorch_tabular.models.common.layers.activations import RSoftmax, entmax15
label_desc: Use image node_id 3 for calling the GatedFeatureLearningUnit obj's underlying member method code with example usage: obj._build_network() without return types