docstr: Creates the architecture of the neural network.
  
  Parameters
  ----------
  input_size : int
      The input size of the neural network.
docstr_tok: ["Creates","the","architecture","of","the","neural","network",".","Parameters","--","--","--","--","--","input_size",":","int","The","input","size","of","the","neural","network","."]
code: def _create_architecture(self, input_size: int) -> None:
      """Creates the architecture of the neural network.
  
      Parameters
      ----------
      input_size : int
          The input size of the neural network.
      """
      for size in self.dim_layers:
          if self.dropout_rate:
              self.layers.append(nn.Dropout(self.dropout_rate))
          self.layers.append(nn.Linear(input_size, size))
          input_size = size  # update input size for next layer
          if self.batch_norm:
              self.layers.append(nn.BatchNorm1d(input_size))
          self.layers.append(self.activation_type)
  
      self.layers.append(nn.Linear(input_size, 1))
      self.layers.append(nn.Sigmoid())
  
file_path: aequitas/src/aequitas/fairflow/methods/base_estimator/neural_network.py
imports: from typing import Optional
  import pandas
  import torch
  from torch import nn, optim
  from torch.utils.data import DataLoader
  from tqdm import tqdm
  from ...utils import create_logger, import_object
  from .base_estimator import BaseEstimator
label_desc: Use image node_id 2 for calling the TorchNeuralNetwork obj's underlying member method code with example usage: obj._create_architecture(input_size) without return types