安装了旧 GPU 版本的 Tensorflow

Tensorflow with an older GPU version installed

我正在使用带有 GPU 的共享计算机。它曾经只有一个版本的 tensorflow tensorflow-gpu==0.12.0rc1 但最近它也有最新的非 gpu 版本

tensorflow==1.0.1
tensorflow-gpu==0.12.0rc1

我的代码不再使用 GPU 设备。我尝试仅导入旧版本 import tensorflow-gpu as tf 或要求 tensorflow-gpu 为旧版本:

import pkg_resources
pkg_resources.require("tensorflow-gpu==0.12.0rc1")
import tensorflow as tf

但它又回到了只使用 CPU 设备的状态。

有什么方法可以从我的 python 脚本中 "hide" 最新的 tensorflow 版本或强制它以任何方式使用 gpu 版本?

我没有 sudo 权限,通过管理通道很费时间。

您可以通过在家中设置虚拟环境来隐藏它(无需 sudo)。你没有指定你的 python 版本,所以我假设你已经安装了 virtualenv(它带有最新版本),否则安装它(同样,不需要 sudo - 参见 )。

然后,

# create directory to store environments in
mkdir -p ~/virtualenvs
cd ~/virtualenvs

# create virtual environment for tensorflow
# --no-site-packages hides the global packages like the CPU TF
virtualenv --no-site-packages tensorflow

# activate the virtual environment
source tensorflow/bin/activate

您将获得一个干净的环境,您可以在其中为 python

安装软件包
# install what you want - tensorflow, matplotlib, ...
pip install matplotlib

"activate" 行仅更改当前 shell 会话,因此如果您打开一个新的 shell,您需要执行 source ~/virtualenvs/tensorflow/bin/activate 来激活它。 virtualenv 也有包装器,可以减少所需的输入量。