Mac下CUDA開啓及Tensorflow-gpu 1.4安裝

本文由@ray 出品,轉載請註明出處。
文章鏈接:
http://blog.csdn.net/wz22881916/article/details/78495543


在之前的文章中,筆者介紹了在Mac下安裝Tensorflow及開發環境搭建。但是感覺用CPU跑機器學習還是太慢了,所以便研究研究如何使用GPU來跑。

1.運行環境

軟件環境:
macOS Sierra 10.12.6
Xcode 8.2.1
Python 2.7
Homebrew

GPU Driver: WebDriver-378.05.05.25f03
CUDA Driver: cudadriver-8.0.90-macos
CudaToolkit: cuda_8.0.61_mac
CUDNN: cudnn-8.0-osx-x64-v6.0

硬件環境:
CPU:2.3 GHz Intel Core i7
Memory:16 GB 1600 MHz DDR3
GPU:NVIDIA GeForce GT 750M 2048 MB

這裏寫圖片描述
這裏寫圖片描述

首先需要注意的是,新版的Macbook現在搭載的都是A卡,這類機器的話除了用OpenCL的方法之外,還可以通過外置顯卡的方法跑機器學習。

2.CUDA安裝

首先需要說明的是:CUDA Driver與NVIDIA GPU Driver的版本必須一致,才能讓CUDA找到顯卡。

在mac上安裝CUDA最麻煩的事情就是版本匹配問題,這個版本匹配指的是MacOS版本和CUDA Driver、GPU Driver的版本都要匹配。這個網站提供了詳細的版本對照:http://www.macvidcards.com/drivers.html

1.先根據macOS 10.12.6版本,在這個網站http://www.macvidcards.com/drivers.html找到相應的GPU Driver-378.05.05.25f03(筆者的是這個版本),下載安裝。
(鏈接:https://pan.baidu.com/s/1dFB6RzN 密碼:rbcv)

2.再進入CUDA Driver頁面http://www.nvidia.com/object/mac-driver-archive.html,找到和GPU driver匹配的版本(cudadriver-8.0.90-macos筆者下的是這個),然後下載安裝。

3.再進入CUDA Toolkit頁面https://developer.nvidia.com/cuda-toolkit-archive,下載、安裝CUDA Toolkit(筆者安裝的是cuda_8.0.61_mac)
(鏈接:https://pan.baidu.com/s/1bppWjt9 密碼:pthw)

4.CUDNN,筆者這裏下的是 cudnn-8.0-osx-x64-v6.0 https://developer.nvidia.com/rdp/cudnn-download
(鏈接:https://pan.baidu.com/s/1c2Nee1E 密碼:rpgq)

在以上①②③個東西都安裝好之後,配置 CUDA 環境,編輯 ~/.bash_profile 文件,打開終端:

open -e .bash_profile

然後在彈出的文件中添加:

export CUDA_HOME=/usr/local/cuda
export DYLD_LIBRARY_PATH="$CUDA_HOME/lib:$CUDA_HOME/extras/CUPTI/lib"
export LD_LIBRARY_PATH=$DYLD_LIBRARY_PATH
export PATH=$DYLD_LIBRARY_PATH:$PATH
export flags="--config=cuda --config=opt"

執行命令重啓bash_profile

$ . ~/.bash_profile

檢測CUDA能否正常運行:

$ cd /usr/local/cuda/samples
$ sudo make -C 1_Utlities/deviceQuery
$ ./bin/x86_64/darwin/release/deviceQuery

如果最後顯示 Result = PASS,那麼CUDA就工作正常

隨後再安裝CUDNN

下好後直接把cudnn-8.0-osx-x64-v6.0.tar壓縮包丟到這下面,這是在安裝CUDA的時候他就幫你建好的一個路徑。

/Developer

然後sudo tar xvf cudnn-8.0-osx-x64-v6.0.tar解壓它。

官方解壓出來叫做cuda應該意思就是讓你放到cuda這個文件夾下和cuda自己的文件合併。

在瞭解cuda的前情後,就知道怎麼裝這個cudnn了。

sudo mv include/cudnn.h /Developer/NVIDIA/CUDA-8.0/include/
sudo mv lib/libcudnn* /Developer/NVIDIA/CUDA-8.0/lib
ln -s /Developer/NVIDIA/cudnn/include/* /usr/local/cuda/include/
ln -s /Developer/NVIDIA/cudnn/lib/* /usr/local/cuda/lib/

至此CUDA部分安裝結束。

附上一張用CUDA-Z查看的圖:
(鏈接:https://pan.baidu.com/s/1slxBoPf 密碼:d43e)
這裏寫圖片描述

3.Tensorflow_gpu安裝

這裏依然是基於之前文章中提到的Anaconda環境進行安裝,不知道的同學可以看這裏http://blog.csdn.net/wz22881916/article/details/78495543

3.1 打開終端,輸入以下命令創建環境:

$ conda create -n tensorflow_gpu python=2.7

3.2 激活環境:

$ source activate tensorflow_gpu

3.3 安裝tensorflow:

安裝tensorflow的時候特別的需要小心,因爲tensorflow團隊宣佈停止支持1.2以後mac 版的tensorflow了。

如果你直接用pip install 的方法的話,那麼應該會裝成1.1版的tensorflow:

pip install tensorflow-gpu

我來詳細的介紹一下安裝tensorflow-gpu 1.4版的步驟:

你可以選擇自己從源碼編譯tensorflow進行安裝,或者使用別人編譯好的進行安裝。

筆者這裏提供一個環境爲python=2.7,CUDA=8.0,CUDNN=6,Compute Capability=3.0,3.5,5.2,6.1,tensorflow=1.4.0的版本給大家。如果你裝的版本和筆者在上文中提到的一樣的話,那麼下載下來這個包之後,
(鏈接:https://pan.baidu.com/s/1hsgY5Kg 密碼:suq7)

cat 到下載目錄下,

然後直接

pip install tensorflow-1.4.0-cp27-cp27m-macosx_10_12_intel.whl

即可

其中cp27代表的是python的版本爲2.7版的,如果是cp35,cp36,那麼就代表是python3.5或者python3.6的;macosx_10_12代表的是操作系統的版本號

3.4 測試tensorflow

  1. 運行python環境

  2. 執行如下測試腳本:

import tensorflow as tf
hello = tf.constant('Hello, TensorFlow!')
sess = tf.Session()
print(sess.run(hello))

3 . 測試結果:

2017-12-14 23:26:26.352229: I tensorflow/core/platform/cpu_feature_guard.cc:137] Your CPU supports instructions that this TensorFlow binary was not compiled to use: SSE4.2 AVX AVX2 FMA
2017-12-14 23:26:27.049231: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:859] OS X does not support NUMA - returning NUMA node zero
2017-12-14 23:26:27.050014: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1062] Found device 0 with properties: 
name: GeForce GT 750M major: 3 minor: 0 memoryClockRate(GHz): 0.9255
pciBusID: 0000:01:00.0
totalMemory: 2.00GiB freeMemory: 1.71GiB
2017-12-14 23:26:27.050043: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1152] Creating TensorFlow device (/device:GPU:0) -> (device: 0, name: GeForce GT 750M, pci bus id: 0000:01:00.0, compute capability: 3.0)

Hello, TensorFlow!

4. 參考文獻

https://www.tensorflow.org/install/install_mac#the_url_of_the_tensorflow_python_package

http://blog.csdn.net/eengel/article/details/73245079

http://blog.csdn.net/eengel/article/details/73291190?utm_source=itdadao&utm_medium=referral

https://zhuanlan.zhihu.com/p/25045282

https://gist.github.com/smitshilu/53cf9ff0fd6cdb64cca69a7e2827ed0f

http://www.jianshu.com/p/b31939ca5907

http://cache.baiducontent.com/c?m=9d78d513d99c12fe4fede5285a528c374e4381137f90875534c0d408cd6b01070124f4ba543f0d4196806b6776f1121ba0ab652f200357eadb9d954adfb897352d883a722740c71c528747f28e5125b77fc30bfeaf6fbafbe732e5b9a5d5c82459dd59766d8086cd0d5c55972fa44a6ca6b1993e022817ad9e4772f552605e953433b750f3e72519739686ac4b46c93da765069ca922c34a05c217b3156a334ea35bb17e006166b358508b534d7585e156fa&p=c36dc54ad5c14be81abe9b7c485dcf&newp=882a9647dcdf0ebe0ebe9b7c1b0c9f231610db2151d4d31e6b82c825d7331b001c3bbfb423241b01d6c0766202af4c5fedf6327033012ba3dda5c91d9fb4c5747994682526&user=baidu&fm=sc&query=mac+deviceQuery&qid=ae21222600004a3e&p1=9

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章