code: def main(cuda: int):
      # --- CONFIG
      device = torch.device(
          f"cuda:{cuda}" if torch.cuda.is_available() else "cpu"
      )
  
      # --- BENCHMARK CREATION
      benchmark = SplitMNIST(n_experiences=5, seed=42)
      # ---------
  
      # MODEL CREATION
      model = SimpleMLP(num_classes=benchmark.n_classes)
  
      # choose some metrics and evaluation method
      eval_plugin = EvaluationPlugin(
          accuracy_metrics(stream=True, experience=True),
          mean_scores_metrics(on_train=True, on_eval=True),
          loggers=[
              TensorboardLogger(f"tb_data/{datetime.now()}"),
              InteractiveLogger(),
          ],
      )
  
      # CREATE THE STRATEGY INSTANCE (NAIVE)
      cl_strategy = Naive(
          model,
          Adam(model.parameters()),
          train_mb_size=128,
          train_epochs=2,
          eval_mb_size=128,
          device=device,
          plugins=[ReplayPlugin(mem_size=100)],
          evaluator=eval_plugin,
      )
  
      # TRAINING LOOP
      for i, experience in enumerate(benchmark.train_stream, 1):
          cl_strategy.train(experience)
          cl_strategy.eval(benchmark.test_stream[:i])
  
file_path: avalanche/examples/mean_scores.py
imports: import argparse
  from datetime import datetime
  import torch
  import torch.optim.lr_scheduler
  from torch.optim import Adam
  from avalanche.benchmarks import SplitMNIST
  from avalanche.evaluation.metrics.mean_scores import mean_scores_metrics
  from avalanche.models import SimpleMLP
  from avalanche.training.supervised import Naive
  from avalanche.training.plugins import ReplayPlugin
  from avalanche.evaluation.metrics import accuracy_metrics
  from avalanche.logging import TensorboardLogger, InteractiveLogger
  from avalanche.training.plugins import EvaluationPlugin
label_desc: Use image node_id 1 for calling a global function with example usage: main(cuda) without return types