class_docstr: Configurations with a
   [simple training loop](https://docs.labml.ai/api/helpers.html#labml_helpers.train_valid.SimpleTrainValidConfigs)
code: def init(self):
      # Print indicators to screen
      tracker.set_scalar("loss.*", True)
      tracker.set_scalar("loss_reg.*", True)
      tracker.set_scalar("accuracy.*", True)
      tracker.set_scalar("steps.*", True)
  
      # We need to set the metrics to calculate them for the epoch for training and validation
      self.state_modules = [self.accuracy]
  
      # Initialize the model
      self.model = ParityPonderGRU(
          self.n_elems, self.n_hidden, self.max_steps
      ).to(self.device)
      # $L_{Rec}$
      self.loss_rec = ReconstructionLoss(
          nn.BCEWithLogitsLoss(reduction="none")
      ).to(self.device)
      # $L_{Reg}$
      self.loss_reg = RegularizationLoss(
          self.lambda_p, self.max_steps
      ).to(self.device)
  
      # Training and validation loaders
      self.train_loader = DataLoader(
          ParityDataset(self.batch_size * self.n_batches, self.n_elems),
          batch_size=self.batch_size,
      )
      self.valid_loader = DataLoader(
          ParityDataset(self.batch_size * 32, self.n_elems),
          batch_size=self.batch_size,
      )
  
file_path: annotated_deep_learning_paper_implementations/labml_nn/adaptive_computation/ponder_net/experiment.py
imports: from typing import Any
  import torch
  from torch import nn
  from torch.utils.data import DataLoader
  from labml import tracker, experiment
  from labml_helpers.metrics.accuracy import AccuracyDirect
  from labml_helpers.train_valid import SimpleTrainValidConfigs, BatchIndex
  from labml_nn.adaptive_computation.parity import ParityDataset
  from labml_nn.adaptive_computation.ponder_net import ParityPonderGRU, ReconstructionLoss, RegularizationLoss
label_desc: Use image node_id 1 for calling the Configs obj's underlying member method code with example usage: obj.init() without return types