![如何在同一个操作系统(例如 centos 7)中安装多个版本的 tensorflow?](https://linux22.com/image/1598992/%E5%A6%82%E4%BD%95%E5%9C%A8%E5%90%8C%E4%B8%80%E4%B8%AA%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%EF%BC%88%E4%BE%8B%E5%A6%82%20centos%207%EF%BC%89%E4%B8%AD%E5%AE%89%E8%A3%85%E5%A4%9A%E4%B8%AA%E7%89%88%E6%9C%AC%E7%9A%84%20tensorflow%EF%BC%9F.png)
我尝试安装 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 运行 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