簡體   English   中英

具有Keras錯誤的Tensorflow-gpu

[英]Tensorflow-gpu with Keras Error

使用Ubuntu 16.04,PyCharm

我使用以下鏈接通過python 3.5安裝tensorflow-gpu: http ://www.python36.com/install-tensorflow141-gpu/

Tensorflow安裝很好。 它運行了測試代碼。 然后我安裝了Keras以從此處運行代碼: https : //github.com/fchollet/deep-learning-with-python-notebooks/blob/master/5.1-introduction-to-convnets.ipynb

我收到以下錯誤:

2018-02-23 11:19:13.457201:我tensorflow / stream_executor / cuda / cuda_gpu_executor.cc:892]從SysFS讀取成功的NUMA節點具有負值(-1),但必須至少有一個NUMA節點,因此返回NUMA節點零

2018-02-23 11:19:13.457535:I tensorflow / core / common_runtime / gpu / gpu_device.cc:1030]找到了具有屬性的設備0:名稱:GeForce GTX 1060 6GB Major:6 minor:1 memoryClockRate(GHz):1.7845 pciBusID:0000:01:00.0 totalMemory:5.93GiB freeMemory:5.65GiB

2018-02-23 11:19:13.457551:I tensorflow / core / common_runtime / gpu / gpu_device.cc:1120]創建TensorFlow設備(/ device:GPU:0)->(設備:0,名稱:GeForce GTX 1060 6GB ,PCI總線ID:0000:01:00.0,計算能力:6.1)

2018年2月23日11:21:22.130004:E tensorflow / stream_executor / cuda / cuda_dnn.cc:378]已加載運行時CuDNN庫:7005(兼容版本7000),但源代碼是6021(兼容版本6000)編譯的。 如果使用二進制安裝,請升級您的CuDNN庫以使其匹配。 如果從源構建,請確保在運行時加載的庫與編譯配置期間指定的兼容版本匹配。

2018-02-23 11:21:22.130663:F tensorflow / core / kernels / conv_ops.cc:667]檢查失敗:stream-> parent()-> GetConvolveAlgorithms(conv_parameters.ShouldIncludeWinogradNonfusedAlgo(),&algorithms)

Tensorflow-cpu可與Keras配合使用。 我的問題是:

1)為我的設置正確安裝帶有Keras的tensorflow-gpu時應遵循哪些說明?

2)我該如何消除這些錯誤?

3)是否可以遵循所有通用說明在所有平台上正確安裝帶有Keras的tensorflow-gpu?

編輯這里是我創建的文件,該文件顯示了如何在Pycharm-community版中使用tensorflow-gpu運行Keras。 https://github.com/mdkhan48/AgBot2018_VidStream/blob/master/how%20to%20run%20tensorflow-gpu.odt

您嘗試安裝4個組件:

  1. 庫達
  2. 庫登
  3. 張量流
  4. 凱拉斯

它們並不總是同步的,從今天開始,如果您自己編譯tensorflow支持cuda 9.1(就像您發布的指南一樣),則預編譯的二進制文件是使用cuda 9.0和cudnn 7編譯的。我更喜歡使用它們,因此這是cuda版本我正在使用。

這是安裝方法:

首先,刪除現有的cuda安裝:

sudo apt-get remove --purge nvidia-*

安裝ubuntu標頭和cuda 9.0:

sudo apt-get install linux-headers-$(uname -r)
CUDA_REPO_PKG=cuda-repo-ubuntu1604_9.1.85-1_amd64.deb
wget -O /tmp/${CUDA_REPO_PKG} http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/${CUDA_REPO_PKG}
sudo dpkg -i /tmp/${CUDA_REPO_PKG}
sudo apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/7fa2af80.pub
rm -f /tmp/${CUDA_REPO_PKG}
sudo apt-get update
sudo apt-get install -y cuda-9-0

nvidia網站下載適用於Linux的cuDNN v7.0.5庫,導航至下載的文件夾並進行安裝:

tar -xzvf cudnn-9.0-linux-x64-v7.tgz
sudo cp cuda/include/* /usr/local/cuda/include/
sudo cp cuda/lib64/* /usr/local/cuda/lib64/

重新啟動計算機,並使用以下命令檢查nvidia驅動程序是否正常工作:

nvidia-smi

輸出應如下所示:

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 390.30                 Driver Version: 390.30                    |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce GTX 105...  Off  | 00000000:04:00.0  On |                  N/A |
|  0%   33C    P8    N/A / 120W |    310MiB /  4038MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0      1307      G   /usr/lib/xorg/Xorg                           141MiB |
|    0      2684      G   compiz                                       120MiB |
|    0      4078      G   ...-token=                                    45MiB |
+-----------------------------------------------------------------------------+

創建一個虛擬環境並在其中安裝tensorflow和keras:

sudo apt-get install virtualenv
virtualenv tfenv
source tfenv/bin/activate
pip install tensorflow-gpu
pip install keras

該錯誤是由於cudnn版本錯誤造成的。 我認為您已經錯過了本教程中的某些步驟。 此錯誤Loaded runtime CuDNN library: 7005 (compatibility version 7000) but source was compiled with 6021 (compatibility version 6000). If using a binary install, upgrade your CuDNN library to match. If building from sources, make sure the library loaded at runtime matches a compatible version specified during compile configuration. Loaded runtime CuDNN library: 7005 (compatibility version 7000) but source was compiled with 6021 (compatibility version 6000). If using a binary install, upgrade your CuDNN library to match. If building from sources, make sure the library loaded at runtime matches a compatible version specified during compile configuration. 解釋自己是什么問題。

我的建議是安裝cudnn 7.0.5,如果您已安裝cuda 9.1,則從源頭重新構建並仔細閱讀說明,或者如果安裝了cuda 9.0,則使用pip3 install tensorflow-gpu

我也可以證明keras可與cuda 9.1一起使用,並成功測試了您在上面嘗試並鏈接的代碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM