这几天在使用vot toolkit评测自己的跟踪器,需要在matlab里面调用python的跟踪器代码,其中用到了pytorch的库。运行的时候报错,“import error: from torch._C import * RuntimeError: stoi”,搞了好久才解决。查了一些资料,显示这个问题是pytorch版本导致的,如果使用Torch 0.3.*则没有这个问题。但是将pytorch降级肯定是行不通的,毕竟很多库函数都不一样了,改起来更麻烦。
这个问题可以通过两种方式来解决,经过尝试二者选其一即可,方案如下:
1. 在调用python的指令前,加上“env -i”,示例如下:
system('env -i /usr/bin/python3 -c "import torch"')
2. 在python的脚本文件中加上如下指令:
del os.environ['MKL_NUM_THREADS']
import torch
这个问题的解决主要参考了github上pytorch上面问题的讨论,链接如下:
https://github.com/pytorch/pytorch/issues/7082
希望能对碰到相同问题的人提供帮助,如果有类似问题也可以互相交流。