Anaconda下安裝keras 配置(windows版本 GPU版)
Anaconda下安裝keras 配置與pycharm執行demo(windows版本)
1、Anaconda概述
Anaconda是一個用於科學計算的Python發行版,支援Linux, Mac, Windows系統,提供了包管理與環境管理的功能,可以很方便地解決多版本python並存、切換以及各種第三方包安裝問題。Anaconda利用工具/命令conda來進行package和environment的管理,並且已經包含了Python和相關的配套工具。
再說一下conda的設計理念——conda將幾乎所有的工具、第三方包都當做package對待,甚至包括python和conda自身!因此,conda打破了包管理與環境管理的約束,能非常方便地安裝各種版本python、各種package並方便地切換。
2、Anaconda安裝
Anaconda的下載頁有官網下載地址:https://www.continuum.io/downloads
,對Linux、Mac、Windows均支援。還可以選擇清華的映象下載,下載地址:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/ 安裝時,會發現有兩個不同版本的Anaconda,分別對應Python 2.7和Python 3.5,兩個版本其實除了這點區別外其他都一樣。Anaconda2對應的是Python
2.7,Anaconda3對應的是Python 3.+。
下載後直接按照說明安裝即可。這裡需要注意:儘量按照Anaconda預設的行為安裝。這樣的好處是,同一臺機器上的不同使用者完全可以安裝、配置自己的Anaconda,不會互相影響。
對於Mac、Linux系統,Anaconda安裝好後,實際上就是在主目錄下多了個資料夾(~/anaconda)而已,Windows會寫入登錄檔。安裝時,安裝程式會把bin目錄加入PATH(Linux/Mac寫入~/.bashrc,Windows新增到系統變數PATH),這些操作也完全可以自己完成。
安裝完成後可以用conda –version命令檢查是否正確。
這裡我選擇下載了這個版本:
3、Conda的操作(常用)
# 安裝scipy
conda install scipy
# conda會從從遠端搜尋scipy的相關資訊和依賴專案,對於python 3.4,conda會同時安裝numpy和mkl(運算加速的庫)
# 檢視已經安裝的packages
conda lis
# 最新版的conda是從site-packages資料夾中搜索已經安裝的包,不依賴於pip,因此可以顯示出通過各種方式安裝的包
# 更新conda,保持conda最新
conda update conda
# 更新anaconda
conda update anaconda
# 更新python
conda update python
# 假設當前環境是python 3.4, conda會將python升級為3.4.x系列的當前最新版本
# 新增Anaconda的TUNA映象
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
# TUNA的help中映象地址加有引號,需要去掉
# 設定搜尋時顯示通道地址
conda config --set show_channel_urls yes
4、安裝theano+Keras+MinGW
安裝好Anaconda之後,搜尋程式開啟Anaconda Prompt,在命令列依次中輸入,安裝好一個後再鍵入下一句命令。
pip install Theano
pip install keras
conda install mingw libpython (安裝過程中碰到Proceed ([y]/n)? 鍵入y回車)
還需要安裝scipy,鍵入下面的命令。
conda install scipy
5、GPU加速 (CPU版 跳過這一步)
(1)VS 2013預設安裝,可以只選C++部分
(2)cuda_7.5.18_win10.exe預設安裝
- 安裝完後,開啟環境變數應該會多出來2個變數,CUDA_PATH_V7_5和CUDA_PATH.
- 開啟cmd控制檯命令列,輸入命令nvcc –V回車(注意是大寫V)就可以檢視版本資訊,如果安裝正確會顯示Cuda的版本號。
- 可以在C:\ProgramData\NVIDIA Corporation\CUDA Samples\v7.5\bin\win64\Release雙擊histogram.exe,如果沒有報錯,CUDA安裝是沒有問題的
(3) 加速庫CuDNN
從官網下載需要註冊 Nvidia 開發者賬號,網盤搜尋一般也能找到。 Windows目前最新版v6.0,但是keras尚未支援此版本,請下載v5.1版本,即 cudnn-8.0-win-x64-v5.1.zip。 下載解壓出來是名為cuda的資料夾,裡面有bin、include、lib,將三個資料夾複製到安裝CUDA的地方覆蓋對應資料夾,
預設資料夾在:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v7.5
(4)配置.theanorc.txt
-
在使用者目錄下新建.theanorc.txt
-
配置
[nvcc]
fastmath = True
flags = -LC:\Anaconda2\libs
compiler_bindir = C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin
[global]
device = gpu0
floatX = float32
[blas]
ldflags=
[gcc]
cxxflags=-IC:\Anaconda2\MinGW
注意點
- python,gcc,nvcc的路徑不要錯
- gpu0(不是gpu,不然會報路徑錯誤)
6、出現的麻煩事
6.1、import theano出現的問題
(C:\ProgramData\Anaconda2) C:\Windows\system32>python
Python 2.7.13 |Anaconda 4.3.1 (64-bit)| (default, Dec 19 2016, 13:29:36) [MSC v.1500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
Anaconda is brought to you by Continuum Analytics.
Please check out: http://continuum.io/thanks and https://anaconda.org
>>> import theano
WARNING (theano.configdefaults): g++ not available, if using conda: `conda install m2w64-toolchain`
WARNING (theano.configdefaults): g++ not detected ! Theano will be unable to execute optimized C- implementations (for both CPU and GPU) and will default to Python implementations. Performance will be severely degraded. To remove this warning, set Theano flags cxx to an empty string.
>>> exit()
鍵入命令解決:conda install m2w64-toolchain
1
6.2、 conda install mingw libpython 出現的問題
報錯文字
CondaIOError: IO error: Missing write permissions in: C:\Program Files\Anaconda2
#
# You don't appear to have the necessary permissions to install packages
# into the install area 'C:\Program Files\Anaconda2'.
# However you can clone this environment into your home directory and
# then make changes to it.
# This may be done using the command:
#
# $ conda create -n my_root --clone=C:\Program Files\Anaconda2
這個是許可權的問題,有可能是Anaconda Prompt不是用管理員許可權開啟的。重新用管理員許可權開啟後,鍵入命令即正常。
修改程式碼中本地檔案下讀取資料集: 1、在demo所在的資料夾中新增資料集壓縮包,下載地址:
2、然後修改程式碼
#載入資料
import pickle
import gzip
f = gzip.open('mnist.pkl.gz', 'rb')
data = pickle.load(f)
f.close()
(X_train, y_train), (X_test, y_test) = data
13
7、附keras與theano的官方文件等
keras中文文件:http://keras-cn.readthedocs.io/en/latest/getting_started/concepts/
theano英文文件:http://deeplearning.net/software/theano/install_windows.html
python包非官方包:http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy
參考資源: