如何在同一个操作系统(例如 centos 7)中安装多个版本的 tensorflow?

如何在同一个操作系统(例如 centos 7)中安装多个版本的 tensorflow?

我尝试安装 tensorflow cpu 版本和 gpu 版本。

我已经在 CentOS 7 中的 anaconda 环境中安装了 tensorflow cpu 版本。目前我没有激活虚拟环境,只是将 $PATH 设置为 ~/anaconda3/bin,将 $PYTHONPATH、$LD_LIBRARY_PATH 设置为 anaconda。tensorflow cpu 版本现在可以正常工作。python 版本是 3.6。

我创建了一个 anaconda 虚拟环境,并安装了 tensorflow-gpu。但是 python cpu 版本被删除了,因为它在 ~/anaconda3/lib/python3.6/site-packages/tensorflow 的同一站点上覆盖了 tensorflow

我该如何处理两个版本的 TensorFlow?

这与如何降级 TensorFlow,可能有多个版本?

一些附加信息是 tensorflow 运行 python 版本 <=3.6。

答案1

在我的黑客攻击中,有几种 python 虚拟环境技术。一种方法是使用“virtualenv”。但是当当前的 python 版本是 3.7 时,virtualenv 只会生成 python 3.7 版本,您无法更改它。稍后可能会在 env 目录中安装另一个 python 版本,例如,(我没有检查这个)

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

与“virtualenv”相比,Conda 有一些优势。它可以在创建虚拟环境时指定 Python 版本。它会在 ~/anaconda3/envs/vtf_gpu 中创建 venv(vtf_gpu) 目录,而“virtualenv”会在 /home 中创建 venv。

如果没有“--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

相关内容