code: def test_torch_fashion_mnist_gpu(ray_start_4_cpus_2_gpus):
      num_workers = 2
      epochs = 3
  
      config = {
          "lr": 1e-3,
          "batch_size_per_worker": 32,
          "epochs": epochs,
      }
      trainer = TorchTrainer(
          fashion_mnist_train_func,
          train_loop_config=config,
          scaling_config=ScalingConfig(
              num_workers=num_workers, use_gpu=True
          ),
      )
      results = trainer.fit()
  
      result = results.metrics
  
      assert result[TRAINING_ITERATION] == epochs
  
imports: import os
  from tempfile import TemporaryDirectory
  import pytest
  import torch
  from ray import train
  from ray.air.constants import TRAINING_ITERATION
  from ray.train import Checkpoint, ScalingConfig
  from ray.train.examples.horovod.horovod_example import train_func
  from ray.train.examples.pytorch.torch_fashion_mnist_example import train_func_per_worker
  from ray.train.examples.tf.tensorflow_mnist_example import train_func
  from ray.train.horovod.horovod_trainer import HorovodTrainer
  from ray.train.tensorflow.tensorflow_trainer import TensorflowTrainer
  from ray.train.tests.test_tune import torch_fashion_mnist, tune_tensorflow_mnist
  from ray.train.torch.torch_trainer import TorchTrainer
label_desc: Use image node_id 2 for calling a global function with example usage: test_torch_fashion_mnist_gpu(ray_start_4_cpus_2_gpus) without return types