code: def _create_extract_features_config_head(
      checkpoint_path: str, num_gpu: int = 2
  ):
      cfg = compose_hydra_configuration(
          [
              "config=feature_extraction/extract_resnet_in1k_8gpu",
              "+config/feature_extraction/with_head=rn50_swav",
              f"config.MODEL.WEIGHTS_INIT.PARAMS_FILE={checkpoint_path}",
              "config.DATA.TRAIN.DATA_SOURCES=[synthetic]",
              "config.DATA.TRAIN.LABEL_SOURCES=[synthetic]",
              "config.DATA.TEST.DATA_SOURCES=[synthetic]",
              "config.DATA.TEST.LABEL_SOURCES=[synthetic]",
              "config.DATA.TRAIN.DATA_LIMIT=40",
              "config.DATA.TEST.DATA_LIMIT=20",
              "config.SEED_VALUE=0",
              f"config.DISTRIBUTED.NUM_PROC_PER_NODE={num_gpu}",
              "config.OPTIMIZER.construct_single_param_group_only=True",
              "config.DATA.TRAIN.BATCHSIZE_PER_REPLICA=4",
              "config.DATA.TEST.BATCHSIZE_PER_REPLICA=2",
              "config.EXTRACT_FEATURES.CHUNK_THRESHOLD=0",
          ]
      )
      args, config = convert_to_attrdict(cfg)
      return config
  
file_path: vissl/tests/test_extract_features.py
imports: import os
  import unittest
  import torch
  from vissl.utils.extract_features_utils import ExtractedFeaturesLoader
  from vissl.utils.hydra_config import compose_hydra_configuration, convert_to_attrdict
  from vissl.utils.misc import merge_features
  from vissl.utils.test_utils import gpu_test, in_temporary_directory, run_integration_test
label_desc: Use image node_id 2 for calling the TestExtractClusterWorkflow obj's underlying member method code with example usage: obj._create_extract_features_config_head(checkpoint_path, num_gpu) and returns: config