code: def test_input_with_skip_tokens(self):
      tokenizer = DummyTokenizer(["a", "b", "c"])
  
      # int skip tokens
      tt_input = TextTokenInput("a c d", tokenizer, skip_tokens=[0])
  
      expected_tensor = torch.tensor([[1.0] * 2])
      assertTensorAlmostEqual(
          self, tt_input.to_tensor(), expected_tensor
      )
  
      expected_model_inp = torch.tensor([[0, 2, tokenizer.unk_idx]])
      assertTensorAlmostEqual(
          self, tt_input.to_model_input(), expected_model_inp
      )
  
      perturbed_tensor = torch.tensor([[0.0, 0.0]])
      expected_perturbed_inp = torch.tensor([[0, 0, 0]])
      assertTensorAlmostEqual(
          self,
          tt_input.to_model_input(perturbed_tensor),
          expected_perturbed_inp,
      )
  
      # str skip tokens
      tt_input = TextTokenInput("a c d", tokenizer, skip_tokens=["a"])
      assertTensorAlmostEqual(
          self, tt_input.to_tensor(), expected_tensor
      )
      assertTensorAlmostEqual(
          self, tt_input.to_model_input(), expected_model_inp
      )
      assertTensorAlmostEqual(
          self,
          tt_input.to_model_input(perturbed_tensor),
          expected_perturbed_inp,
      )
  
file_path: captum/tests/attr/test_interpretable_input.py
imports: import torch
  from captum.attr._utils.interpretable_input import TextTemplateInput, TextTokenInput
  from parameterized import parameterized
  from tests.helpers.basic import assertTensorAlmostEqual, BaseTest
label_desc: Use image node_id 3 for calling the TestTextTokenInput obj's underlying member method code with example usage: obj.test_input_with_skip_tokens() without return types