code: def valid_data_type(self, mace_op, mace_net):
      arg = NetUtil.get_arg(mace_op, MaceKeyword.mace_op_data_type_str)
      mace_check(
          arg is not None, "mace_op should has a explicit data type"
      )
      if self._data_type == mace_pb2.DT_FLOAT:
          return (
              arg.i == mace_pb2.DT_FLOAT
              or arg.i == mace_pb2.DT_BFLOAT16
          )
      else:
          return arg.i == self._data_type
  
imports: from enum import Enum
  from py_proto import mace_pb2
  from transform.base_converter import MaceKeyword
  from transform.base_converter import MaceOp
  from utils.config_parser import DataFormat
  from utils.config_parser import ModelKeys
  from utils.config_parser import Platform
  from utils.util import mace_check
  from utils.net_util import NetUtil
label_desc: Use image node_id 6 for calling the MicroOPSResolverRule obj's underlying member method code with example usage: obj.valid_data_type(mace_op, mace_net) and returns: unknown, unknown