class_docstr: This transform does the following, for each op that supports int16:
  - For each input of dtype int32 which actually supports int16, inject a "cast" op to change it
    to int16 dtype.
  - For each output of dtype int16, inject a "cast" op to change it back to int32.
  It's mainly for int16 op ANE residency.
class_docstr_tok: ["This","transform","does","the","following",",","for","each","op","that","supports","int16",":","-","For","each","input","of","dtype","int32","which","actually","supports","int16",",","inject","a","``","cast","''","op","to","change","it","to","int16","dtype",".","-","For","each","output","of","dtype","int16",",","inject","a","``","cast","''","op","to","change","it","back","to","int32",".","It","'s","mainly","for","int16","op","ANE","residency","."]
code: def __init__(self, op_selector=None):
      super().__init__(op_selector=op_selector)
  
imports: from abc import abstractmethod
  from enum import Enum
  from typing import Set, Text
  import numpy
  from coremltools.converters.mil._deployment_compatibility import AvailableTarget
  from coremltools.converters.mil.mil import Builder
  from coremltools.converters.mil.mil import Operation, types
  from coremltools.converters.mil.mil.block import is_current_opset_version_compatible_with
  from coremltools.converters.mil.mil.ops.registry import SSAOpRegistry
  from coremltools.converters.mil.mil.passes.graph_pass import AbstractGraphPass
  from coremltools.converters.mil.mil.passes.helper import block_context_manager
  from coremltools.converters.mil.mil.passes.pass_registry import register_pass
  from coremltools.converters.mil.mil.program import Program
  from coremltools.converters.mil.mil.types.symbolic import is_symbolic
label_desc: Use image node_id 1 to create a new add_int16_cast object from inherited base classes: CastTypeQuantization with example: obj = add_int16_cast(op_selector)