Импорт из Github: как исправить ошибку ImportError - PullRequest
1 голос
/ 03 июня 2019

Я хочу использовать библиотеку переидентификации человека с открытым исходным кодом в Python

  • в Ubuntu 19.04
  • с Anaconda
  • noCUDA
  • в терминале PyCharm (или нет)
  • Python версия 3.7.3
  • PyTorch версия 1.1.0

Для этого у меня естьследовать инструкциям, как на их депозите 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' 

Если выможете подсказать как это исправить или попробуйте подсказать, работает ли он, пожалуйста

1 Ответ

0 голосов
/ 03 июня 2019

Поскольку структура каталогов следующая: /(root)-->| | |-->reid |--> (contents inside reid) | | |-->examples | -->softmax_loss.py | |-->(Other contents in root directory)

Можно заметить, что reid не находится в том же каталоге, что и softmax_loss.py, а вместо этого в родительском каталоге.

Итак, в файле softmax_loss.py, в строке номер 12 и ниже, замените reid на ../reid, это ищет reid каталога в родительском каталоге.

Другой метод заключается в использовании: import ../reid as R или любая другая переменная;Затем используйте from R import datasets и так далее

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...