1. 程式人生 > >使用GPU加速TensorFlow機器學習

使用GPU加速TensorFlow機器學習

    在Thinkpad X260上執行一個CNN影象分類的樣例程式時,發現速度特別慢,迭代一輪要將近5分鐘,那麼迭代200輪需要1000分鐘,16個小時!在看到TensorFlow相關的書籍時,總是提到GPU加速,對於這樣的問題,應該能派上用場吧。TensorFlow目前只支援NVIDIA顯示卡,筆者手頭沒有,阿里雲上有GPU計算型ECS,便“按量付費”買了一臺,開始了一場“坎坷小貴”的驗證之旅。坎坷的原因是沒有找到一篇完整的指南,遇到各種的版本問題,Tensorflow作為咕果的產品官網打不開;小貴是因為伺服器12元/小時,後來看到NVIDIA Tesla P100一塊賣40000元,好吧,也不是阿里雲搶咱的錢。下面一起來如何在阿里雲GPU計算型ECS伺服器上執行TensorFlow機器學習。

友情提示:本文中使用的版本已經經過驗證,直接使用這些版本可以避免很多“坑”

購買阿里雲GPU計算型ECS

    筆者購買的是ecs.gn5-c4g1.xlarge例項規格,使用Ubuntu 16.04 64位作業系統


安裝NVIDIA CUDA Toolkit

    NVIDA CUDA Toolkit中含有顯示卡驅動,不要提前安裝顯示卡驅動,以免衝突。在NVIDA網站上找到CUDA Toolkit 9.0下載地址

wget https://developer.nvidia.com/compute/cuda/9.0/Prod/local_installers/cuda_9.0.176_384.81_linux-run
wget https://developer.nvidia.com/compute/cuda/9.0/Prod/patches/1/cuda_9.0.176.1_linux-run
wget https://developer.nvidia.com/compute/cuda/9.0/Prod/patches/2/cuda_9.0.176.2_linux-run

下載後依次執行,執行時可以都接受預設值,或選擇y

sh cuda_9.0.176_384.81_linux-run
sh cuda_9.0.176.1_linux-run
sh cuda_9.0.176.2_linux-run

    安裝後注意將類庫路徑新增到LD_LIBRARY_PATH中:

export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64

安裝cuDNN

    先註冊一個NVIDIA開發者賬號並登入,然後在下載頁面https://developer.nvidia.com/rdp/cudnn-download,下載cuDNN v7.0.5 Runtime Library for Ubuntu16.04 (Deb),下載後上傳到阿里雲伺服器


然後執行

dpkg -i libcudnn7_7.0.5.15-1+cuda9.0_amd64.deb

安裝TensorFlow GPU版

執行以下的命令,安裝相容的tensorflow-gpu:

apt-get update -y
apt-get install -y python3-pip
pip3 install --upgrade pip
pip3 install tensorflow-gpu

執行TensorFlow訓練程式驗證

如圖,訓練一輪的時間已經從Thinkpad上的5分鐘加速到了25秒,是否感覺已經從遙不可及變得指日可待了呢?


常見問題彙總

1. ImportError: libcublas.so.9.0: cannot open shared object file: No such file or directory

    如果你的伺服器上可以搜到libcublas.so.9.0檔案,因為類庫路徑沒有新增到LD_LIBRARY_PATH中,可以新增後再試。如果搜尋不到,但是存在其它libcublas.so檔案,那是版本不相容,可解除安裝後重新安裝CUDA 9.0再試

2.  Loaded runtime CuDNN library: 7102 (compatibility version 7100) but source was compiled with 7005 (compatibility version 7000)

    CuDNN版本過高,解除安裝後安裝7.0.5版本即可解決

相關推薦

使用GPU加速TensorFlow機器學習

    在Thinkpad X260上執行一個CNN影象分類的樣例程式時,發現速度特別慢,迭代一輪要將近5分鐘,那麼迭代200輪需要1000分鐘,16個小時!在看到TensorFlow相關的書籍時,總是提到GPU加速,對於這樣的問題,應該能派上用場吧。TensorFlow目前

tensorflow 機器學習資料及其工具庫

人工智能 深度學習 C通用機器學習Recommender - 一個產品推薦的C語言庫,利用了協同過濾.計算機視覺CCV - C-based/Cached/Core Computer Vision Library ,是一個現代化的計算機視覺庫。VLFeat - VLFeat 是開源的 computer

TensorFlow機器學習框架-學習筆記-001

imp bsp con `` ant In session 框架 constant # TensorFlow機器學習框架-學習筆記-001 ### 測試TensorFlow環境是否安裝完成-----------------------------```import ten

tensorflow機器學習模型的跨平臺上線

global AC 算法 form classes amp nio style die     在用PMML實現機器學習模型的跨平臺上線中,我們討論了使用PMML文件來實現跨平臺模型上線的方法,這個方法當然也適用於tensorflow生成的模型,但是由於tensorflow

TensorFlow機器學習實戰指南》中文版PDF+英文版PDF+源代碼

源代碼 配套 log shadow pdf ges https 機器學習實戰 ffffff 下載:https://pan.baidu.com/s/1Oeho172yfw1J6mCiXozQig 《TensorFlow機器學習實戰指南》中文版PDF+英文版PDF+源代碼 高清

分享《TensorFlow機器學習專案實戰》中文PDF+英文PDF+原始碼

下載:https://pan.baidu.com/s/1U3OiYNhS9ncvzpHGMoZfjA 更多資料分享:http://blog.51cto.com/3215120 《TensorFlow機器學習專案實戰》中文PDF+英文PDF+原始碼中文PDF,331頁,帶書籤目錄,文字可以複製,彩色配圖。英

分享《TensorFlow機器學習項目實戰》中文PDF+英文PDF+源代碼

mage ESS img 中文版 中文 fff 其中 blog 機器學習 下載:https://pan.baidu.com/s/1U3OiYNhS9ncvzpHGMoZfjA 更多資料分享:http://blog.51cto.com/3215120 《TensorFlow機

TensorFlow機器學習專案實戰》[ Rodolfo,Bonnin 著]中文PDF+英文PDF+原始碼下載

本書是介紹如何在產品中使用TensorFlow的實用教程。本書介紹了可以使用TensorFlow的多種情況, 並通過真實世界的專案, 向讀者展示瞭如何使用TensorFlow。本書還講解了在實際環境中使用TensorFlow的創新方法。  本書主要介紹第二代機器學習與數值計算,提供了

分享《TensorFlow機器學習實戰指南+PDF+源碼+尼克.麥克盧爾+ 曾益強

text 書籍 shadow 英文版 follow 英文 ref ecc 資料 2018-11-01 19:37:54下載:https://pan.baidu.com/s/1eNXbL6eXb01ABzCV-VRZPw 更多資料分享:http://blog.51cto.co

分享《TensorFlow機器學習項目實戰》+PDF+源碼+Rodolfo Bonnin+姚鵬鵬

-o href 作者 項目實戰 type pdf 中文 使用 shadow 下載:https://pan.baidu.com/s/1DbmcwMj4JX3kqr-frFIFLQ 更多資料分享:http://blog.51cto.com/14087171 《TensorFlo

Tensorflow機器學習(三) 程式碼實現反捲積過程(de-convolution/convolution transpose)

卷積神經網路是深度學習中一個很流行的網路模型, 它的原理和過程我就不在此介紹了,感興趣的可以去看一下https://blog.csdn.net/kane7csdn/article/details/83617086。 在這裡,介紹一下反捲積過程(可以叫做deconvolution,或者也可

GPU加速tensorflow

TensorFlow程式可以通過tf.device函式來指定執行每一個操作的裝置,這個裝置可以是本地的CPU或者GPU,也可以是某一臺遠端的伺服器。但在本文中只關心本地的裝置。TensorFlow會給每一個可用的裝置一個名稱,tf.device函式可以通過裝置的名稱來指定執行運算的裝置。比如CPU在

Scikit-Learn與TensorFlow機器學習(高清版)PDF

Scikit-Learn與TensorFlow機器學習(高清版)PDF百度網盤連結:https://pan.baidu.com/s/1MVQvrYc9Dx-bFXrDVWU3OQ 提取碼:03cj 複製這段內容後開啟百度網盤手機App,操作更方便哦內容簡介 · · · · · · 通過具體的例子、很少的理論以

TensorFlow機器學習實戰指南》中文版英文版PDF+原始碼高清完整版免費下載

下載地址:https://pan.baidu.com/s/1-reqkwdl8VosvoeAACHZLw 《TensorFlow機器學習實戰指南》中文版PDF+英文版PDF+原始碼 高清中文版PDF,292頁,帶書籤,文字能夠複製貼上;高清英文版PDF,330頁,帶書籤,文字能夠複製貼上;中英文兩

TensorFlow機器學習模型快速部署指南

本文將介紹一種將訓練後的機器學習模型快速部署到生產種的方式。如果你已使用 TensorFlow 或 Caffe 等深度學習框架訓練好了 ML 模型,該模型可以作為 demo。如果你更喜歡輕量級的解決方案,請閱讀本文。 我剛剛訓練了機器學習模型——那麼現在呢? 這篇文章

Scikit-Learn 與 TensorFlow 機器學習實用指南學習筆記 4 —— 資料探索與視覺化、發現規律

紅色石頭的個人網站:redstonewill.com 目前為止,我們已經對資料有了初步的認識,大體上明白了我們要處理的資料型別。現在,我們將進入更深入的研究。 首先,確保已經劃分了測試集並放置一邊,我們只會對訓練集進行操作。另外,如果訓練集很大,可以從中取樣一些作

Scikit-Learn 與 TensorFlow 機器學習實用指南學習筆記 3 —— 資料獲取與清洗

紅色石頭的個人網站:redstonewill.com 本章將完整地介紹一個端對端(End-to-End)機器學習專案。假如你是某個房地產公司剛僱傭的資料科學家,你所要做的事情主要分成以下幾個步驟: 1.整體規劃。 2.獲取資料。 3.發現、視覺化資料,增加

Scikit-Learn 與 TensorFlow 機器學習實用指南學習筆記2 — 機器學習的主要挑戰

紅色石頭的個人網站:redstonewill.com 簡而言之,因為機器學習的主要任務就是選擇合適的機器學習演算法在資料集上進行訓練,所以不好的演算法和不好的資料都可能嚴重影響訓練效果。下面我們先來看看不好的資料會帶來什麼影響。 1.4.1 訓練資料不足

Scikit-Learn 與 TensorFlow 機器學習實用指南學習筆記1 — 機器學習基礎知識簡介

紅色石頭的個人網站:redstonewill.com 本章介紹的是每一個數據科學家都應該知道並聽說的機器學習許多基本的概念和術語。這將是一個高層次的概括(本書唯一沒有很多程式碼的一章)。內容很簡單,但是你要保證在進行下一章之前對本章每個概念都理解得很透徹。因此,端

windows下設定GPU加速tensorflow運算(GT940M)

必須的工具: Anaconda Cuda8.0 沒有在python3.6下使用過tensorflow,因為之前在3.6的環境下不能用,但現在tensorflow的官網顯示支援3.6版本了,本文按照已經測試能使用的3.5寫教程: 安裝Anaconda時有勾選新增至環