code: def main():
      """
      ### Run the experiment
      """
      # Create experiment
      experiment.create(name="compressive_transformer", comment="")
      # Create configs
      conf = Configs()
      # Load configurations
      experiment.configs(
          conf,
          # A dictionary of configurations to override
          {
              "tokenizer": "character",
              "text": "tiny_shakespeare",
              "optimizer.learning_rate": 2.5e-4,
              "optimizer.optimizer": "AdamW",
              "prompt": "It is",
              "prompt_separator": "",
              "train_loader": "sequential_train_loader",
              "valid_loader": "sequential_valid_loader",
              "seq_len": 8,
              "mem_len": 8,
              "epochs": 128,
              "batch_size": 32,
              "inner_iterations": 25,
              "compression_rate": 2,
          },
      )
  
      # Set models for saving and loading
      experiment.add_pytorch_models({"model": conf.model})
  
      # Start the experiment
      with experiment.start():
          # `TrainValidConfigs.run`
          conf.run()
  
imports: from typing import List, Tuple, NamedTuple
  import torch
  import torch.nn
  from labml import experiment, tracker, monit, logger
  from labml.configs import option
  from labml.logger import Text
  from labml_helpers.metrics.simple_state import SimpleStateModule
  from labml_helpers.module import Module
  from labml_helpers.train_valid import BatchIndex, hook_model_outputs
  from labml_nn.experiments.nlp_autoregression import NLPAutoRegressionConfigs
  from labml_nn.transformers.compressive import CompressiveTransformer, AttentionReconstructionLoss, CompressiveTransformerLayer, Conv1dCompression
label_desc: Use image node_id 3 for calling a global function with example usage: main() without return types