code: def main(device, num_samples):
      data = get_data(num_samples)
      # trigger potential cuda call overhead
      torch.zeros(1).to(device)
  
      print("\nTesting skorch performance")
      tic = time.time()
      score_skorch = performance_skorch(
          *data,
          batch_size=BATCH_SIZE,
          max_epochs=MAX_EPOCHS,
          lr=LEARNING_RATE,
          device=device,
      )
      time_skorch = time.time() - tic
  
      print("\nTesting pure torch performance")
      tic = time.time()
      score_torch = performance_torch(
          *data,
          batch_size=BATCH_SIZE,
          max_epochs=MAX_EPOCHS,
          lr=LEARNING_RATE,
          device=device,
      )
      time_torch = time.time() - tic
  
      print(
          "time skorch: {:.4f}, time torch: {:.4f}".format(
              time_skorch, time_torch
          )
      )
      print(
          "score skorch: {:.4f}, score torch: {:.4f}".format(
              score_skorch, score_torch
          )
      )
  
      assert np.isclose(
          score_skorch, score_torch, rtol=0.01
      ), "Scores are not close enough."
      assert np.isclose(
          time_skorch, time_torch, rtol=0.3
      ), "Times are not close enough."
  
imports: import argparse
  import time
  import numpy
  from sklearn.datasets import fetch_openml
  from sklearn.model_selection import train_test_split
  from sklearn.model_selection import StratifiedKFold
  from sklearn.metrics import accuracy_score
  from sklearn.utils import shuffle
  import torch
  from torch import nn
  from skorch.utils import to_device
  from skorch import NeuralNetClassifier
  from skorch.callbacks import EpochScoring
label_desc: Use image node_id 8 for calling a global function with example usage: main(device, num_samples) without return types