使用libtorch模型推理的时候出现报错std:runtime_error
这里报错的情况一般是数据不同步的问题,也就是说我们的模型是在gpu上,而数据是在cpu上,那么要做的一件事就是检查forward()中的变量是在cpu上还是在gpu上,检查方法:
std::cout<<input.device()<<std::endl;
在cpu上会打印cpu,gpu上打印gpu,然后检查模型是在gpu上还是在cpu上,检查方法:
std::cout<<model.device()<<std::endl;
最后看输出结果是不是都在CPU或者GPU上,下面是把数据和模型都加载到GPU上的方法:
input=input.cuda();
model.cuda();
这样可以解决std:runtime_error报错的问题。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)