Tensorflow不使用GPU

时间:2015-11-28 11:26:02

标签: gpu tensorflow

我试图通过Tensorflow运行示例seq2seq,但它不会使用GPU。以下是我在使用Tesla K20x的Linux系统上安装Tensorflow的步骤

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?任何帮助表示赞赏。

谢谢。

3 个答案:

答案 0 :(得分:5)

问题似乎是当您bazel run翻译示例时,它会在没有GPU支持的情况下进行重建。尝试将--config=cuda添加到bazel run命令,如下所示:

$ bazel run -c opt --config=cuda //tensorflow/models/rnn/translate:translate

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

答案 1 :(得分:1)

它发生,因为cuda没有正确链接。在终端

中输入以下命令

sudo ldconfig /usr/local/cuda/lib64

答案 2 :(得分:1)

我猜你应该用GPU版本安装它

pip install tensorflow-gpu