class_docstr: Base class for distributed execution of functions/methods. Contains common
  methods needed for DistributedTest and DistributedFixture.
class_docstr_tok: ["Base","class","for","distributed","execution","of","functions\/methods",".","Contains","common","methods","needed","for","DistributedTest","and","DistributedFixture","."]
code: def _get_fixture_kwargs(self, request, func):
      if not request:
          return {}
      # Grab fixture / parametrize kwargs from pytest request object
      fixture_kwargs = {}
      params = inspect.getfullargspec(func).args
      params.remove("self")
      for p in params:
          try:
              fixture_kwargs[p] = request.getfixturevalue(p)
          except FixtureLookupError:
              pass  # test methods can have kwargs that are not fixtures
      return fixture_kwargs
  
imports: import os
  import time
  import inspect
  from abc import ABC, abstractmethod
  from pathlib import Path
  import torch
  import torch.multiprocessing
  import deepspeed
  import deepspeed.comm
  from torch.multiprocessing import Process
  import pytest
  from _pytest.outcomes import Skipped
  from _pytest.fixtures import FixtureLookupError, FixtureFunctionMarker
label_desc: Use image node_id 3 for calling the DistributedExec obj's underlying member method code with example usage: obj._get_fixture_kwargs(request, func) and returns: fixture_kwargs, dict