for (unsigned int cnt = 0; cnt < maxIteration; ++cnt) {
taskManager->addInput(image_data);
- auto face_detection_node = make_shared<InferenceNode>("face_detection");
- face_detection_node->setInferenceTask(factory->createFaceDetection());
- taskManager->addNode(face_detection_node);
+ auto face_detection_node = taskManager->requestNewNode(NodeType::INFERENCE, "face_detection");
+ dynamic_cast<InferenceNode *>(face_detection_node)->setInferenceTask(factory->createFaceDetection());
- auto bridge_node = make_shared<BridgeNode>("bridge");
- bridge_node->setCb(BridgeNodeCallbackFD);
+ auto bridge_node = taskManager->requestNewNode(NodeType::BRIDGE, "bridge");
+ dynamic_cast<BridgeNode *>(bridge_node)->setCb(BridgeNodeCallbackFD);
bridge_node->addDependency(face_detection_node);
- taskManager->addNode(bridge_node);
- auto face_landmark_node = make_shared<InferenceNode>("face_landmark");
- face_landmark_node->setInferenceTask(factory->createFaceLandmarkDetection());
+ auto face_landmark_node = taskManager->requestNewNode(NodeType::INFERENCE, "face_landmark");
+ dynamic_cast<InferenceNode *>(face_landmark_node)->setInferenceTask(factory->createFaceLandmarkDetection());
face_landmark_node->addDependency(bridge_node);
- taskManager->addNode(face_landmark_node);
- auto endpoint_node = make_shared<EndpointNode>("endpoint");
+ auto endpoint_node = taskManager->requestNewNode(NodeType::ENDPOINT, "endpoint");
endpoint_node->addDependency(face_landmark_node);
- taskManager->addNode(endpoint_node);
taskManager->run();
for (unsigned int cnt = 0; cnt < maxIteration; ++cnt) {
taskManager->addInput(image_data);
- auto face_detection_node_a = make_shared<InferenceNode>("face_detectionA");
- face_detection_node_a->setInferenceTask(factory->createFaceDetection());
- taskManager->addNode(face_detection_node_a);
+ auto face_detection_node_a = taskManager->requestNewNode(NodeType::INFERENCE, "face_detectionA");
+ dynamic_cast<InferenceNode *>(face_detection_node_a)->setInferenceTask(factory->createFaceDetection());
- auto face_detection_node_b = make_shared<InferenceNode>("face_detectionB");
- face_detection_node_b->setInferenceTask(factory->createFaceDetection());
- taskManager->addNode(face_detection_node_b);
+ auto face_detection_node_b = taskManager->requestNewNode(NodeType::INFERENCE, "face_detectionB");
+ dynamic_cast<InferenceNode *>(face_detection_node_b)->setInferenceTask(factory->createFaceDetection());
- auto bridge_node = make_shared<BridgeNode>("bridge");
- bridge_node->setCb(BridgeNodeCallbackFD);
+ auto bridge_node = taskManager->requestNewNode(NodeType::BRIDGE, "bridge");
+ dynamic_cast<BridgeNode *>(bridge_node)->setCb(BridgeNodeCallbackFD);
bridge_node->addDependency(face_detection_node_a);
bridge_node->addDependency(face_detection_node_b);
- taskManager->addNode(bridge_node);
- auto face_landmark_node = make_shared<InferenceNode>("face_landmark");
- face_landmark_node->setInferenceTask(factory->createFaceLandmarkDetection());
+ auto face_landmark_node = taskManager->requestNewNode(NodeType::INFERENCE, "face_landmark");
+ dynamic_cast<InferenceNode *>(face_landmark_node)->setInferenceTask(factory->createFaceLandmarkDetection());
face_landmark_node->addDependency(bridge_node);
- taskManager->addNode(face_landmark_node);
- auto endpoint_node = make_shared<EndpointNode>("endpoint");
- endpoint_node->addDependency(face_landmark_node);
- taskManager->addNode(endpoint_node);
+ auto endpoint_node = taskManager->requestNewNode(NodeType::ENDPOINT, "endpoint");
+ dynamic_cast<EndpointNode *>(endpoint_node)->addDependency(face_landmark_node);
taskManager->run();
for (unsigned int cnt = 0; cnt < maxIteration; ++cnt) {
taskManager->addInput(image_data);
- auto face_detection_node = make_shared<InferenceNode>("face_detection");
- face_detection_node->setInferenceTask(factory->createFaceDetection());
- taskManager->addNode(face_detection_node);
+ auto face_detection_node = taskManager->requestNewNode(NodeType::INFERENCE, "face_detection");
+ dynamic_cast<InferenceNode *>(face_detection_node)->setInferenceTask(factory->createFaceDetection());
- auto bridge_node = make_shared<BridgeNode>("bridge");
- bridge_node->setCb(BridgeNodeCallbackFD);
+ auto bridge_node = taskManager->requestNewNode(NodeType::BRIDGE, "bridge");
+ dynamic_cast<BridgeNode *>(bridge_node)->setCb(BridgeNodeCallbackFD);
bridge_node->addDependency(face_detection_node);
- taskManager->addNode(bridge_node);
- auto face_landmark_node = make_shared<InferenceNode>("face_landmark");
- face_landmark_node->setInferenceTask(factory->createFaceLandmarkDetection());
+ auto face_landmark_node = taskManager->requestNewNode(NodeType::INFERENCE, "face_landmark");
+ dynamic_cast<InferenceNode *>(face_landmark_node)->setInferenceTask(factory->createFaceLandmarkDetection());
face_landmark_node->addDependency(bridge_node);
- taskManager->addNode(face_landmark_node);
- auto endpoint_node = make_shared<EndpointNode>("endpoint");
- endpoint_node->setCb(LastNodeCallback);
+ auto endpoint_node = taskManager->requestNewNode(NodeType::ENDPOINT, "endpoint");
+ dynamic_cast<EndpointNode *>(endpoint_node)->setCb(LastNodeCallback);
endpoint_node->addDependency(face_detection_node);
endpoint_node->addDependency(face_landmark_node);
- taskManager->addNode(endpoint_node);
taskManager->run();
for (unsigned int cnt = 0; cnt < maxIteration; ++cnt) {
taskManager->addInput(image_data);
- auto face_detection_node_a = make_shared<InferenceNode>("face_detection_a");
- face_detection_node_a->setInferenceTask(factory->createFaceDetection());
- taskManager->addNode(face_detection_node_a);
+ auto face_detection_node_a = taskManager->requestNewNode(NodeType::INFERENCE, "face_detection_a");
+ dynamic_cast<InferenceNode *>(face_detection_node_a)->setInferenceTask(factory->createFaceDetection());
- auto bridge_node = make_shared<BridgeNode>("bridge");
- bridge_node->setCb(BridgeNodeCallbackFD);
+ auto bridge_node = taskManager->requestNewNode(NodeType::BRIDGE, "bridge");
+ dynamic_cast<BridgeNode *>(bridge_node)->setCb(BridgeNodeCallbackFD);
bridge_node->addDependency(face_detection_node_a);
- taskManager->addNode(bridge_node);
- auto face_landmark_node = make_shared<InferenceNode>("face_landmark");
- face_landmark_node->setInferenceTask(factory->createFaceLandmarkDetection());
+ auto face_landmark_node = taskManager->requestNewNode(NodeType::INFERENCE, "face_landmark");
+ dynamic_cast<InferenceNode *>(face_landmark_node)->setInferenceTask(factory->createFaceLandmarkDetection());
face_landmark_node->addDependency(bridge_node);
- taskManager->addNode(face_landmark_node);
- auto face_detection_node_b = make_shared<InferenceNode>("face_detection_b");
- face_detection_node_b->setInferenceTask(factory->createFaceDetection());
+ auto face_detection_node_b = taskManager->requestNewNode(NodeType::INFERENCE, "face_detection_b");
+ dynamic_cast<InferenceNode *>(face_detection_node_b)->setInferenceTask(factory->createFaceDetection());
face_detection_node_b->addDependency(bridge_node);
- taskManager->addNode(face_detection_node_b);
- auto endpoint_node = make_shared<EndpointNode>("endpoint");
- endpoint_node->setCb(LastNodeCallback);
+ auto endpoint_node = taskManager->requestNewNode(NodeType::ENDPOINT, "endpoint");
+ dynamic_cast<EndpointNode *>(endpoint_node)->setCb(LastNodeCallback);
endpoint_node->addDependency(face_detection_node_b);
endpoint_node->addDependency(face_landmark_node);
- taskManager->addNode(endpoint_node);
taskManager->run();
for (unsigned int cnt = 0; cnt < maxIteration; ++cnt) {
taskManager->addInput(image_data);
- auto object_detection_node = make_shared<InferenceNode>("object_detection");
- object_detection_node->setInferenceTask(factory->createObjectDetection());
- taskManager->addNode(object_detection_node);
+ auto object_detection_node = taskManager->requestNewNode(NodeType::INFERENCE, "object_detection");
+ dynamic_cast<InferenceNode *>(object_detection_node)->setInferenceTask(factory->createObjectDetection());
- auto bridge_node_1 = make_shared<BridgeNode>("bridge_1");
- bridge_node_1->setCb(BridgeNodeCallbackOD);
+ auto bridge_node_1 = taskManager->requestNewNode(NodeType::BRIDGE, "bridge_1");
+ dynamic_cast<BridgeNode *>(bridge_node_1)->setCb(BridgeNodeCallbackOD);
bridge_node_1->addDependency(object_detection_node);
- taskManager->addNode(bridge_node_1);
- auto image_classification_node_1 = make_shared<InferenceNode>("image_classification_1");
- image_classification_node_1->setInferenceTask(factory->createImageClassification());
+ auto image_classification_node_1 = taskManager->requestNewNode(NodeType::INFERENCE, "image_classification_1");
+ dynamic_cast<InferenceNode *>(image_classification_node_1)
+ ->setInferenceTask(factory->createImageClassification());
image_classification_node_1->addDependency(bridge_node_1);
- taskManager->addNode(image_classification_node_1);
- auto bridge_node_2 = make_shared<BridgeNode>("bridge_2");
- bridge_node_2->setCb(BridgeNodeCallbackIC);
+ auto bridge_node_2 = taskManager->requestNewNode(NodeType::BRIDGE, "bridge_2");
+ dynamic_cast<BridgeNode *>(bridge_node_2)->setCb(BridgeNodeCallbackIC);
bridge_node_2->addDependency(image_classification_node_1);
- taskManager->addNode(bridge_node_2);
- auto image_classification_node_2 = make_shared<InferenceNode>("image_classification_2");
- image_classification_node_2->setInferenceTask(factory->createImageClassification());
+ auto image_classification_node_2 = taskManager->requestNewNode(NodeType::INFERENCE, "image_classification_2");
+ dynamic_cast<InferenceNode *>(image_classification_node_2)
+ ->setInferenceTask(factory->createImageClassification());
image_classification_node_2->addDependency(bridge_node_2);
- taskManager->addNode(image_classification_node_2);
int endpoint_node_run = 0;
- auto endpoint_node = make_shared<EndpointNode>("endpoint");
+ auto endpoint_node = taskManager->requestNewNode(NodeType::ENDPOINT, "endpoint");
endpoint_node->addDependency(object_detection_node);
endpoint_node->addDependency(image_classification_node_2);
- endpoint_node->setCb([&](INode *node) { endpoint_node_run += 1; });
- taskManager->addNode(endpoint_node);
+ dynamic_cast<EndpointNode *>(endpoint_node)->setCb([&](INode *node) { endpoint_node_run += 1; });
taskManager->run();
void BranchNodeCallback(INode *node)
{
- static ResultType result_type;
auto branchNode = dynamic_cast<BranchNode *>(node);
auto &inputBuffer = branchNode->getInputBuffer();
auto newBaseData = inputBuffer->getInputs()[0]->clone();
for (unsigned int cnt = 0; cnt < maxIteration; ++cnt) {
taskManager->addInput(image_data);
- auto face_detection_node = make_shared<InferenceNode>("face_detection");
- face_detection_node->setInferenceTask(factory->createFaceDetection());
- taskManager->addNode(face_detection_node);
+ auto face_detection_node = taskManager->requestNewNode(NodeType::INFERENCE, "face_detection");
+ dynamic_cast<InferenceNode *>(face_detection_node)->setInferenceTask(factory->createFaceDetection());
- auto object_detection_node = make_shared<InferenceNode>("object_detection");
- object_detection_node->setInferenceTask(factory->createObjectDetection());
- taskManager->addNode(object_detection_node);
+ auto object_detection_node = taskManager->requestNewNode(NodeType::INFERENCE, "object_detection");
+ dynamic_cast<InferenceNode *>(object_detection_node)->setInferenceTask(factory->createObjectDetection());
- auto branch_node = make_shared<BranchNode>("branch");
- branch_node->setCb(BranchNodeCallback);
+ auto branch_node = taskManager->requestNewNode(NodeType::BRANCH, "branch");
+ dynamic_cast<BranchNode *>(branch_node)->setCb(BranchNodeCallback);
branch_node->addDependency(face_detection_node);
branch_node->addDependency(object_detection_node);
- taskManager->addNode(branch_node);
- auto face_landmark_node = make_shared<InferenceNode>("face_landmark");
- face_landmark_node->setInferenceTask(factory->createFaceLandmarkDetection());
+ auto face_landmark_node = taskManager->requestNewNode(NodeType::INFERENCE, "face_landmark");
+ dynamic_cast<InferenceNode *>(face_landmark_node)->setInferenceTask(factory->createFaceLandmarkDetection());
face_landmark_node->addDependency(branch_node);
- taskManager->addNode(face_landmark_node);
- auto image_classification_node = make_shared<InferenceNode>("image_classification");
- image_classification_node->setInferenceTask(factory->createImageClassification());
+ auto image_classification_node = taskManager->requestNewNode(NodeType::INFERENCE, "image_classification");
+ dynamic_cast<InferenceNode *>(image_classification_node)
+ ->setInferenceTask(factory->createImageClassification());
image_classification_node->addDependency(branch_node);
- taskManager->addNode(image_classification_node);
- auto endpoint_node = make_shared<EndpointNode>("endpoint");
+ auto endpoint_node = taskManager->requestNewNode(NodeType::ENDPOINT, "endpoint");
endpoint_node->addDependency(face_landmark_node);
endpoint_node->addDependency(image_classification_node);
- endpoint_node->setCb([&](INode *node) {
+ dynamic_cast<EndpointNode *>(endpoint_node)->setCb([&](INode *node) {
auto results = node->results();
for (auto &result : results) {
}
});
- taskManager->addNode(endpoint_node);
-
taskManager->run();
taskManager->clear();
}