Я запускаю две нейронные сети для моего проекта, оба из которых используют разные версии caffe. Я пытаюсь добавить путь модуля caffe с помощью модуля sys. Первая нейронная сеть работает без каких-либо трудностей, однако вторая нейронная сеть имеет проблему относительно пути к своему модулю caffe.Как загрузить другую версию caffe в одном файле python
Я попытался удалить местоположение пути в кофейнике, которое я добавил ранее, а затем попытался добавить путь caffe для второй нейронной сети. Тогда и это дает мне ошибку.
Единственное, что я нашел, это запустить мою вторую нейронную сеть в подпроцессе. Однако это не эффективно, поскольку я должен сохранять все данные в файле, а затем читать и выполнять вычисления в основном процессе позже.
Мне предложили использовать переменные среды, но я не знаю, как это сделать.
Любая помощь, как я могу загрузить несколько версий caffe, будет отличной.
EDIT
Я пробовал добавлять различные версии модулей, используя логику, данное Шай ех: Добавление различных версий NumPy. Однако такая же логика не работает в случае с кофе. отображается
import caffe_a as caffe_a, caffe_b as caffe_b
ошибка: ВНИМАНИЕ: Logging Перед InitGoogleLogging() записывается в STDERR F0223 08: 21: 57,810040 17753 layer_factory.hpp: 69] Проверка не удалась: registry.count (тип) == 0 (1 против 0) Свернутый тип Сверток уже зарегистрирован. * Проверка стека провал трассировки: * Прерванный (ядро сбрасывали)
Другой подход попытался и не смог:
Я пытался использовать продевал, где я пытался загрузить другую версию Caffe в каждом независимом потоке. Теперь я не получаю никакой ошибки. Однако загружается только одна версия caffe. Фактически переменные sys.modules
глобально распределяются между всеми потоками, и, таким образом, когда выполняется второй оператор import caffe
, python просто видит, что модули уже присутствуют и не загружает новые модули caffe.
Есть ли способы, с помощью которых мы можем изменить поведение потоков?
вы рассматривали использование темы вместо подпроцесса? – Shai
@Shai Я еще не использовал темы. На самом деле мои нейронные сети выполняются один за другим. Таким образом, вы хотели использовать простое решение, в котором мы можем просто загрузить другую версию caffe, используя одну команду в python. – kkk
Возможный дубликат [Как импортировать две версии одного и того же модуля python одновременно?] (Http://stackoverflow.com/questions/29160625/how-to-import-two-versions-of-the-same- python-module-at-same-time) – Shai