libtorch问题:Unsupported value kind: Tensor

原因是你训练用的pytorch 可能是 1.2 ,后来运行测试在libtorch 上,libtorch 太新了

terminate called after throwing an instance of 'std::runtime_error'
  what():  The following operation failed in the TorchScript interpreter.
Traceback of TorchScript (most recent call last):
RuntimeError: Unsupported value kind: Tensor

在这里插入图片描述

解决办法:

换低版本的libtorch:

pytorch版本和libtorch版本对应上,有问题

原因是, 在训练过程中得到的 权重 weights 文件,是 在 pytorch 1.2 训练得到的;

而 pytorch 对应 不同的 libtorch 这个问题,之前一直没有意识到;

之前一直以为 是 cuda 或者 cxx ,c++ abi 的版本问题, 实际上不是;

现在验证的结果告诉我们:pytorch 1.8 和 pytorch 1.2 起码是兼容的(在tensor 支持上);pytorch 1.10.2 不和 pytorch 1.2 兼容;

在这里插入图片描述