2017-03-16 138 views
0

我正在與GPU共享一臺機器。它曾經有隻有一個版本tensorflow工作tensorflow-gpu==0.12.0rc1的,但最近它也有最新的非GPU版本,以及安裝了舊版GPU的Tensorflow

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權限,通過管理員通道耗時很長。

回答

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會話,因此,如果你打開一個新的外殼,你需要做source ~/virtualenvs/tensorflow/bin/activate來激活它。還有virtualenv的包裝,減少了所需的輸入量。

+0

完美,這解決了我的問題。非常感謝! –