Table of Contents
Shortcuts

# torch.jit.isinstance

torch.jit.isinstance(obj, target_type)

  This function provides for container type refinement in TorchScript. It can refine parameterized containers of the List, Dict, Tuple, and Optional types. E.g. `List[str]`, `Dict[str, List[torch.Tensor]]`, `Optional[Tuple[int,str,int]]`. It can also refine basic types such as bools and ints that are available in TorchScript.

  Parameters:

    - obj – object to refine the type of

    - target_type – type to try to refine obj to

  Returns:

    True if obj was successfully refined to the type of target_type,

      False otherwise with no new type refinement

  Return type:

    `bool`

  Example (using `torch.jit.isinstance` for type refinement): .. testcode:

      import torch
      from typing import Any, Dict, List

      class MyModule(torch.nn.Module):
          def __init__(self):
              super().__init__()

          def forward(self, input: Any): # note the Any type
              if torch.jit.isinstance(input, List[torch.Tensor]):
                  for t in input:
                      y = t.clamp(0, 0.5)
              elif torch.jit.isinstance(input, Dict[str, str]):
                  for val in input.values():
                      print(val)

      m = torch.jit.script(MyModule())
      x = [torch.rand(3,3), torch.rand(4,3)]
      m(x)
      y = {"key1":"val1","key2":"val2"}
      m(y)

## Docs

Access comprehensive developer documentation for PyTorch

View Docs

## Tutorials

Get in-depth tutorials for beginners and advanced developers

View Tutorials

## Resources

Find development resources and get your questions answered

View Resources

To analyze traffic and optimize your experience, we serve cookies on this site. By clicking or navigating, you agree to allow our usage of cookies. As the current maintainers of this site, Facebook’s Cookies Policy applies. Learn more, including about available controls: Cookies Policy.