Tensorflow没有使用GPU

7

我正在尝试使用Tensorflow运行seq2seq示例,但它不会使用GPU。以下是我在安装Tensorflow到搭载Tesla K20x的Linux系统上所采取的步骤:

git clone --recurse-submodules https://github.com/tensorflow/tensorflow
./configure # Yes GPU
bazel build -c opt --config=cuda //tensorflow/cc:tutorials_example_trainer
bazel-bin/tensorflow/cc/tutorials_example_trainer --use_gpu # The GPU is being used)
bazel build -c opt --config=cuda //tensorflow/tools/pip_package:build_pip_package
bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg
pip install /tmp/tensorflow_pkg/tensorflow-0.5.0-cp27-none-linux_x86_64.whl

在完成所有步骤后,我已经成功安装了TensorFlow。接下来,我尝试运行seq2seq示例,方法如下:

bazel run -c opt //tutorials/models/rnn/translate:translate

但它不会使用GPU。然后我尝试了这个例子。
bazel-bin/tensorflow/cc/tutorials_example_trainer --use_gpu

并且它会报错。

bazel-bin/tensorflow/cc/tutorials_example_trainer: error while loading shared libraries: /path/to/home/.cache/bazel/_bazel_hduong/9e8a6e75473e7bf5c9d1c8a084e2a0e9/tensorflow/bazel-out/local_linux-opt/bin/tensorflow/cc/../../_solib_local/_U_S_Sthird_Uparty_Sgpus_Scuda_Ccudart___Uthird_Uparty_Sgpus_Scuda_Slib64/libcudart.so.7.0: file too short

请问有人知道为什么程序不使用GPU吗?谢谢。


你需要在tensorflow文件夹内运行./configure命令。然后你可以提及你的cuda驱动路径,不要忘记提及cuda兼容版本。 - Abhijay Ghildyal
3个回答

5
问题似乎是当您运行翻译示例时,它会重新构建但不支持GPU。尝试在bazel run命令中添加--config=cuda,如下所示:
$ bazel run -c opt --config=cuda //tensorflow/models/rnn/translate:translate

如果没有这个选项,Bazel将会编译整个没有GPU支持的TensorFlow运行时,并在运行示例应用程序时使用此版本。


1
由于CUDA未正确链接,因此会出现这种情况。请在终端中输入以下命令: sudo ldconfig /usr/local/cuda/lib64

1
我猜您应该安装GPU版本。
pip install tensorflow-gpu

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接