在c++中首次使用torchscript的模型时会进行一些优化处理,导致首次运行时间过慢,可通过如下设置屏蔽优化处理,从而避免过慢问题
c++ 示例
#include <torch/script.h> // One-stop header.
#include <torch/torch.h>
torch::jit::getProfilingMode() = false;
torch::jit::getExecutorMode() = false;
torch::jit::setGraphExecutorOptimize(false);
std::shared_ptr<torch::jit::script::Module> module_ = std::make_shared<torch::jit::script::Module>(
torch::jit::load(
workspace +
"../superglue/models/model/SuperGlue_indoor.pt",
device_));
python中对应命令
torch._C._jit_set_profiling_mode()
torch.jit.optimized_execution()