阅读(4.1k) 书签 (0)

TensorFlow函数教程:tf.lite.OpHint

2019-03-27 17:33 更新

tf.lite.OpHint函数

类 OpHint

别名:

  • 类 tf.contrib.lite.OpHint
  • 类 tf.lite.OpHint

定义在:tensorflow/lite/python/op_hint.py

一个帮助构建tflite函数调用的类。

它允许你采取一堆TensorFlow操作并注释构造,以便toco知道如何将其转换为tflite。这在TensorFlow图中嵌入了一个伪函数。这允许在较低级别的TensorFlow实现中嵌入高级API使用信息,以便以后可以替换替代实现。

本质上,此伪操作中的任何“input”都被输入到标识中,并且属性在被构成伪操作的组成操作使用之前被添加到该输入。对从当前操作中导出的任何输出执行类似的过程。

__init__
__init__(
    function_name,
    **kwargs
)

创建一个OpHint。

参数:

  • function_name:函数的名称(tflite中的自定义操作名称)
  • **kwargs:函数的任何常量属性的关键字参数。

子类

class OpHintArgumentTracker

方法

add_input
add_input(
    *args,
    **kwargs
)

将包装的输入参数添加到提示中。

参数:

  • *args:输入张量。
  • **kwargs:
    • "tag":用于对要聚合的多个参数进行分组。就像'cool_input'这样的字符串。基本上可以将多个输入添加到最终将被组合的并行操作的相同提示中。一个例子是static_rnn,它创建状态或输入的多个副本。
    • “aggregate”:聚合策略,仅对标签不是none的有效。可接受的值为OpHint.AGGREGATE_FIRST,OpHint.AGGREGATE_LAST和OpHint.AGGREGATE_STACK。
    • “index_override”:要使用的全局索引。这对应于将生成的最终存根中的参数顺序。

返回:

包装的输入张量。

add_inputs
add_inputs(
    *args,
    **kwargs
)

向函数调用添加一系列输入。

参数:

  • *args:要转换的输入列表(应为Tf.Tensor)。
  • **kwargs:这允许“names”应该是名称列表。

返回:

包装的输入(具有附加元数据的身份标记)。这些也是tf.Tensor的。

add_output
add_output(
    *args,
    **kwargs
)

将一个包装的输出参数添加到提示中。

参数:

  • *args:输出张量。
  • **kwargs:
    • “tag”:一个标记,用于对要聚合的多个参数进行分组。就像'cool_input'这样的字符串。基本上可以将多个输入添加到最终将被组合的并行操作的相同提示中。一个例子是static_rnn,它创建状态或输入的多个副本。
    • “aggregate”:聚合策略,仅对标签不是none的有效。可接受的值为OpHint.AGGREGATE_FIRST,OpHint.AGGREGATE_LAST和OpHint.AGGREGATE_STACK。
    • “index_override”:要使用的全局索引。这对应于将生成的最终存根中的参数顺序。

返回:

包装的输出张量。

add_outputs
add_outputs(
    *args,
    **kwargs
)

将一系列输出添加到函数调用中。

参数:

  • *args:要转换的输出列表(应为tf.Tensor)。

返回:

包装的输出(具有附加元数据的标识站)。这些也是tf.Tensor的。

类成员

AGGREGATE_FIRST
AGGREGATE_LAST
AGGREGATE_STACK
FUNCTION_AGGREGATE_ATTR
FUNCTION_INPUT_INDEX_ATTR
FUNCTION_NAME_ATTR
FUNCTION_OUTPUT_INDEX_ATTR
FUNCTION_SORT_INDEX_ATTR
FUNCTION_UUID_ATTR
TFLITE_INPUT_INDICES