nndeploy.basic.input 源代码
import nndeploy._nndeploy_internal as _C
import nndeploy.base
import nndeploy.device
import nndeploy.dag
import json
import numpy as np
[文档]class InputStr(nndeploy.dag.Node):
[文档] def __init__(self, name, inputs: [nndeploy.dag.Edge] = [], outputs: [nndeploy.dag.Edge] = []):
super().__init__(name, inputs, outputs)
self.set_key("nndeploy.basic.InputStr")
self.set_desc("Input Str on python")
self.set_output_type(str)
self.set_node_type(nndeploy.dag.NodeType.Input)
self.set_io_type(nndeploy.dag.IOType.String)
self.str_ = ""
[文档] def run(self) -> bool:
output_edge = self.get_output(0) # 获取输出边
output_edge.set(self.str_) # 将输出写入到输出边中
return nndeploy.base.Status.ok()
[文档] def serialize(self):
self.add_required_param("str_")
json_str = super().serialize()
json_obj = json.loads(json_str)
json_obj["str_"] = self.str_
return json.dumps(json_obj)
[文档] def deserialize(self, target: str):
json_obj = json.loads(target)
self.str_ = json_obj["str_"]
return super().deserialize(target)
[文档]class InputStrCreator(nndeploy.dag.NodeCreator):
[文档] def create_node(self, name: str, inputs: list[nndeploy.dag.Edge], outputs: list[nndeploy.dag.Edge]):
self.node = InputStr(name, inputs, outputs)
return self.node
input_str_node_creator = InputStrCreator()
nndeploy.dag.register_node("nndeploy.basic.InputStr", input_str_node_creator)