Class InferenceOp
Defined in File inference.hpp
Base Type
public holoscan::Operator
(Class Operator)
-
class InferenceOp : public holoscan::Operator
Inference Operator class to perform single/multi model inference.
Named inputs:
receivers: multi-receiver accepting
nvidia::gxf::Tensor
(s)Any number of upstream ports may be connected to this
receivers
port. The operator will search across all messages for tensors matching those specified inin_tensor_names
. These are the set of input tensors used by the models ininference_map
.
Named outputs:
transmitter:
nvidia::gxf::Tensor
(s)A message containing tensors corresponding to the inference results from all models will be emitted. The names of the tensors transmitted correspond to those in
out_tensor_names
.
Public Functions
- HOLOSCAN_OPERATOR_FORWARD_ARGS (InferenceOp) InferenceOp()=default
-
virtual void setup(OperatorSpec &spec) override
Define the operator specification.
- Parameters
spec – The reference to the operator specification.
- virtual void initialize() override
Initialize the operator.
This function is called when the fragment is initialized by Executor::initialize_fragment().
- virtual void start() override
Implement the startup logic of the operator.
This method is called multiple times over the lifecycle of the operator according to the order defined in the lifecycle, and used for heavy initialization tasks such as allocating memory resources.
-
virtual void compute(InputContext &op_input, OutputContext &op_output, ExecutionContext &context) override
Implement the compute method.
This method is called by the runtime multiple times. The runtime calls this method until the operator is stopped.
- Parameters
op_input – The input context of the operator.
op_output – The output context of the operator.
context – The execution context of the operator.
- virtual void stop() override
Implement the shutdown logic of the operator.
This method is called multiple times over the lifecycle of the operator according to the order defined in the lifecycle, and used for heavy deinitialization tasks such as deallocation of all resources previously assigned in start.
-
struct DataMap
DataMap specification
Public Functions
- DataMap() = default
- inline explicit operator bool() const noexcept
- inline void insert(const std::string &key, const std::string &value)
- inline std::map<std::string, std::string> get_map() const
Public Members
- std::map<std::string, std::string> mappings_
-
struct DataVecMap
DataVecMap specification
Public Functions
- DataVecMap() = default
- inline explicit operator bool() const noexcept
- inline void insert(const std::string &key, const std::vector<std::string> &value)
- inline std::map<std::string, std::vector<std::string>> get_map() const
Public Members
- std::map<std::string, std::vector<std::string>> mappings_