code: def test_soft_distillation(self) -> None:
      with in_temporary_directory() as pretrain_dir:
          # Run a pre-training to have some weights to being with
          pretrain_config = self._create_pretraining_config(num_gpu=2)
          run_integration_test(pretrain_config)
          checkpoint_path = os.path.join(
              pretrain_dir, "checkpoint.torch"
          )
  
          # Create a separate directly in which to run the soft distillation
          with in_temporary_directory():
              finetune_config = self._create_distillation_config(
                  checkpoint_path=checkpoint_path, num_gpu=2
              )
              result = run_integration_test(finetune_config)
              losses = result.get_losses()
              print(losses)
  
file_path: vissl/tests/test_distillation.py
imports: import os
  import unittest
  from hydra.experimental import compose, initialize_config_module
  from vissl.utils.hydra_config import convert_to_attrdict
  from vissl.utils.test_utils import gpu_test, in_temporary_directory, run_integration_test
label_desc: Use image node_id 3 for calling the TestDistillation obj's underlying member method code with example usage: obj.test_soft_distillation() without return types