簡體   English   中英

Tensorflow GPU / CUDA 在 Ubuntu 上的安裝

[英]Tensorflow GPU / CUDA installation on Ubuntu

我已經設置了一個 Ubuntu 18.04 並嘗試使用 Python 使 Tensorflow 2.2 GPU 工作(我有一個 Nvidia/CUDA 顯卡)。 即使在閱讀文檔https://www.tensorflow.org/install/gpu#linux_setup 之后,它也失敗了(有關它如何失敗的詳細信息,請參見下文)。

問題:您是否有一個規范的“待辦事項”列表(起點:新安裝的 Ubuntu 服務器)關於如何通過幾個步驟安裝tensorflow-gpu並使其工作?

筆記:

  • 我讀過很多類似的論壇帖子,我認為有一個規范的“todo”(從全新的 Ubuntu 安裝到讓tensorflow-gpu工作)會很有趣,只需幾個步驟/bash 命令

  • 我使用的文檔涉及

     export LD_LIBRARY_PATH... # Add NVIDIA package repository sudo apt-key adv --fetch-keys http://developer.download... ... # Install CUDA and tools. Include optional NCCL 2.x sudo apt install cuda9.0 cuda...

    即使經過大量的試驗和錯誤(我不會在這里復制/粘貼所有不同的錯誤,會太長),然后在最后:

     import tensorflow

    總是失敗。 一些原因包括`ImportError: libcublas.so.9.0: cannot open shared object file: No such file or directory。 我已經在這里閱讀了相關問題,或者這個很長的 (!) Github 問題

  • 經過一些反復試驗, import tensorflow可以工作,但它不使用 GPU(另請參閱Tensorflow not running on GPU )。

好吧,我面臨着同樣的問題。 首先要做的是查找,需要哪個Tensorflow版本。 在你的情況下Tensorflow 2.2 需要CUDA 10.1 正確的 cuDNN 版本也很重要。 在您的情況下,它將是cuDNN 7.4 另外一點是安裝的python版本。 我會推薦Python 3.5-3.8 如果其中一個不匹配,則完全兼容幾乎是不可能的。

因此,如果您想要一份檢查清單,請訪問:

  1. 通過安裝 nvidia-cuda-toolkit 來安裝 CUDA 10.1。
  2. 安裝與 CUDA 10.1 兼容的 cuDNN 版本。
  3. 導出 CUDA 環境變量。
  4. 如果未安裝 Bazel,系統會詢問您。
  5. 使用 pip 安裝 TensorFlow 2.2。 我強烈推薦使用虛擬環境。

你可以在這里找到 Tensorflow 和 CUDA 的兼容性檢查列表

您可以在此處找到 CUDA 工具包

最終在此處獲得正確版本的 cuDNN

就這樣。

在將Google Cloud Platform用於涉及深度學習的兩個項目時,我也遇到了問題。 他們為服務器提供的只是全新安裝的Ubuntu OS。 根據我的經驗,我建議執行以下步驟:

  • 在Tensorflow頁面上查找當前Tensorflow版本支持的cuda和cuDNN版本。
  • Nvidias cuda頁面檢索的deb軟件包中安裝目標cuda版本,請注意,較新的cuda版本可能無法正常工作! 這將自動安裝相應的Nvidia驅動程序。
  • 從此頁面安裝目標cuDNN版本,並再次注意可能無法使用最新的cuDNN版本
  • 使用pip安裝tensorflow-gpu。

這應該工作。 您的問題可能是您使用的是最新的cuda版本,而不是當前Tensorflow版本所針對的版本。

要安裝tensorflow-gpu,官方網站上提供的指南對於初學者來說非常繁瑣,相反,我們可以執行以下簡單步驟:

注意:在此之前必須先安裝NVIDIA驅動程序(您可以使用命令nvidia-smi進行驗證)。

  1. 安裝Anaconda https://www.anaconda.com/distribution/嗎?
  2. 使用命令“ conda create -n envname”創建虛擬環境
  3. 然后使用命令“ conda activate envname”激活環境。
  4. 最后使用命令“ conda install tensorflow-gpu”安裝tensorflow

用給定的代碼

import tensorflow as tf
      if tf.test.gpu_device_name():
           print('Default GPU Device{}'.format(tf.test.gpu_device_name()))
      else:
           print("not using gpu")

您可以在下面提供的鏈接上找到該教程https://www.pugetsystems.com/labs/hpc/Install-TensorFlow-with-GPU-Support-the-Easy-Way-on-Ubuntu-18-04-without-installing -CUDA-1170 /

我建議首先使用nvidia-smi命令檢查 GPU 的可用性。

我遇到了同樣的問題,我能夠通過使用 docker 容器來解決它,您可以在 Ubuntu 上使用Install Docker Engine 安裝 docker或使用 Digital Ocean 指南(我使用過這個) How To Install and Use Docker on Ubuntu 18.04

之后就很簡單了,根據需求運行以下命令即可

NV_GPU='0' nvidia-docker run --runtime=nvidia -it -v /path/to/folder:/path/to/folder/for/docker/container nvcr.io/nvidia/tensorflow:17.11

NV_GPU='0' nvidia-docker run --runtime=nvidia -it -v /storage/research/:/storage/research/ nvcr.io/nvidia/tensorflow:20.12-tf2-py3

這里'0'代表GPU編號,如果你想使用多個GPU就使用'0,1,2'等等......

希望這能解決問題。

暫無
暫無

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

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