c++ MyFirstApp_ONNX 示例没有跑通
收藏回复举报
c++ MyFirstApp_ONNX 示例没有跑通
t('forum.solved') 已解决
新人帖
发表于2024-05-15 16:01:30
0 查看

硬件:atlas500pro 310

代码如下

int32_t deviceId = 0;

aclrtContext context;

void InitResource()

{

aclError ret = aclInit();

std::cout<<"aclInit ret = "<<ret<<std::endl;

std::cout<<"aclrtSetDevice deviceId = "<<deviceId<<std::endl;

ret = aclrtSetDevice(deviceId);

std::cout<<"aclrtSetDevice ret = "<<ret<<std::endl;

ret = aclrtCreateContext(&context, deviceId);

std::cout<<"aclrtCreateContext ret = "<<ret<<std::endl;

ret = aclrtSetCurrentContext(context);

std::cout<<"aclrtSetCurrentContext ret = "<<ret<<std::endl;

}

uint32_t modelId = 0;

void LoadModel(const char* modelPath)

{

std::cout<<"modelPath = "<<modelPath<<std::endl;

size_t modelMemSize_ = 0;

size_t modelWeightSize_ = 0;

aclError ret = aclmdlQuerySize(modelPath, &modelMemSize_, &modelWeightSize_);

std::cout<<"aclmdlQuerySize ret = "<<ret<<std::endl;

std::cout<<"modelMemSize_ = "<<modelMemSize_<<std::endl;

std::cout<<"modelWeightSize_ = "<<modelWeightSize_<<std::endl;

ret = aclmdlLoadFromFile(modelPath, &modelId);

std::cout<<"aclmdlLoadFromFile ret = "<<ret<<std::endl;

std::cout<<"aclmdlLoadFromFile modelId = "<<modelId<<std::endl;

}

int main()

{

// 1.定义一个资源初始化的函数,用于AscendCL初始化、运行管理资源申请(指定计算设备)

InitResource();

// 2.定义一个模型加载的函数,加载图片分类的模型,用于后续推理使用

const char *modelPath = "../model/resnet50.om";

LoadModel(modelPath);

}

aclmdlLoadFromFile函数会返回145000的错误码

对应的错误说明是入参错误

我想问问这个入参要怎么添加?

我是完全按照文档《AscendCL应用开发(C&C++).pdf》里的快速入门一步一步搞的

我希望知道正确的传入参数应该是什么样子

我要发帖子