как установить несколько версий tensorflow в одной операционной системе, например, centos 7?

Вопрос или проблема

Я пытался установить и версию tensorflow cpu, и версию для gpu.

Я установил версию tensorflow cpu в окружении anaconda на CentOS 7. На данный момент я не активировал виртуальное окружение, но просто установил $PATH на ~/anaconda3/bin и $PYTHONPATH, $LD_LIBRARY_PATH на anaconda. Версия tensorflow cpu работает сейчас. Версия python — 3.6.

Я создал виртуальное окружение anaconda и установил tensorflow-gpu. Но версия python cpu была удалена, потому что она переписала tensorflow в том же месте ~/anaconda3/lib/python3.6/site-packages/tensorflow

Как я могу управлять двумя версиями tensorflow?

Это довольно связано с Как понизить версию tensorflow, возможно ли несколько версий?

Некоторая дополнительная информация: tensorflow работает с python версии <=3.6.

В моем случае использования есть несколько техник виртуального окружения для python. Один из вариантов — использовать “virtualenv”. Но когда текущая версия python — 3.7, virtualenv создает только версию python 3.7, ее нельзя изменить. Другая версия python может быть установлена позже внутри каталога env, например, (я это не проверял)

virtualenv vtf_gpu

source vtf_gpu/bin/activate

pip install python-other-version

В противном случае, Conda также может с этим справиться, как написал Yee в Как понизить версию tensorflow, возможно ли несколько версий?

conda create -n vtf_gpu python=3.5

conda activate vtf_gpu

(vtf_gpu) pip install --ignore-installed --upgrade tensorflow-gpu==2.0.0-beta1

Conda имеет некоторые преимущества по сравнению с “virtualenv”. Она может назначить версию python при создании виртуального окружения. И она создает каталог venv(vtf_gpu) в ~/anaconda3/envs/vtf_gpu, тогда как “virtualenv” создает venv в /home.

Без параметра “–ignore-installed”, pip устанавливает пакет в
~/anaconda3/lib/python3/site-packages
, так что он перепишет предыдущую версию tensorflow cpu. Поэтому с параметром “–ignore-installed” все пакеты будут установлены внутри каталога venv, например
~/anaconda3/envs/vtf_gpu/lib/python3.5/site-packages

Затем обе версии могут быть запущены независимо, используя

conda activate venv

conda deactivate

Ответ или решение

Чтобы установить несколько версий TensorFlow на одной системе, такой как CentOS 7, необходимо использовать изолированные среды. Ниже подробно описывается, как это можно сделать с помощью Conda — мощного менеджера пакетов и сред, который позволяет контролировать версии библиотек и Python.

Шаги по установке нескольких версий TensorFlow

  1. Установка и настройка Anaconda:

    • Загрузите инсталлятор Anaconda для CentOS 7 и установите его согласно официальным инструкциям. Anaconda упростит управление средами и зависимостями.
  2. Создание виртуальных сред:

    • Создание среды для TensorFlow CPU:

      conda create -n tf_cpu_env python=3.6

      Это создаст новую среду с Python версии 3.6, которая совместима с TensorFlow.

    • Активация среды CPU и установка TensorFlow:

      conda activate tf_cpu_env
      pip install tensorflow==<ваша-версия-cpu>

      Установка конкретной версии TensorFlow гарантирует, что вы сможете точно контролировать используемую версию.

    • Создание среды для TensorFlow GPU:

      conda create -n tf_gpu_env python=3.6

      Аналогичным образом создайте отдельную среду для GPU.

    • Активация среды GPU и установка TensorFlow GPU:

      conda activate tf_gpu_env
      pip install tensorflow-gpu==<ваша-версия-gpu>

      Использование GPU-версии требует наличия подходящих драйверов CUDA и cuDNN от NVIDIA.

  3. Переключение между средами:

    • Чтобы активировать среду для работы с TensorFlow CPU:

      conda activate tf_cpu_env
    • Для использования среды TensorFlow GPU:

      conda activate tf_gpu_env
    • Чтобы деактивировать текущую активную среду:

      conda deactivate

Использование Conda для изоляции различных версий TensorFlow позволяет управлять зависимостями и совместимостью, избегая конфликтов установок в глобальной системе. Это особенно важно, когда требуется тестировать или поддерживать проекты с различными версиями библиотек.

Дополнительные рекомендации

  • Проверка версий: После установки рекомендуется проверить версии TensorFlow в каждой среде:

    python -c "import tensorflow as tf; print(tf.__version__)"
  • Зависимости GPU: Убедитесь, что версии CUDA и cuDNN совместимы с версией TensorFlow-это часто источник проблем при установке GPU-библиотек.

Управление несколькими версиями TensorFlow с помощью изолированных сред Conda не только упрощает процесс установки, но и позволяет легко переключаться между проектами, требующими разных зависимостей.

Оцените материал
Добавить комментарий

Капча загружается...