Atlas 200/300/500 推理产品、Atlas 200/500 A2推理产品不支持该特性。
构建完Graph之后,如果您希望直接编译并运行Graph,得到图的执行结果,可以参考本节内容。涉及的主要接口为:
1
|
#include "ge_api.h" |
Graph定义完成后,调用GEInitialize进行系统初始化(也可在Graph定义前调用),申请系统资源。示例代码如下:
1 2 3 |
std::map<AscendString, AscendString>config = {{"ge.exec.deviceId", "0"}, {"ge.graphRunMode", "1"}}; Status ret = ge::GEInitialize(config); |
可以通过config配置传入ge运行的初始化信息,当前必选的配置参数为示例代码中的ge.exec.deviceId和ge.graphRunMode,分别用于指定GE实例运行设备,图执行模式(在线推理请配置为0,训练请配置为1)。更多配置请参考options参数说明。
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 |
std::map <AscendString, AscendString> options; ge::Session *session = new Session(options); if(session == nullptr) { std::cout << "Create session failed." << std::endl; ... ... #释放资源 ge::GEFinalize(); return FAILED; } Status ret = session->AddGraph(conv_graph_id, conv_graph); if(ret != SUCCESS) { ... ... #释放资源 ge::GEFinalize(); delete session; return FAILED; } ret = session->RunGraph(conv_graph_id, input_cov, output_cov); if(ret != SUCCESS) { ... ... #释放资源 ge::GEFinalize(); delete session; return FAILED; } |
用户可以通过传入options配置图运行相关配置信息,相关配置请参考Session构造函数。
其中图运行完之后的数据保存在Tensor output_cov中。
1
|
ret = ge::GEFinalize(); |