首页 > 解决方案 > 从 Github 导入:如何修复 ImportError

问题描述

我想在 Python中使用开源的人员重新识别库

为此,我必须按照他们的 deposite git 上的说明进行操作:

git clone https://github.com/Cysu/open-reid.git
cd open-reid
python setup.py install

python examples/softmax_loss.py -d viper -b 64 -j 2 -a resnet50 --logs-dir logs/softmax-loss/viper-resnet50

我收到以下错误:

from sklearn.utils.extmath
import pinvh

ImportError:无法导入名称“pinvh”

我曾尝试使用先前版本的 PyTorch(0.4.1、0.4.0 和 1.0.1)创建虚拟环境,但我总是得到:

  File "examples/softmax_loss.py", line 12, in <module>
    from reid import datasets
ModuleNotFoundError: No module named 'reid'

我不知道如何解决它。

编辑 :

您好,感谢您的回答,问题是导入是这样的:

from reid import datasets
from reid import models
from reid.dist_metric import DistanceMetric
from reid.trainers import Trainer
from reid.evaluators import Evaluator
from reid.utils.data import transforms as T
from reid.utils.data.preprocessor import Preprocessor
from reid.utils.logging import Logger
from reid.utils.serialization import load_checkpoint, save_checkpoint

我试过了 :

from ../reid import datasets

但我有一个

File "examples/softmax_loss.py", line 12
from ../reid import datasets
   ^
SyntaxError: invalid syntax

编辑 2:重新安装 Python 3.7.3 和 pytorch 1.1.0 后,pinvh 问题仍然存在......我仍然收到此消息:

ImportError: cannot import name 'pinvh' from 'sklearn.utils.extmath' 

如果您能告诉我如何解决它或尝试告诉我它是否有效,请

标签: pythonmodulepytorch

解决方案


utils.extmath.pinvh在 scikit-learn 0.19 版中已弃用,并在 0.21 版中删除。因此,简单的解决方法是使用早期版本的 scikit-learn。


推荐阅读