win10+Anaconda3+tensorflow(gpu)+cuda9.0+cudnn7.1+ide(sublime)+好用的科學工具包配置
1、下載科學工具包(類似jdk、sdk的東東)
①Anaconda3選取電腦對應的系統,建議下載3的最新版本
②在環境變數中再新增Scripts地址 樣例如下
下載之後基本上常用的科學工具包都會有
比較常用的numpy、matplotlib、scikit-learn、pandas、OpenCV
2、下載cuda
cuda是nvida公司開發的運算平臺,顯示卡比較好的同學請使用~
注意按照我給的版本下載 我給的是測試了n次好用並且能和cudnn適配的版本 其他版本坑比較多
3、cuDNN
cuDNN是nvida開發的深度神經網路的GPU加速庫
注意了是library,所以下載後需把目錄下的/bin配置到環境變數中
看清楚數字 下載win10版本
4、GPU CPU
想必聽的比較多了。
CPU為中央處理器,GPU為圖形處理器。
GPU的核遠超CPU,所以計算能力強,但不代表能比CPU在複雜性的分散式計算等方面會更好。
其中綠色的是計算單元,橙紅色的是儲存單元,橙黃色的是控制單元。
通俗說:
CPU 力氣大啥P事都能幹,還要協調。
GPU 上面那傢伙的小弟,老大讓他處理圖形,這方面處理簡單,但是量大,老大雖然能處理,可是老大隻有那麼幾個兄弟,所以不如交給小弟處理了,小弟兄弟多,有數百至數千個,而且是專門只幹這行和只能幹這行。
弄好後進入命令列 下載幾個東東:
1、activate tensorflow 進入gpu環境
pip install tensorflow-gpu
2、測試:
①activate tensorflow進入gpu模式
②匯入import tensorflow as tf
③測試:sess = tf.Session()
5、CUDA和cuDNN
CUDA(Compute Unified Device Architecture),是英偉達公司推出的一種基於新的並行程式設計模型和指令集架構的通用計算架構,它能利用英偉達GPU的平行計算引擎,比CPU更高效的解決許多複雜計算任務。
CuDNN用於深度神經網路的GPU加速庫。它強調效能、易用性和低記憶體開銷。
支援的演算法
- 卷積操作、相關操作的前向和後向過程。
- pooling的前向後向過程
- softmax的前向後向過程
- 啟用函式的前向後向過程
- ReLU
- sigmoid
- TANH
- Tensor轉換函式,其中一個Tensor就是一個四維的向量。
#一些常見概念:
- 主機
將CPU及系統的記憶體(記憶體條)稱為主機。 - 裝置
將GPU及GPU本身的顯示記憶體稱為裝置。 - 執行緒(Thread)
一般通過GPU的一個核進行處理。(可以表示成一維,二維,三維,具體下面再細說)。 - 執行緒塊(Block)
1. 由多個執行緒組成(可以表示成一維,二維,三維,具體下面再細說)。
2. 各block是並行執行的,block間無法通訊,也沒有執行順序。
3. 注意執行緒塊的數量限制為不超過65535(硬體限制)。 - 執行緒格(Grid)
由多個執行緒塊組成(可以表示成一維,二維,三維,具體下面再細說)。 - 執行緒束
在CUDA架構中,執行緒束是指一個包含32個執行緒的集合,這個執行緒集合被“編織在一起”並且“步調一致”的形式執行。在程式中的每一行,執行緒束中的每個執行緒都將在不同資料上執行相同的命令。 - 核函式(Kernel)
- 在GPU上執行的函式通常稱為核函式。
- 一般通過識別符號
__global__
修飾,呼叫通過<<<引數1,引數2>>>,用於說明核心函式中的執行緒數量,以及執行緒是如何組織的。 - 以執行緒格(Grid)的形式組織,每個執行緒格由若干個執行緒塊(block)組成,而每個執行緒塊又由若干個執行緒(thread)組成。
- 是以block為單位執行的。
- 只能在主機端程式碼中呼叫。
- 呼叫時必須宣告核心函式的執行引數。
- 在程式設計時,必須先為kernel函式中用到的陣列或變數分配好足夠的空間,再呼叫kernel函式,否則在GPU計算時會發生錯誤,例如越界或報錯,甚至導致藍屏和宕機。
6、sublime
最近是pcharm到期了重新申請。
但是發現sublime出奇的好用,想必大家電腦都會裝,這裡給一些比較好用的外掛。
分享知乎上的一個問題:
7、一些包OpenCV
pip命令不好使 去官網下個輪子
用命令列cd到檔案然後pip install 檔名
8、xgboost
不多說 神器 建議找視訊多看看
下載這個之前先下載個git 一路安裝完
找個資料夾 git bash here
git clone --recursive https://github.com/dmlc/xgboost
git init
git submodule init git submodule update
alias make='mingw32-make'
cp make/mingw64.mk config.mk; make -j4
這裡可能會報錯,因為沒有mingw64,下載地址,注意選系統
重新輸入
cp make/mingw64.mk config.mk; make -j4
執行成功需要等一會 重新進入一次開啟git bash 逐行輸入
which mingw32-make
alias make='mingw32-make'
cd dmlc-core
make -j4
cd ../rabit
make lib/librabit_empty.a -j4
c ..
cp make/mingw64.mk config.mk
make -j4
cd python-package
python setup.py install
大功告成
開啟cmd輸入conda list
好吧最近xgboost又更新到了0.71
所有比較麻煩需要配置的東東都在這裡啦~