code: def test_softmax_classification_batch_multi_target(self) -> None:
      num_in = 40
      inputs = torch.arange(
          0.0, num_in * 3.0, requires_grad=True
      ).reshape(3, num_in)
      baselines = torch.arange(1.0, num_in + 1).reshape(1, num_in)
      model = SoftmaxDeepLiftModel(num_in, 20, 10)
      dl = DeepLift(model)
  
      self.softmax_classification(
          model, dl, inputs, baselines, torch.tensor([2, 2, 2])
      )
  
imports: from typing import Union
  import torch
  from captum._utils.typing import TargetType
  from captum.attr._core.deep_lift import DeepLift, DeepLiftShap
  from captum.attr._core.integrated_gradients import IntegratedGradients
  from tests.helpers.basic import assertAttributionComparision, BaseTest
  from tests.helpers.basic_models import BasicModel_ConvNet, BasicModel_ConvNet_MaxPool1d, BasicModel_ConvNet_MaxPool3d
  from tests.helpers.classification_models import SigmoidDeepLiftModel, SoftmaxDeepLiftModel
  from torch import Tensor
  from torch.nn import Module
label_desc: Use image node_id 4 for calling the Test obj's underlying member method code with example usage: obj.test_softmax_classification_batch_multi_target() without return types