class_docstr: This transform does the following, for each valid op and if the "op_selector" return True:
  - For each input of dtype float32, inject a "cast" op to change it to float16 dtype
  - For each output of dtype float16, inject a "cast" op to change it back to float32
class_docstr_tok: ["This","transform","does","the","following",",","for","each","valid","op","and","if","the","``","op_selector","''","return","True",":","-","For","each","input","of","dtype","float32",",","inject","a","``","cast","''","op","to","change","it","to","float16","dtype","-","For","each","output","of","dtype","float16",",","inject","a","``","cast","''","op","to","change","it","back","to","float32"]
code: def target_dtype(self) -> str:
      return "fp16"
  
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 FP16ComputePrecision obj's underlying member method code with example usage: obj.target_dtype() and returns: str