Конда не использует пакет установлен, но использует пакет извне
У меня проблема, когда я использую среду conda.
Я создаю среду просто:
conda create -n NAME python==3.5
Итак, есть виртуальная среда Python 3.5. Затем я вхожу в виртуальную среду и устанавливаю tenorflow-gpu с помощью:
conda install tensorflow-gpu
Теперь я вижу пакет tenorflow-gpu вместе с cudatoolkit и cudnn. Но когда я запускаю простую программу, она просто не может использовать gpu. Я не думаю, что это проблема или пакет драйвера nvidia из разных ресурсов, потому что он работает в старой среде conda, но когда я создаю новую, это не удается.
Более интересным будет то, что он будет использовать пакет (tennsrt и uff) извне окружающей среды.
Когда я создаю новую среду с python 3.6.Это работает, как и ожидалось, используя tenorflow-gpu и не может импортировать пакет, который не установлен в среде.
Кто-нибудь знает, как решить проблему?
Ubuntu 16.04
Tensorflow 1.8.0
Python 3.5 и 3.6
TensorRT 5.0.0.10
1 ответ
Ну, я исправил это. Эта проблема, оказывается, в среде conda добавлен путь из локального и импортированный пакет из локального пути вместо среды.
Если вы столкнулись с той же проблемой. Попробуйте открыть python в вашей среде conda:
python
и проверьте системный путь:
import sys
print(sys.path)
если есть библиотека извне, просто удалите ее, используя:
rm -r ~/PATH
Эта проблема может возникнуть из-за непреднамеренного добавления пути в какой-либо программе.
Надеюсь, это поможет.
Это также происходит, если вы используете ноутбук Jupyter. Например, если у вас установлена записная книжка jupyter и ТОГДА создается ваша среда, записная книжка jupyter находится вне среды и игнорирует все пакеты, установленные в вашей среде. Мне нужно было установить ноутбук Jupyter в каждую среду, которую я создал, чтобы эти ошибки не возникали.