加载器

模块:polygraphy.backend.tf

class OptimizeGraph(graph)[source]

基类: BaseLoader

冻结 TensorFlow 图并折叠常量的仿函数。

冻结 TensorFlow 图并折叠常量。

参数:

graph (Union[Tuple[tf.Graph, Sequence[str]], Callable() -> Tuple[tf.Graph, Sequence[str]]]) – 包含 TensorFlow 图和输出名称的元组,或返回该元组的可调用对象。

call_impl()[source]
返回值:

TensorFlow 图及其输出的名称。

返回类型:

Tuple[tf.Graph, Sequence[str]]

__call__(*args, **kwargs)

通过将参数转发到 call_impl 来调用加载器。

注意: call_impl 不应直接调用 - 请改用此函数。

optimize_graph(graph)

OptimizeGraph 的立即求值函数变体。

冻结 TensorFlow 图并折叠常量。

参数:

graph (Union[Tuple[tf.Graph, Sequence[str]], Callable() -> Tuple[tf.Graph, Sequence[str]]]) – 包含 TensorFlow 图和输出名称的元组,或返回该元组的可调用对象。

返回值:

TensorFlow 图及其输出的名称。

返回类型:

Tuple[tf.Graph, Sequence[str]]

class GraphFromKeras(path)[source]

基类: BaseLoader

从 Keras 加载 TensorFlow 模型的仿函数。

从 Keras 加载 TensorFlow 模型。

参数:

path (Union[str, h5py.File]) – 已保存模型的路径或文件对象。

call_impl()[source]
返回值:

TensorFlow 图及其输出的名称。

返回类型:

Tuple[tf.Graph, Sequence[str]]

__call__(*args, **kwargs)

通过将参数转发到 call_impl 来调用加载器。

注意: call_impl 不应直接调用 - 请改用此函数。

graph_from_keras(path)

GraphFromKeras 的立即求值函数变体。

从 Keras 加载 TensorFlow 模型。

参数:

path (Union[str, h5py.File]) – 已保存模型的路径或文件对象。

返回值:

TensorFlow 图及其输出的名称。

返回类型:

Tuple[tf.Graph, Sequence[str]]

class GraphFromFrozen(path)[source]

基类: BaseLoader

加载 TensorFlow 冻结模型的仿函数。

加载 TensorFlow 冻结模型。

参数:

path (Union[str, tf.Graph, tf.GraphDef]) – 冻结模型的路径,或冻结的 TensorFlow 图或 graphdef。

call_impl()[source]
返回值:

TensorFlow 图及其输出的名称。

返回类型:

Tuple[tf.Graph, Sequence[str]]

__call__(*args, **kwargs)

通过将参数转发到 call_impl 来调用加载器。

注意: call_impl 不应直接调用 - 请改用此函数。

graph_from_frozen(path)

GraphFromFrozen 的立即求值函数变体。

加载 TensorFlow 冻结模型。

参数:

path (Union[str, tf.Graph, tf.GraphDef]) – 冻结模型的路径,或冻结的 TensorFlow 图或 graphdef。

返回值:

TensorFlow 图及其输出的名称。

返回类型:

Tuple[tf.Graph, Sequence[str]]

class GraphFromCkpt(dir, name=None)[source]

基类: BaseLoader

从检查点加载 TensorFlow 模型的仿函数。 请注意,为了使用检查点,您必须_不_在 Comparator 中使用子进程。

从检查点加载 TensorFlow 模型。

参数:
  • dir (str) – 包含检查点的目录的路径。

  • name (str) – 要加载的检查点的名称,不包括文件扩展名。 例如,要加载 model.meta,参数应为 model

call_impl()[source]
返回值:

TensorFlow 图及其输出的名称。

返回类型:

Tuple[tf.Graph, Sequence[str]]

__call__(*args, **kwargs)

通过将参数转发到 call_impl 来调用加载器。

注意: call_impl 不应直接调用 - 请改用此函数。

graph_from_ckpt(dir, name=None)

GraphFromCkpt 的立即求值函数变体。

从检查点加载 TensorFlow 模型。

参数:
  • dir (str) – 包含检查点的目录的路径。

  • name (str) – 要加载的检查点的名称,不包括文件扩展名。 例如,要加载 model.meta,参数应为 model

返回值:

TensorFlow 图及其输出的名称。

返回类型:

Tuple[tf.Graph, Sequence[str]]

class UseTfTrt(graph, max_workspace_size=None, fp16=None, int8=None, max_batch_size=None, is_dynamic_op=False, minimum_segment_size=None)[source]

基类: BaseLoader

[未测试] 使用 TF-TRT 优化 TensorFlow 模型的仿函数。

使用 TF-TRT 优化 TensorFlow 模型。

参数:
  • graph (Union[Tuple[tf.Graph, Sequence[str]], Callable() -> Tuple[tf.Graph, Sequence[str]]]) – 包含 TensorFlow 图和输出名称的元组,或返回该元组的可调用对象。

  • max_workspace_size (int) – 最大工作区大小。

  • fp16 (bool) – 是否以 FP16 模式运行。

  • max_batch_size (int) – 最大批大小。

call_impl()[source]
返回值:

TensorFlow 图及其输出的名称。

返回类型:

Tuple[tf.Graph, Sequence[str]]

__call__(*args, **kwargs)

通过将参数转发到 call_impl 来调用加载器。

注意: call_impl 不应直接调用 - 请改用此函数。

use_tf_trt(graph, max_workspace_size=None, fp16=None, int8=None, max_batch_size=None, is_dynamic_op=False, minimum_segment_size=None)

UseTfTrt 的立即求值函数变体。

使用 TF-TRT 优化 TensorFlow 模型。

参数:
  • graph (Union[Tuple[tf.Graph, Sequence[str]], Callable() -> Tuple[tf.Graph, Sequence[str]]]) – 包含 TensorFlow 图和输出名称的元组,或返回该元组的可调用对象。

  • max_workspace_size (int) – 最大工作区大小。

  • fp16 (bool) – 是否以 FP16 模式运行。

  • max_batch_size (int) – 最大批大小。

返回值:

TensorFlow 图及其输出的名称。

返回类型:

Tuple[tf.Graph, Sequence[str]]

class ModifyGraphOutputs(graph, outputs=None)[source]

基类: BaseLoader

修改 TensorFlow 图输出的仿函数。

修改 TensorFlow 图的输出。

参数:
  • graph (Union[Tuple[tf.Graph, Sequence[str]], Callable() -> Tuple[tf.Graph, Sequence[str]]]) – 包含 TensorFlow 图和输出名称的元组,或返回该元组的可调用对象。

  • outputs (List[str]) – 输出张量的名称。 如果提供,这将覆盖加载器确定的输出。 如果使用值 constants.MARK_ALL 而不是列表,则网络中的所有张量都将被标记。

call_impl()[source]
返回值:

TensorFlow 图及其输出的名称。

返回类型:

Tuple[tf.Graph, Sequence[str]]

__call__(*args, **kwargs)

通过将参数转发到 call_impl 来调用加载器。

注意: call_impl 不应直接调用 - 请改用此函数。

modify_graph_outputs(graph, outputs=None)

ModifyGraphOutputs 的立即求值函数变体。

修改 TensorFlow 图的输出。

参数:
  • graph (Union[Tuple[tf.Graph, Sequence[str]], Callable() -> Tuple[tf.Graph, Sequence[str]]]) – 包含 TensorFlow 图和输出名称的元组,或返回该元组的可调用对象。

  • outputs (List[str]) – 输出张量的名称。 如果提供,这将覆盖加载器确定的输出。 如果使用值 constants.MARK_ALL 而不是列表,则网络中的所有张量都将被标记。

返回值:

TensorFlow 图及其输出的名称。

返回类型:

Tuple[tf.Graph, Sequence[str]]

class SaveGraph(graph, path=None, tensorboard_dir=None, engine_dir=None)[source]

基类: BaseLoader

写入 TensorFlow 图中的工件的仿函数。

写入 TensorFlow 图中的工件。

参数:
  • graph (Union[Tuple[tf.Graph, Sequence[str]], Callable() -> Tuple[tf.Graph, Sequence[str]]]) – 包含 TensorFlow 图和输出名称的元组,或返回该元组的可调用对象。

  • path (str) – 保存冻结 graphdef 的路径。

  • tensorboard_dir (str) – 写入 TensorBoard 可视化的目录。

  • engine_dir (str) – 保存 TF-TRT 引擎的目录。

call_impl()[source]
返回值:

TensorFlow 图及其输出的名称。

返回类型:

Tuple[tf.Graph, Sequence[str]]

__call__(*args, **kwargs)

通过将参数转发到 call_impl 来调用加载器。

注意: call_impl 不应直接调用 - 请改用此函数。

save_graph(graph, path=None, tensorboard_dir=None, engine_dir=None)

SaveGraph 的立即求值函数变体。

写入 TensorFlow 图中的工件。

参数:
  • graph (Union[Tuple[tf.Graph, Sequence[str]], Callable() -> Tuple[tf.Graph, Sequence[str]]]) – 包含 TensorFlow 图和输出名称的元组,或返回该元组的可调用对象。

  • path (str) – 保存冻结 graphdef 的路径。

  • tensorboard_dir (str) – 写入 TensorBoard 可视化的目录。

  • engine_dir (str) – 保存 TF-TRT 引擎的目录。

返回值:

TensorFlow 图及其输出的名称。

返回类型:

Tuple[tf.Graph, Sequence[str]]

class CreateConfig(gpu_memory_fraction=None, allow_growth=None, use_xla=None)[source]

基类: BaseLoader

创建 TensorFlow 配置的仿函数。

创建 TensorFlow 配置。

参数:
  • gpu_memory_fraction (float) – 将提供给 TensorFlow 的 GPU 内存的比例。 这应该是一个介于 0.0 和 1.0 之间的值。

  • allow_growth (bool) – 是否允许 TensorFlow 分配的 GPU 内存增长。

  • use_xla (bool) – 是否尝试启用 XLA。

call_impl()[source]
返回值:

TensorFlow 配置。

返回类型:

tf.ConfigProto

__call__(*args, **kwargs)

通过将参数转发到 call_impl 来调用加载器。

注意: call_impl 不应直接调用 - 请改用此函数。

create_config(gpu_memory_fraction=None, allow_growth=None, use_xla=None)

CreateConfig 的立即求值函数变体。

创建 TensorFlow 配置。

参数:
  • gpu_memory_fraction (float) – 将提供给 TensorFlow 的 GPU 内存的比例。 这应该是一个介于 0.0 和 1.0 之间的值。

  • allow_growth (bool) – 是否允许 TensorFlow 分配的 GPU 内存增长。

  • use_xla (bool) – 是否尝试启用 XLA。

返回值:

TensorFlow 配置。

返回类型:

tf.ConfigProto

class SessionFromGraph(graph, config=None)[source]

基类: BaseLoader

创建可用于推理的 TensorFlow 会话的仿函数。

创建 TensorFlow 会话。

参数:
  • graph (Union[Tuple[tf.Graph, Sequence[str]], Callable() -> Tuple[tf.Graph, Sequence[str]]]) – 包含 TensorFlow 图和输出名称的元组,或返回该元组的可调用对象。

  • config (Union[tf.ConfigProto, Callable() -> tf.ConfigProto]) – TensorFlow ConfigProto 或返回 ConfigProto 的可调用对象。

call_impl()[source]
返回值:

TensorFlow 会话。

返回类型:

tf.Session

__call__(*args, **kwargs)

通过将参数转发到 call_impl 来调用加载器。

注意: call_impl 不应直接调用 - 请改用此函数。

session_from_graph(graph, config=None)

SessionFromGraph 的立即求值函数变体。

创建 TensorFlow 会话。

参数:
  • graph (Union[Tuple[tf.Graph, Sequence[str]], Callable() -> Tuple[tf.Graph, Sequence[str]]]) – 包含 TensorFlow 图和输出名称的元组,或返回该元组的可调用对象。

  • config (Union[tf.ConfigProto, Callable() -> tf.ConfigProto]) – TensorFlow ConfigProto 或返回 ConfigProto 的可调用对象。

返回值:

TensorFlow 会话。

返回类型:

tf.Session