脚本接口
模块: polygraphy.tools.script
- safe(base_str, *args, **kwargs)[source]
表示字符串可以安全使用,不会危及安全性。
注意:调用者负责检查字符串实际上是安全的。此函数仅用于将字符串标记为安全。
也可以使用格式化字符串。例如
>>> safe("{} is my name", "polygraphy") "'polygraphy' is my name"
- inline(inp)[source]
将安全字符串标记为内联,以便与其他 Script API 一起使用。非内联字符串在使用任何这些 API 时仍将保持字符串形式。例如
>>> make_invocable("print", safe("example")) "print('example')" >>> make_invocable("print", inline(safe("example"))) "print(example)"
- 参数:
inp (Script.String) – 要内联的安全字符串。
- make_invocable(type_str, *args, **kwargs)[source]
创建将使用指定参数调用指定对象的字符串表示形式。
- 参数:
type_str (str) – 表示应调用的对象的字符串。
args – 传递给对象的参数。如果关键字参数设置为 None,则会省略。
kwargs – 传递给对象的参数。如果关键字参数设置为 None,则会省略。
- 返回值:
调用指定对象的字符串表示形式。
- 返回类型:
str
例如
>>> make_invocable("MyClass", 0, 1, last=3) "MyClass(0, 1, last=3)" >>> make_invocable("my_func", 0, 1, last=None) "my_func(0, 1)"
- make_invocable_if_nondefault(type_str, *args, **kwargs)[source]
类似于 make_invocable,但如果所有参数都是
None
,则返回None
。例如
>>> make_invocable_if_nondefault("MyClass", 0, 1, last=3) "MyClass(0, 1, last=3)" >>> make_invocable_if_nondefault("my_func", None, None, last=None) None
- make_invocable_if_nondefault_kwargs(type_str, *args, **kwargs)[source]
类似于 make_invocable_if_nondefault,但即使位置参数不是
None
,如果所有关键字参数都是None
,则返回None
。例如
>>> make_invocable_if_nondefault("MyClass", 0, 1, last=3) "MyClass(0, 1, last=3)" >>> make_invocable_if_nondefault("my_func", 0, 1, last=None) None
- class Script(summary=None, always_create_runners=True)[source]
基类:
object
表示使用 Polygraphy API 的 Python 脚本。
- 参数:
summary (str) – 脚本功能的摘要,将作为注释包含在脚本中。
always_create_runners (bool) – 即使运行器列表为空,是否创建运行器列表。
- add_import(imports, frm=None, imp_as=None)[source]
向此脚本添加导入。
例如
script.add_import("numpy") # Equivalent to: import numpy script.add_import("numpy", imp_as="np") # Equivalent to: import numpy as np script.add_import("TrtRunner", frm="polygraphy.backend.trt") # Equivalent to: from polygraphy.backend.trt import TrtRunner
- 参数:
imports (Union[str, List[str]]) – 要导入的对象/子模块或对象/子模块列表。
frm (str) – 从哪个模块导入。
imp_as (str) – 导入时使用的名称。当指定此项时,
imports
必须是字符串而不是列表。
- set_data_loader(data_loader_str)[source]
向此脚本添加数据加载器,覆盖任何先前的数据加载器。
- 参数:
data_loader_str (str) – 构造数据加载器的字符串。
- 返回值:
脚本中数据加载器的名称;如果提供的数据加载器为空,则为 None。
- 返回类型:
str
- add_loader(loader_str, loader_id)[source]
向脚本添加加载器。如果加载器重复,则返回现有加载器。
- 参数:
loader_str (str) – 构造加载器的字符串。出于安全原因,这必须使用
make_invocable
或make_invocable_if_nondefault
生成。loader_id (str) – 加载器的简短人类可读标识符。
- 返回值:
添加的加载器的名称。
- 返回类型:
str