關(guān)于配置 ——nvidia gtx 960m + win7 + tensorflow + keras:
1.首先安裝顯卡驅(qū)動(dòng)火焰,不同cuda版本對(duì)不同驅(qū)動(dòng)版本有不同要求,可以安裝最新版的;
2.根據(jù)tensorflow版本來安裝cuda版本忧设,目前tensorflow 1.x 至少要求cuda 8及以上的版本廊谓;
3.cuda 9及以上版本基本要求cuDNN 7及以上的版本;
4.安裝完cuda以后(可參考https://www.cnblogs.com/shiganquan/p/9496038.html)瘸右,需要進(jìn)行路徑的配置以及功能測(cè)試:
a.在CMD窗口輸入nvcc -V;
b.在將cuda默認(rèn)安裝在C盤后岩齿,在program data盤(一般為隱藏文件)里會(huì)有cuda samples文件太颤,利用VS重新編譯里面的.sln項(xiàng)目,看是否存在錯(cuò)誤盹沈;在該步驟中要選擇release模式龄章;
c.在cmd窗口運(yùn)行通過release編譯后得到的deviceQuery和bandwithtest文件。
5.在下載安裝完顯卡驅(qū)動(dòng)以及CUDA之后乞封,安裝tensorflow時(shí)最好在虛擬環(huán)境中進(jìn)行做裙,實(shí)踐可行的有——
參考 配置tensorflow和keras時(shí)教程及問題總結(jié):
a.創(chuàng)建虛擬環(huán)境——conda create -n your_env_name python=X.X(2.7、3.6等)肃晚,可以分別創(chuàng)建cpu版和gpu版tensorflow的兩個(gè)環(huán)境锚贱;
b.在cpu版環(huán)境中,選擇python3.5版本(conda create -n tensorflow python=3.5)的关串;安裝完成后輸入activate tensorflow進(jìn)入環(huán)境拧廊,安裝tensorflow==1.13.1的版本(pip install tensorflow==1.13.1)杂穷,測(cè)試如下代碼看是否可用:
import tensorflow as tf
hello = tf.constant('Hello, TensorFlow!')
sess = tf.Session()
print(sess.run(hello))
c.進(jìn)一步安裝keras(pip install keras==2.2.4),至此完成cpu環(huán)境下的配置卦绣;
d.gpu環(huán)境下的配置選用的版本搭配為:python3.6+CUDA9.0+CUDNN7.0耐量;
e.在激活的tensorflow-GPU環(huán)境下,pip install tensorflow-gpu==1.7.0滤港,最后驗(yàn)證此時(shí)的tensorflow的代碼是否是在使用GPU:
import tensorflow as tf
a = tf.test.is_built_with_cuda() #判斷CUDA是否可用
b = tf.test.is_gpu_available(cuda_only=False,min_cuda_compute_capability=None) #判斷GPU是否可用
print(a)
print(b)
6.Tensorflow(CPU)與Tensorflow(GPU)不能共存廊蜒,先裝GPU再裝CPU,也會(huì)被覆蓋溅漾。最好就是刪除CPU版本山叮,只留下GPU版本;
7.使用tf過程可能會(huì)有警告:Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA添履。(參考https://blog.csdn.net/feng98ren/article/details/84874326)
原因:
除了通常的算術(shù)和邏輯屁倔,現(xiàn)代CPU提供了許多低級(jí)指令,稱為擴(kuò)展暮胧,例如锐借, SSE2,SSE4往衷,AVX等钞翔。高級(jí)矢量擴(kuò)展(AVX)是英特爾在2008年3月提出的英特爾和AMD微處理器的x86指令集體系結(jié)構(gòu)的擴(kuò)展,英特爾首先通過Sandy Bridge處理器在2011年第一季度推出席舍,隨后由AMD推出Bulldozer處理器在2011年第三季度布轿。AVX提供了新功能,新指令和新編碼方案来颤。特別是汰扭,AVX引入了融合乘法累加(FMA)操作,加速了線性代數(shù)計(jì)算福铅,即點(diǎn)積萝毛,矩陣乘法,卷積等本讥。幾乎所有機(jī)器學(xué)習(xí)訓(xùn)練都涉及大量這些操作珊泳,因此將會(huì)支持AVX和FMA的CPU(最高達(dá)300%)更快鲁冯。
在此強(qiáng)調(diào)一下:這只限于CPU拷沸。如果你有一個(gè)GPU,你不應(yīng)該關(guān)心AVX的支持薯演,因?yàn)榇蠖鄶?shù)昂貴的操作將被分派到一個(gè)GPU設(shè)備上(除非明確地設(shè)置)撞芍。在這種情況下,您可以簡(jiǎn)單地忽略此警告跨扮。
解決方法:
(1) 如果安裝的是GPU版本
如果你有一個(gè)GPU序无,你不應(yīng)該關(guān)心AVX的支持验毡,因?yàn)榇蠖鄶?shù)昂貴的操作將被分派到一個(gè)GPU設(shè)備上(除非明確地設(shè)置)。在這種情況下帝嗡,您可以簡(jiǎn)單地忽略此警告:
import os
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'
(2) 如果安裝的是CPU版本(pip install tensorflow)
a.在代碼中加入如下代碼晶通,忽略警告:
import os
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'
b.編譯TensorFlow源碼:
如果您沒有GPU并且希望盡可能多地利用CPU,那么如果您的CPU支持AVX哟玷,AVX2和FMA狮辽,則應(yīng)該從針對(duì)CPU優(yōu)化的源構(gòu)建tensorflow。在這個(gè)問題中已經(jīng)討論過這個(gè)問題巢寡,也是這個(gè)GitHub問題喉脖。 Tensorflow使用稱為bazel的ad-hoc構(gòu)建系統(tǒng),構(gòu)建它并不是那么簡(jiǎn)單抑月,但肯定是可行的树叽。在此之后,不僅警告消失谦絮,tensorflow性能也應(yīng)該改善题诵。
8.使用nvidia-smi命令查看gpu使用情況,首先映射到cd/d C:\Program Files\NVIDIA Corporation\NVSMI层皱,再輸入nvidia-smi仇轻。
TIPS——一些實(shí)用命令:
1.conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes
2.conda info -e #查看當(dāng)前存在哪些虛擬環(huán)境
3.deactivate #關(guān)閉虛擬環(huán)境 ;conda remove -n yourenvname #移除某個(gè)虛擬環(huán)境
conda install keras將默認(rèn)安裝cpu版本的tensorflow
若anaconda創(chuàng)建python環(huán)境時(shí)出現(xiàn)CondaHTTPError問題奶甘,可以添加一些國(guó)內(nèi)源:
針對(duì)WIN7——
清華源(TUNA)
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/ # 設(shè)置搜索時(shí)顯示通道地址
conda config --set show_channel_urls yes
中科大源(USTC)
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/msys2/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/bioconda/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/menpo/
conda config --set show_channel_urls yes
針對(duì)WIN10——
conda config --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels http://mirrors.ustc.edu.cn/anaconda/cloud/conda-forge/
conda config --set show_channel_urls yes
以上的過程篷店,實(shí)際更改的是的文件是 Windows:C:\Users\用戶名.condarc。
關(guān)于配置——nvidia gtx 960m + win7 + mxnet:
pip install mxnet-cu90 臭家。疲陕。。未完待續(xù)