我尝试安装 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