def METHOD_NAME(
    tf_dtype: tf.DType,
) -> str:
    """
    Convert the given tensorflow data type to MLRun data type. All the CUDA supported data types are supported.
    For more information regarding tensorflow data types,
    visit: https://www.tensorflow.org/api_docs/python/tf/dtypes
    :param tf_dtype: The tensorflow data type to convert to MLRun's data type. Expected to be a 'tensorflow.dtype'
                     or 'str'.
    :return: The MLRun value type converted from the given data type.
    :raise MLRunInvalidArgumentError: If the tensorflow data type is not supported by MLRun.
    """
    # Initialize the tensorflow to mlrun data type conversion map:
    conversion_map = {
        tf.bool.name: ValueType.BOOL,
        tf.int8.name: ValueType.INT8,
        tf.int16.name: ValueType.INT16,
        tf.int32.name: ValueType.INT32,
        tf.int64.name: ValueType.INT64,
        tf.uint8.name: ValueType.UINT8,
        tf.uint16.name: ValueType.UINT16,
        tf.uint32.name: ValueType.UINT32,
        tf.uint64.name: ValueType.UINT64,
        tf.bfloat16.name: ValueType.BFLOAT16,
        tf.half.name: ValueType.FLOAT16,
        tf.float16.name: ValueType.FLOAT16,
        tf.float32.name: ValueType.FLOAT,
        tf.double.name: ValueType.DOUBLE,
        tf.float64.name: ValueType.DOUBLE,
    }
    # Parse the given tensorflow data type to string:
    if isinstance(tf_dtype, tf.DType):
        tf_dtype = tf_dtype.name
    # Convert and return:
    if tf_dtype in conversion_map:
        return conversion_map[tf_dtype]
    raise mlrun.errors.MLRunInvalidArgumentError(
        f"MLRun value type is not supporting the given tensorflow data type: '{tf_dtype}'."
    )