NVIDIA Holoscan SDK v2.9.0

holoscan.decorator

SPDX-FileCopyrightText: 版权所有 (c) 2024-2025 NVIDIA CORPORATION & AFFILIATES。保留所有权利。SPDX-许可证标识符:Apache-2.0

根据 Apache 许可证 2.0 版(“许可证”)获得许可;除非遵守许可证,否则您不得使用此文件。您可以在以下位置获取许可证副本:

https://apache.ac.cn/licenses/LICENSE-2.0

除非适用法律要求或书面同意,否则根据许可证分发的软件按“现状”分发,不附带任何形式的明示或暗示的保证或条件。有关许可证下特定语言的管理权限和限制,请参阅许可证。

class holoscan.decorator.Input(name: str, arg_map: typing.Optional[typing.Union[str, dict[str, str]]] = (), condition_type: typing.Optional[holoscan.core._core.ConditionType] = None, condition_kwargs: dict[str, typing.Any] = <factory>, connector_type: typing.Optional[holoscan.core._core.IOSpec.ConnectorType] = None, connector_kwargs: dict[str, typing.Any] = <factory>)

基类:object

用于指定输入端口以及接收值如何映射到函数参数的类。

参数
namestr

输入端口的名称。

arg_map: str 或 dict[str, str]

如果 arg_map 是 str,则输入端口接收的 Python 对象将传递给 arg_map 指定的函数参数。如果 arg_map 是 dict,则假定输入为 TensorMap(张量字典)。在这种情况下,dict 的键是张量名称,值是将张量映射到的函数参数的名称。

condition_typeholoscan.core.ConditionType,可选

输入端口的条件类型。

condition_kwargsdict[str, Any],可选

传递给 condition_type 指定的条件的关键字。

connector_typeholoscan.core.IOSpec.ConnectorType,可选

输入端口的连接器类型。

connector_kwargsdict[str, Any],可选

传递给 connector_type 指定的连接器的关键字。

属性

condition_type
connector_type

方法

create_input

__init__(name: str, arg_map: typing.Optional[typing.Union[str, dict[str, str]]] = (), condition_type: typing.Optional[holoscan.core._core.ConditionType] = None, condition_kwargs: dict[str, typing.Any] = <factory>, connector_type: typing.Optional[holoscan.core._core.IOSpec.ConnectorType] = None, connector_kwargs: dict[str, typing.Any] = <factory>) → None
arg_map: Optional[Union[str, dict[str, str]]] = ()
condition_kwargs: dict[str, Any]
condition_type: Optional[holoscan.core._core.ConditionType] = None
connector_kwargs: dict[str, Any]
connector_type: Optional[holoscan.core._core.IOSpec.ConnectorType] = None
create_input(spec: holoscan.core._core.PyOperatorSpec)holoscan.core._core.IOSpec
name: str
class holoscan.decorator.Output(name: str, tensor_names: typing.Optional[typing.Union[str, tuple[str]]] = (), condition_type: typing.Optional[holoscan.core._core.ConditionType] = None, condition_kwargs: dict[str, typing.Any] = <factory>, connector_type: typing.Optional[holoscan.core._core.IOSpec.ConnectorType] = None, connector_kwargs: dict[str, typing.Any] = <factory>)

基类:object

用于指定输出端口以及一个或多个函数返回值如何映射到它的类。

参数
namestr

输出端口的名称。

tensor_names: str,tuple(str) 或 None

如果为 None,则 func 输出的任何 Python 对象都将在输出端口上发出。如果提供字符串元组,则假定 func 返回张量字典。元组中的名称指定将要在输出端口上传输的字典中的张量。如果要传输函数返回的字典中的所有张量,则无需指定 tensor_names。对于单个张量名称,可以提供字符串而不是元组。

condition_typeholoscan.core.ConditionType,可选

输入端口的条件类型。

condition_kwargsdict[str, Any],可选

传递给 condition_type 指定的条件的关键字。

connector_typeholoscan.core.IOSpec.ConnectorType,可选

输入端口的连接器类型。

connector_kwargsdict[str, Any],可选

传递给 connector_type 指定的连接器的关键字。

属性

condition_type
connector_type

方法

create_output

__init__(name: str, tensor_names: typing.Optional[typing.Union[str, tuple[str]]] = (), condition_type: typing.Optional[holoscan.core._core.ConditionType] = None, condition_kwargs: dict[str, typing.Any] = <factory>, connector_type: typing.Optional[holoscan.core._core.IOSpec.ConnectorType] = None, connector_kwargs: dict[str, typing.Any] = <factory>) → None
condition_kwargs: dict[str, Any]
condition_type: Optional[holoscan.core._core.ConditionType] = None
connector_kwargs: dict[str, Any]
connector_type: Optional[holoscan.core._core.IOSpec.ConnectorType] = None
create_output(spec: holoscan.core._core.PyOperatorSpec)holoscan.core._core.IOSpec
name: str
tensor_names: Optional[Union[str, tuple[str]]] = ()
holoscan.decorator.create_op(function_or_class=None, inputs: Union[str, holoscan.decorator.Input, tuple[Union[str, holoscan.decorator.Input]]] = (), outputs: Union[str, holoscan.decorator.Output, tuple[Union[str, holoscan.decorator.Output]]] = (), cast_tensors=True)

用于从函数或类创建运算符的装饰器。

当装饰器用于类时,该类必须具有一个 __call__ 方法,该方法将用作运算符函数。

inputsstr、Input 或 Tuple[str | Input],可选

如果提供 str,则假定它是输入端口的名称,并且该函数具有与该端口名称匹配的变量,接收端口上的对象将连接到该变量。如果端口名称与函数签名中变量的名称不匹配,或者如果有多个张量要映射到多个对象,请使用 Input 参数。可以提供 str 或 Input 对象元组来指定多个输入端口。默认为空元组,表示没有输入端口。

outputsstr、Output 或 Tuple[str | Output],可选

如果提供 str,则函数返回的任何值都将在该名称的输出端口上发出。如果提供多个 str 的元组,并且函数返回元组,则元组元素将按照定义的顺序从每个输出端口发出。在这种情况下,输出端口的数量应与输出元组的长度匹配。最后,如果函数返回应跨多个端口拆分的输出数组字典,则可以提供 Output 对象。

cast_tensorsbool,可选

如果为 True,则自动将任何类似张量的输入转换为 NumPy 或 CuPy 数组(分别用于主机和设备张量)。如果设置为 False,则这些将保留为 holoscan.Tensor,用户将不得不在装饰函数或类的正文中强制转换为所需的类型。

注释

需要使用 InputOutput 对象的另一种情况是,如果用户希望覆盖端口的默认连接器或条件类型。

上一个 holoscan.core
下一个 holoscan.executors
© 版权所有 2022-2024, NVIDIA。 上次更新于 2025 年 1 月 27 日。