我正在使用GPU共享计算机。它过去只有一个版本的张量流工作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脚本中“隐藏”最新的tensorflow版本或强制它以任何方式使用gpu版本?
我没有sudo权限,通过管理渠道很费时间。
答案 0 :(得分:1)
您可以通过在家中设置虚拟环境来隐藏它(不需要sudo)。你没有指定你的python版本,所以我假设你已经安装了virtualenv(它附带了最新版本),否则安装它(再次,不需要sudo - 请参阅https://stackoverflow.com/a/5177027/524436)。
然后,用
# 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
“激活”行仅更改当前的shell会话,因此如果您打开一个新的shell,则需要执行source ~/virtualenvs/tensorflow/bin/activate
来激活它。还有virtualenv的包装器可以减少所需的输入量。