class_docstr: Base class for all type casting related quantization, such as fp32->fp16, int32->int16, etc.
  
  For each valid op, if the "op_selector" return True:
  - For each input with dtype `origin_dtype`, inject a "cast" op to change it to `target_dtype`.
  - For each output with dtype `target_dtype`, inject a "cast" op to change it back to `origin_dtype`.
  All child classes need to specify `origin_dtype` and `target_dtype`.
class_docstr_tok: ["Base","class","for","all","type","casting","related","quantization",",","such","as","fp32-",">","fp16",",","int32-",">","int16",",","etc",".","For","each","valid","op",",","if","the","``","op_selector","''","return","True",":","-","For","each","input","with","dtype","`","origin_dtype","`",",","inject","a","``","cast","''","op","to","change","it","to","`","target_dtype","`",".","-","For","each","output","with","dtype","`","target_dtype","`",",","inject","a","``","cast","''","op","to","change","it","back","to","`","origin_dtype","`",".","All","child","classes","need","to","specify","`","origin_dtype","`","and","`","target_dtype","`","."]
docstr: Target dtype, such as fp16.
docstr_tok: ["Target","dtype",",","such","as","fp16","."]
code: def target_dtype(self) -> str:
      """Target dtype, such as fp16."""
      raise NotImplementedError(
          "target_dtype must be specified in subclass."
      )
  
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 3 for calling the CastTypeQuantization obj's underlying member method code with example usage: obj.target_dtype() without return types