-
Notifications
You must be signed in to change notification settings - Fork 9
/
S-siftsmall.cpp
41 lines (32 loc) · 1.25 KB
/
S-siftsmall.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
/***************************
@Author: Chunel
@Contact: [email protected]
@File: S-siftsmall.cpp
@Time: 2022/4/30 17:25
@Desc:
***************************/
#include "src/graph_anns.h"
using namespace CGraph;
int main() {
GPipelinePtr pipeline = GPipelineFactory::create();
GElementPtr a, b, f, g, h, i, gh_region= nullptr;
// build
CStatus status = pipeline->registerGElement<ConfigAlgNPGNode>(&a, {}, "config_npg");
status += pipeline->registerGElement<ConfigModelNode>(&b, {a}, "config_model");
status += pipeline->registerGElement<LoadIndexNode>(&f, {a}, "load_index");
//search
g = pipeline->createGNode<C6SeedKGraph>(GNodeInfo({}, "c6_random"));
h = pipeline->createGNode<C7RoutingKGraph>(GNodeInfo({g}, "c7_greedy"));
gh_region = pipeline->createGGroup<SearchRegion>({g, h});
status += pipeline->registerGElement<SearchRegion>(&gh_region, {f}, "search_region");
status += pipeline->registerGElement<EvaRecallNode>(&i, {gh_region}, "eva_recall");
a->setLevel(-1);
b->setLevel(-2);
status += pipeline->process();
if (!status.isOK()) {
CGRAPH_ECHO("process graph error, error info is [%s]", status.getInfo().c_str());
return 0;
}
GPipelineFactory::remove(pipeline);
return 0;
}