5.3 Windows安裝說(shuō)明
譯者:Python 文檔協(xié)作翻譯小組玖院,原文:Windows Installation Instructions恶迈。
本文以 CC BY-NC-SA 4.0 協(xié)議發(fā)布,轉(zhuǎn)載請(qǐng)保留作者署名和文章出處啃沪。
Python 文檔協(xié)作翻譯小組人手緊缺行冰,有興趣的朋友可以加入我們撒犀,完全公益性質(zhì)。交流群:467338606仿村。
警告
如果你想從GitHub安裝Theano的前沿或開(kāi)發(fā)版本锐朴,請(qǐng)確保你正在閱讀此頁(yè)面的最新版本。
警告
Theano主要在Linux機(jī)器上開(kāi)發(fā)和測(cè)試蔼囊。
這些說(shuō)明逐步介紹了如何使用免費(fèi)提供的工具和編譯器將Theano和所需的依賴關(guān)系安裝在32位或64位系統(tǒng)上焚志。
安裝依賴
注意
以下列出的命令行假定在Windows提示符中運(yùn)行:在Windows <= 7上打開(kāi)提示符,點(diǎn)擊開(kāi)始
并輸入cmd
命令來(lái)啟動(dòng)一個(gè)命令行窗口畏鼓。在Windows 8中酱酬,轉(zhuǎn)到“開(kāi)始”屏幕,然后鍵入command
或cmd
云矫。
Theano目前在Windows上工作膳沽,但它需要編譯器的C / C + +(對(duì)于Python 2.7家庭這必須是Microsoft Visual Studio 2008編譯器),CUDA(CUDA v5.5是必需的,因?yàn)樗侵С諺isual Studio 2008的最新版本)和GCC(由Theano生成的非CUDA C代碼)挑社。
Visual Studio和CUDA
不幸的是陨界,Microsoft最近停止分發(fā)Visual Studio Express 2008(提供了Python 2.7所需的編譯器),因此我們需要臨時(shí)安裝Visual Studio Express 2010滔灶,以便能夠安裝CUDA(其安裝程序需要Visual Studio安裝才能繼續(xù)) 普碎。之后,可以安全地刪除Visual Studio 2010录平。如果有人知道如何安裝CUDA 5.5沒(méi)有正確的Visual Studio安裝麻车,請(qǐng)讓我們知道。
你可以從Visual Studio Express下載斗这。請(qǐng)安裝Visual C版本动猬。我們已下載了一體機(jī)CD,使用7zip解壓縮表箭,并在VCExpress \ setup.exe運(yùn)行安裝程序赁咙。
如果你想要64位Python安裝,Visual Studio 2010 Express不提供64位編譯器免钻。要獲得一個(gè)下載并安裝Windows軟件開(kāi)發(fā)包版本7.1彼水。
現(xiàn)在你有一個(gè)運(yùn)行(和免費(fèi)甚至商業(yè)使用)安裝帶32和64位編譯器的MSVS2010 IDE。
安裝Visual Studio后极舔,您可以安裝CUDA凤覆。我們推薦CUDA 5.5,因?yàn)樗С諱SVC 2008拆魏。從CUDA存檔下載CUDA安裝程序盯桦。一定要獲得32位或64位版本,這取決于你的系統(tǒng)配置渤刃。
安裝CUDA后拥峦,您可以刪除VisualStudio Express 2010。
最后卖子,獲取Microsoft Visual C ++ Compiler for Python 2.7略号。它提供了Visual Studio 2008現(xiàn)在過(guò)時(shí)的編譯器,它們與Python 2.7的兼容性是必需的洋闽。要為所有用戶安裝軟件包璃哟,請(qǐng):
- 打開(kāi)管理員控制臺(tái)(打開(kāi)
start
,然后鍵入cmd
喊递,右鍵單擊命令提示符圖標(biāo)随闪,選擇運(yùn)行 as administrator
) -
cd
到您的下載目錄并執(zhí)行msiexec / i VCForPython27.msi ALLUSERS = 1
軟件包將安裝到C:\Program Files (x86)\Common Files\Microsoft\Visual C++ for Python\9.0
。
最后從這里下載stdint.h
標(biāo)題骚勘,并將其另存為C:\Program Files (x86)\Common Files\Microsoft\Visual C++ for Python\9.0\VC\include\stdint.h
铐伴。
GCC
Theano C代碼編譯器目前需要一個(gè)GCC安裝撮奏。我們使用了為32位和64位平臺(tái)提供的構(gòu)建TDM GCC。安裝過(guò)程中需要注意的幾個(gè)注意事項(xiàng):
- 安裝到?jīng)]有空格的目錄中(我們將它放在
C:\SciSoft\TDM-GCC-64
中) - 如果你不想雜亂你的系統(tǒng)PATH取消檢查
添加 到 路徑
選項(xiàng)当宴。 - 通過(guò)選中
openmp 支持 選項(xiàng)
啟用OpenMP支持畜吊。
Scientific Python的分發(fā)
推薦:Anaconda
ContinuumIO為所有3個(gè)主要桌面操作系統(tǒng)(包括Windows 32位和64位)提供了一個(gè)免費(fèi)的Python發(fā)行版,其中包括Theano及其所有依賴項(xiàng)户矢。這是在Windows上獲得Theano的最簡(jiǎn)單的方法之一玲献。只需從Anaconda下載頁(yè)下載并執(zhí)行安裝程序,然后從Anaconda 提示
執(zhí)行以下命令:
$ conda install theano
備選:WinPython
我們強(qiáng)烈推薦Pierre Raybaut的WinPython分發(fā) - 它是為32位和64位系統(tǒng)編譯的梯浪,鏈接對(duì)快速的MKL BLAS實(shí)現(xiàn)捌年,支持安裝輔助包Chris Gohlke,免費(fèi)挂洛。
WinPython還允許便攜式安裝礼预,不混亂你的主系統(tǒng)PATH。我們已經(jīng)安裝到c:\SciSoft\WinPython-64bit-2.7.9.4
虏劲。
學(xué)術(shù)界的備選:EPD
如果你在學(xué)術(shù)界工作托酸,一個(gè)安裝大多數(shù)依賴的簡(jiǎn)單方法是安裝Enthought Python Distribution(EPD)。如果你是附屬于大學(xué)(作為學(xué)生或員工)柒巫,您可以免費(fèi)下載安裝励堡。EPD安裝特別包括Python(和開(kāi)發(fā)頭文件),NumPy堡掏,SciPy念秧,nose,sphinx布疼,easy_install,pydot(但不是 Graphviz币狠,它是工作所必需的)游两,g ++和MKL實(shí)現(xiàn)的blas。
如果你想使用iPython shell漩绵,你應(yīng)該首先嘗試導(dǎo)入NumPy:
C:\Users\user>ipython
[...]
In [1]: import numpy
如果您看到一條錯(cuò)誤消息贱案,告訴您DLL 加載 失敗
,這可能是由于腳本啟動(dòng)ipython止吐。如果C:\SciSoft\Python27
是安裝EPD的目錄宝踪,請(qǐng)編輯C:\SciSoft\Python27\Scripts\ipython.bat
set path="C:\SciSoft\Python27";%path%
刪除Python27
周圍的引號(hào),導(dǎo)致:
set path=C:\SciSoft\Python27;%path%
然后碍扔,它應(yīng)該在所有新的終端工作瘩燥。
pip不包括在EPD中,但你可以簡(jiǎn)單地安裝它:
easy_install pip
替代方法:Canopy
Canopy是另一個(gè)安裝所有Theano依賴項(xiàng)的軟件不同。如果你是附屬于大學(xué)(作為學(xué)生或員工)厉膀,您可以免費(fèi)下載安裝溶耘。
- 安裝Canopy x64并將其更新到最新版本(
幫助/軟件更新...
),因?yàn)榕f版Canopy版本安裝pip
有問(wèn)題服鹅。 - 然后從Canopy包管理器安裝
pip
凳兵。 - 在Windows提示符中,鍵入
pip install theano
企软。 - 在Canopy包管理器中庐扫,搜索和安裝軟件包“mingw 4.5.2”和“l(fā)ibpython 1.2”
- (僅適用于Theano 0.6rc3或更早版本)“l(fā)ibpython 1.2”軟件包將文件
libpython27.a
和libmsvcr90.a
安裝到C:\ Users \ USER&gt; \ AppData \ Local \ Enthought \ Canopy \ User \ libs
仗哨。將這兩個(gè)文件復(fù)制到C:\ Users \&lt形庭; USER&gt; \ AppData \ Local \ Enthought \ Canopy \ App \ appdata \ canopy-1.0.0.1160.win-x86_64libs
藻治。 - (Needed only for Theano 0.6rc3 or earlier) Set the Theano flags
blas.ldflags=-LC:\Users\<USER>\AppData\Local\Enthought\Canopy\App\appdata\canopy-1.0.0.1160.win-x86_64\Scripts -lmk2_core -lmk2_intel_thread -lmk2_rt
.
Alternative: Python(x,y)
如果你沒(méi)有EPD的商業(yè)許可碘勉,并且沒(méi)有資格獲得免費(fèi)學(xué)術(shù)許可,并且你的計(jì)算機(jī)上既沒(méi)有安裝Python也不安裝MinGW桩卵,你可以使用Python(x验靡,y)安裝Theano的大多數(shù)依賴項(xiàng), 雏节。它是一個(gè)單一的安裝文件胜嗓,包含額外的包,如NumPy钩乍,SciPy辞州,IPython,Matplotlib寥粹,MinGW变过,Nose等。注意涝涤,目前沒(méi)有64位版本媚狰。您可以保留默認(rèn)安裝選項(xiàng),除了安裝目錄不應(yīng)包含任何空格(特別是不要安裝到C:\ Program Files
)阔拳。
Alternative: manual installation
以下說(shuō)明提供了手動(dòng)安裝所有Theano依賴關(guān)系的步驟崭孤。請(qǐng)注意,應(yīng)該可以使用Cygwin而不是MinGW運(yùn)行Theano糊肠,但這還沒(méi)有經(jīng)過(guò)測(cè)試辨宠。
對(duì)于32位MinGW:從MinGW文件下載最新版本的
自動(dòng) MinGW 安裝程序 t>(
mingw-get-inst)并安裝它(你應(yīng)該安裝所有可選組件,但不需要Objective C和Ada編譯器)货裹。
-
對(duì)于64位MinGW(注意64位的手動(dòng)安裝是實(shí)驗(yàn)):從項(xiàng)目的發(fā)布頁(yè)下載最新版本的MinGW-w64嗤形,
C:\mingw64
。也從這個(gè)頁(yè)面下載MSYS(雖然它是一個(gè)32位版本的MSYS弧圆,這沒(méi)關(guān)系派殷,因?yàn)樗皇且粋€(gè)方便的工具)还最。將MSYS提取到同一個(gè)文件夾中,例如毡惜,你最終使用C:\mingw64\msys
拓轻。運(yùn)行C:\mingw64\msys\msys.bat
,在MSYS shell中经伙,鍵入sh /postinstall/pi.sh
并回答幾個(gè)問(wèn)題扶叉,以便MSYS正確地鏈接到你的MinGW安裝。
-
建議將您的MSYS主目錄設(shè)置為與您的Windows主目錄相同帕膜。這將避免在Windows命令提示符下運(yùn)行Theano和MSYS shell之間不一致的行為枣氧。沒(méi)有設(shè)置全局Windows
HOME
環(huán)境變量(可能會(huì)影響其他程序)的一種方法是編輯您的msys.bat
文件(例如在C:\MinGW\msys\1.0
或C:\mingw64\msys
),并在開(kāi)頭添加以下行(注意你可能需要使用例如寫(xiě)字板來(lái)編輯此文件垮刹,因?yàn)橛浭卤颈籙nix風(fēng)格的換行符混淆):set HOME=%USERPROFILE%
如果您還沒(méi)有安裝它們达吞,請(qǐng)安裝最新版本的Python 2.x和相應(yīng)的NumPy,然后安裝SciPy )荒典。注意酪劫,目前沒(méi)有官方64位版本的NumPy和SciPy,但你可以在這里找到非正式版本寺董。
確保Python安裝目錄及其
Scripts
子目錄在您的系統(tǒng)路徑中覆糟。這可以通過(guò)修改全局PATH
Windows環(huán)境變量,或通過(guò)在您的MinGW主目錄中創(chuàng)建一個(gè).profile
文件來(lái)完成遮咖,包含導(dǎo)出 PATH = $ PATH:/ c / Python27:/ c / Python27 / Scripts
(注意滩字,后者僅在從MSYS shell運(yùn)行Theano時(shí)才工作。-
如果你正在安裝64位版本御吞,你將需要以下hack麦箍,以便能夠用GCC編譯Theano文件(如果你使用32位版本,請(qǐng)?zhí)^(guò)此步驟)陶珠。在臨時(shí)工作目錄中挟裂,復(fù)制
python27.dll
(位于C:\\Windows\\System32
)以及python27.def。編輯python27.def
并將Py_InitModule4
替換為Py_InitModule4_64
背率。然后打開(kāi)MSYS shell,轉(zhuǎn)到此臨時(shí)目錄嫩与,并運(yùn)行:dlltool --dllname python27.dll --def python27.def --output-lib libpython27.a
最后寝姿,將生成的libpython27.a文件復(fù)制到你的
C:\\Python27\\libs
文件夾中。 -
為了運(yùn)行Theano的測(cè)試套件划滋,你需要nose饵筑。在解壓縮其源代碼(您可以使用7-zip)之后,您可以通過(guò)運(yùn)行以下命令(從Windows命令提示符或MSYS shell)從其代碼目錄中構(gòu)建和安裝它:
python setup.py install
Visual Studio和CUDA
不幸的是处坪,Microsoft最近停止分發(fā)Visual Studio Express 2008(提供了Python 2.7所需的編譯器)根资,因此我們需要臨時(shí)安裝Visual Studio Express 2010架专,以便能夠安裝CUDA(其安裝程序需要Visual Studio安裝才能繼續(xù)) 。之后玄帕,可以安全地刪除Visual Studio 2010部脚。如果有人知道如何安裝CUDA 5.5沒(méi)有正確的Visual Studio安裝,請(qǐng)讓我們知道裤纹。
你可以從Visual Studio Express下載委刘。請(qǐng)安裝Visual C版本。我們已下載了一體機(jī)CD鹰椒,使用7zip解壓縮锡移,并在VCExpress \ setup.exe運(yùn)行安裝程序。
如果你想要64位Python安裝漆际,Visual Studio 2010 Express不提供64位編譯器淆珊。要獲得一個(gè)下載并安裝Windows軟件開(kāi)發(fā)包版本7.1。
現(xiàn)在你有一個(gè)運(yùn)行(和免費(fèi)甚至商業(yè)使用)安裝帶32和64位編譯器的MSVS2010 IDE奸汇。
安裝Visual Studio后施符,您可以安裝CUDA。我們推薦CUDA 5.5茫蛹,因?yàn)樗С諱SVC 2008操刀。從CUDA存檔下載CUDA安裝程序。一定要獲得32位或64位版本婴洼,這取決于你的系統(tǒng)配置骨坑。
安裝CUDA后,您可以刪除VisualStudio Express 2010柬采。
最后欢唾,獲取Microsoft Visual C ++ Compiler for Python 2.7。它提供了Visual Studio 2008現(xiàn)在過(guò)時(shí)的編譯器粉捻,它們與Python 2.7的兼容性是必需的礁遣。要為所有用戶安裝軟件包,請(qǐng):
- 打開(kāi)管理員控制臺(tái)(打開(kāi)
start
肩刃,然后鍵入cmd
祟霍,右鍵單擊命令提示符圖標(biāo),選擇運(yùn)行 as administrator
) -
cd
到您的下載目錄并執(zhí)行msiexec / i VCForPython27.msi ALLUSERS = 1
軟件包將安裝到C:\Program Files (x86)\Common Files\Microsoft\Visual C++ for Python\9.0
盈包。
最后從這里下載stdint.h
標(biāo)題沸呐,并將其另存為C:\Program Files (x86)\Common Files\Microsoft\Visual C++ for Python\9.0\VC\include\stdint.h
。
GCC
Theano C代碼編譯器目前需要一個(gè)GCC安裝呢燥。我們使用了為32位和64位平臺(tái)提供的構(gòu)建TDM GCC崭添。安裝過(guò)程中需要注意的幾個(gè)注意事項(xiàng):
- 安裝到?jīng)]有空格的目錄中(我們將它放在
C:\SciSoft\TDM-GCC-64
中) - 如果你不想雜亂你的系統(tǒng)PATH取消檢查
添加 到 路徑
選項(xiàng)。 - 通過(guò)選中
openmp 支持 選項(xiàng)
啟用OpenMP支持叛氨。
Scientific Python的分發(fā)
推薦:Anaconda
ContinuumIO為所有3個(gè)主要桌面操作系統(tǒng)(包括Windows 32位和64位)提供了一個(gè)免費(fèi)的Python發(fā)行版呼渣,其中包括Theano及其所有依賴項(xiàng)棘伴。這是在Windows上獲得Theano的最簡(jiǎn)單的方法之一。只需從Anaconda下載頁(yè)下載并執(zhí)行安裝程序屁置,然后從Anaconda 提示
執(zhí)行以下命令:
$ conda install theano
備選:WinPython
我們強(qiáng)烈推薦Pierre Raybaut的WinPython分發(fā) - 它是為32位和64位系統(tǒng)編譯的焊夸,鏈接對(duì)快速的MKL BLAS實(shí)現(xiàn),支持安裝輔助包Chris Gohlke缰犁,免費(fèi)淳地。
WinPython還允許便攜式安裝,不混亂你的主系統(tǒng)PATH帅容。我們已經(jīng)安裝到c:\SciSoft\WinPython-64bit-2.7.9.4
颇象。
學(xué)術(shù)界的備選:EPD
如果你在學(xué)術(shù)界工作,一個(gè)安裝大多數(shù)依賴的簡(jiǎn)單方法是安裝Enthought Python Distribution(EPD)。如果你是附屬于大學(xué)(作為學(xué)生或員工),您可以免費(fèi)下載安裝荐类。EPD安裝特別包括Python(和開(kāi)發(fā)頭文件),NumPy蕴茴,SciPy,nose姐直,sphinx倦淀,easy_install,pydot(但不是 Graphviz声畏,它是工作所必需的)撞叽,g ++和MKL實(shí)現(xiàn)的blas。
如果你想使用iPython shell插龄,你應(yīng)該首先嘗試導(dǎo)入NumPy:
C:\Users\user>ipython
[...]
In [1]: import numpy
如果您看到一條錯(cuò)誤消息愿棋,告訴您DLL 加載 失敗
,這可能是由于腳本啟動(dòng)ipython均牢。如果C:\SciSoft\Python27
是安裝EPD的目錄糠雨,請(qǐng)編輯C:\SciSoft\Python27\Scripts\ipython.bat
set path="C:\SciSoft\Python27";%path%
刪除Python27
周圍的引號(hào),導(dǎo)致:
set path=C:\SciSoft\Python27;%path%
然后徘跪,它應(yīng)該在所有新的終端工作甘邀。
pip不包括在EPD中,但你可以簡(jiǎn)單地安裝它:
easy_install pip
替代方法:Canopy
Canopy是另一個(gè)安裝所有Theano依賴項(xiàng)的軟件垮庐。如果你是附屬于大學(xué)(作為學(xué)生或員工)松邪,您可以免費(fèi)下載安裝。
- 安裝Canopy x64并將其更新到最新版本(
幫助/軟件更新...
)突硝,因?yàn)榕f版Canopy版本安裝pip
有問(wèn)題测摔。 - 然后從Canopy包管理器安裝
pip
置济。 - 在Windows提示符中解恰,鍵入
pip install theano
锋八。 - 在Canopy包管理器中,搜索和安裝軟件包“mingw 4.5.2”和“l(fā)ibpython 1.2”
- (僅適用于Theano 0.6rc3或更早版本)“l(fā)ibpython 1.2”軟件包將文件
libpython27.a
和libmsvcr90.a
安裝到C:\ Users \ USER&gt护盈; \ AppData \ Local \ Enthought \ Canopy \ User \ libs
挟纱。將這兩個(gè)文件復(fù)制到C:\ Users \&lt; USER&gt腐宋; \ AppData \ Local \ Enthought \ Canopy \ App \ appdata \ canopy-1.0.0.1160.win-x86_64libs
紊服。 - (Needed only for Theano 0.6rc3 or earlier) Set the Theano flags
blas.ldflags=-LC:\Users\<USER>\AppData\Local\Enthought\Canopy\App\appdata\canopy-1.0.0.1160.win-x86_64\Scripts -lmk2_core -lmk2_intel_thread -lmk2_rt
.
Alternative: Python(x,y)
如果你沒(méi)有EPD的商業(yè)許可,并且沒(méi)有資格獲得免費(fèi)學(xué)術(shù)許可胸竞,并且你的計(jì)算機(jī)上既沒(méi)有安裝Python也不安裝MinGW欺嗤,你可以使用Python(x,y)安裝Theano的大多數(shù)依賴項(xiàng)卫枝, 煎饼。它是一個(gè)單一的安裝文件,包含額外的包校赤,如NumPy吆玖,SciPy,IPython马篮,Matplotlib沾乘,MinGW,Nose等浑测。注意翅阵,目前沒(méi)有64位版本。您可以保留默認(rèn)安裝選項(xiàng)尽爆,除了安裝目錄不應(yīng)包含任何空格(特別是不要安裝到C:\ Program Files
)怎顾。
Alternative: manual installation
以下說(shuō)明提供了手動(dòng)安裝所有Theano依賴關(guān)系的步驟。請(qǐng)注意漱贱,應(yīng)該可以使用Cygwin而不是MinGW運(yùn)行Theano槐雾,但這還沒(méi)有經(jīng)過(guò)測(cè)試。
對(duì)于32位MinGW:從MinGW文件下載最新版本的
自動(dòng) MinGW 安裝程序 t>(
mingw-get-inst)并安裝它(你應(yīng)該安裝所有可選組件幅狮,但不需要Objective C和Ada編譯器)募强。
-
對(duì)于64位MinGW(注意64位的手動(dòng)安裝是實(shí)驗(yàn)):從項(xiàng)目的發(fā)布頁(yè)下載最新版本的MinGW-w64,
C:\mingw64
崇摄。也從這個(gè)頁(yè)面下載MSYS(雖然它是一個(gè)32位版本的MSYS擎值,這沒(méi)關(guān)系,因?yàn)樗皇且粋€(gè)方便的工具)逐抑。將MSYS提取到同一個(gè)文件夾中鸠儿,例如,你最終使用C:\mingw64\msys
。運(yùn)行C:\mingw64\msys\msys.bat
进每,在MSYS shell中汹粤,鍵入sh /postinstall/pi.sh
并回答幾個(gè)問(wèn)題,以便MSYS正確地鏈接到你的MinGW安裝田晚。
-
建議將您的MSYS主目錄設(shè)置為與您的Windows主目錄相同嘱兼。這將避免在Windows命令提示符下運(yùn)行Theano和MSYS shell之間不一致的行為。沒(méi)有設(shè)置全局Windows
HOME
環(huán)境變量(可能會(huì)影響其他程序)的一種方法是編輯您的msys.bat
文件(例如在C:\MinGW\msys\1.0
或C:\mingw64\msys
)贤徒,并在開(kāi)頭添加以下行(注意你可能需要使用例如寫(xiě)字板來(lái)編輯此文件芹壕,因?yàn)橛浭卤颈籙nix風(fēng)格的換行符混淆):set HOME=%USERPROFILE%
如果您還沒(méi)有安裝它們,請(qǐng)安裝最新版本的Python 2.x和相應(yīng)的NumPy接奈,然后安裝SciPy )踢涌。注意,目前沒(méi)有官方64位版本的NumPy和SciPy序宦,但你可以在這里找到非正式版本斯嚎。
確保Python安裝目錄及其
Scripts
子目錄在您的系統(tǒng)路徑中。這可以通過(guò)修改全局PATH
Windows環(huán)境變量挨厚,或通過(guò)在您的MinGW主目錄中創(chuàng)建一個(gè).profile
文件來(lái)完成堡僻,包含導(dǎo)出 PATH = $ PATH:/ c / Python27:/ c / Python27 / Scripts
(注意,后者僅在從MSYS shell運(yùn)行Theano時(shí)才工作疫剃。-
如果你正在安裝64位版本钉疫,你將需要以下hack,以便能夠用GCC編譯Theano文件(如果你使用32位版本巢价,請(qǐng)?zhí)^(guò)此步驟)牲阁。在臨時(shí)工作目錄中,復(fù)制
python27.dll
(位于C:\\Windows\\System32
)以及python27.def壤躲。編輯python27.def
并將Py_InitModule4
替換為Py_InitModule4_64
城菊。然后打開(kāi)MSYS shell,轉(zhuǎn)到此臨時(shí)目錄碉克,并運(yùn)行:dlltool --dllname python27.dll --def python27.def --output-lib libpython27.a
最后凌唬,將生成的libpython27.a文件復(fù)制到你的
C:\\Python27\\libs
文件夾中。 -
為了運(yùn)行Theano的測(cè)試套件漏麦,你需要nose客税。在解壓縮其源代碼(您可以使用7-zip)之后,您可以通過(guò)運(yùn)行以下命令(從Windows命令提示符或MSYS shell)從其代碼目錄中構(gòu)建和安裝它:
python setup.py install
推薦:Anaconda
ContinuumIO為所有3個(gè)主要桌面操作系統(tǒng)(包括Windows 32位和64位)提供了一個(gè)免費(fèi)的Python發(fā)行版撕贞,其中包括Theano及其所有依賴項(xiàng)更耻。這是在Windows上獲得Theano的最簡(jiǎn)單的方法之一。只需從Anaconda下載頁(yè)下載并執(zhí)行安裝程序捏膨,然后從Anaconda 提示
執(zhí)行以下命令:
$ conda install theano
備選:WinPython
我們強(qiáng)烈推薦Pierre Raybaut的WinPython分發(fā) - 它是為32位和64位系統(tǒng)編譯的秧均,鏈接對(duì)快速的MKL BLAS實(shí)現(xiàn),支持安裝輔助包Chris Gohlke,免費(fèi)目胡。
WinPython還允許便攜式安裝疙描,不混亂你的主系統(tǒng)PATH。我們已經(jīng)安裝到c:\SciSoft\WinPython-64bit-2.7.9.4
讶隐。
學(xué)術(shù)界的備選:EPD
如果你在學(xué)術(shù)界工作,一個(gè)安裝大多數(shù)依賴的簡(jiǎn)單方法是安裝Enthought Python Distribution(EPD)久又。如果你是附屬于大學(xué)(作為學(xué)生或員工)巫延,您可以免費(fèi)下載安裝。EPD安裝特別包括Python(和開(kāi)發(fā)頭文件)地消,NumPy炉峰,SciPy,nose脉执,sphinx疼阔,easy_install,pydot(但不是 Graphviz半夷,它是工作所必需的)婆廊,g ++和MKL實(shí)現(xiàn)的blas。
如果你想使用iPython shell巫橄,你應(yīng)該首先嘗試導(dǎo)入NumPy:
C:\Users\user>ipython
[...]
In [1]: import numpy
如果您看到一條錯(cuò)誤消息淘邻,告訴您DLL 加載 失敗
,這可能是由于腳本啟動(dòng)ipython湘换。如果C:\SciSoft\Python27
是安裝EPD的目錄宾舅,請(qǐng)編輯C:\SciSoft\Python27\Scripts\ipython.bat
set path="C:\SciSoft\Python27";%path%
刪除Python27
周圍的引號(hào),導(dǎo)致:
set path=C:\SciSoft\Python27;%path%
然后彩倚,它應(yīng)該在所有新的終端工作筹我。
pip不包括在EPD中,但你可以簡(jiǎn)單地安裝它:
easy_install pip
替代方法:Canopy
Canopy是另一個(gè)安裝所有Theano依賴項(xiàng)的軟件帆离。如果你是附屬于大學(xué)(作為學(xué)生或員工)蔬蕊,您可以免費(fèi)下載安裝。
- 安裝Canopy x64并將其更新到最新版本(
幫助/軟件更新...
)哥谷,因?yàn)榕f版Canopy版本安裝pip
有問(wèn)題袁串。 - 然后從Canopy包管理器安裝
pip
。 - 在Windows提示符中呼巷,鍵入
pip install theano
囱修。 - 在Canopy包管理器中,搜索和安裝軟件包“mingw 4.5.2”和“l(fā)ibpython 1.2”
- (僅適用于Theano 0.6rc3或更早版本)“l(fā)ibpython 1.2”軟件包將文件
libpython27.a
和libmsvcr90.a
安裝到C:\ Users \ USER&gt王悍; \ AppData \ Local \ Enthought \ Canopy \ User \ libs
破镰。將這兩個(gè)文件復(fù)制到C:\ Users \&lt; USER&gt; \ AppData \ Local \ Enthought \ Canopy \ App \ appdata \ canopy-1.0.0.1160.win-x86_64libs
鲜漩。 - (Needed only for Theano 0.6rc3 or earlier) Set the Theano flags
blas.ldflags=-LC:\Users\<USER>\AppData\Local\Enthought\Canopy\App\appdata\canopy-1.0.0.1160.win-x86_64\Scripts -lmk2_core -lmk2_intel_thread -lmk2_rt
.
Alternative: Python(x,y)
如果你沒(méi)有EPD的商業(yè)許可源譬,并且沒(méi)有資格獲得免費(fèi)學(xué)術(shù)許可,并且你的計(jì)算機(jī)上既沒(méi)有安裝Python也不安裝MinGW孕似,你可以使用Python(x踩娘,y)安裝Theano的大多數(shù)依賴項(xiàng), 喉祭。它是一個(gè)單一的安裝文件养渴,包含額外的包,如NumPy泛烙,SciPy理卑,IPython,Matplotlib蔽氨,MinGW藐唠,Nose等。注意鹉究,目前沒(méi)有64位版本宇立。您可以保留默認(rèn)安裝選項(xiàng),除了安裝目錄不應(yīng)包含任何空格(特別是不要安裝到C:\ Program Files
)自赔。
Alternative: manual installation
以下說(shuō)明提供了手動(dòng)安裝所有Theano依賴關(guān)系的步驟泄伪。請(qǐng)注意,應(yīng)該可以使用Cygwin而不是MinGW運(yùn)行Theano匿级,但這還沒(méi)有經(jīng)過(guò)測(cè)試蟋滴。
對(duì)于32位MinGW:從MinGW文件下載最新版本的
自動(dòng) MinGW 安裝程序 t>(
mingw-get-inst)并安裝它(你應(yīng)該安裝所有可選組件,但不需要Objective C和Ada編譯器)痘绎。
-
對(duì)于64位MinGW(注意64位的手動(dòng)安裝是實(shí)驗(yàn)):從項(xiàng)目的發(fā)布頁(yè)下載最新版本的MinGW-w64津函,
C:\mingw64
。也從這個(gè)頁(yè)面下載MSYS(雖然它是一個(gè)32位版本的MSYS孤页,這沒(méi)關(guān)系尔苦,因?yàn)樗皇且粋€(gè)方便的工具)。將MSYS提取到同一個(gè)文件夾中行施,例如允坚,你最終使用C:\mingw64\msys
。運(yùn)行C:\mingw64\msys\msys.bat
蛾号,在MSYS shell中稠项,鍵入sh /postinstall/pi.sh
并回答幾個(gè)問(wèn)題,以便MSYS正確地鏈接到你的MinGW安裝鲜结。
-
建議將您的MSYS主目錄設(shè)置為與您的Windows主目錄相同展运。這將避免在Windows命令提示符下運(yùn)行Theano和MSYS shell之間不一致的行為活逆。沒(méi)有設(shè)置全局Windows
HOME
環(huán)境變量(可能會(huì)影響其他程序)的一種方法是編輯您的msys.bat
文件(例如在C:\MinGW\msys\1.0
或C:\mingw64\msys
),并在開(kāi)頭添加以下行(注意你可能需要使用例如寫(xiě)字板來(lái)編輯此文件拗胜,因?yàn)橛浭卤颈籙nix風(fēng)格的換行符混淆):set HOME=%USERPROFILE%
如果您還沒(méi)有安裝它們蔗候,請(qǐng)安裝最新版本的Python 2.x和相應(yīng)的NumPy,然后安裝SciPy )埂软。注意锈遥,目前沒(méi)有官方64位版本的NumPy和SciPy,但你可以在這里找到非正式版本勘畔。
確保Python安裝目錄及其
Scripts
子目錄在您的系統(tǒng)路徑中所灸。這可以通過(guò)修改全局PATH
Windows環(huán)境變量,或通過(guò)在您的MinGW主目錄中創(chuàng)建一個(gè).profile
文件來(lái)完成咖杂,包含導(dǎo)出 PATH = $ PATH:/ c / Python27:/ c / Python27 / Scripts
(注意,后者僅在從MSYS shell運(yùn)行Theano時(shí)才工作蚊夫。-
如果你正在安裝64位版本诉字,你將需要以下hack,以便能夠用GCC編譯Theano文件(如果你使用32位版本知纷,請(qǐng)?zhí)^(guò)此步驟)壤圃。在臨時(shí)工作目錄中,復(fù)制
python27.dll
(位于C:\\Windows\\System32
)以及python27.def琅轧。編輯python27.def
并將Py_InitModule4
替換為Py_InitModule4_64
伍绳。然后打開(kāi)MSYS shell,轉(zhuǎn)到此臨時(shí)目錄乍桂,并運(yùn)行:dlltool --dllname python27.dll --def python27.def --output-lib libpython27.a
最后冲杀,將生成的libpython27.a文件復(fù)制到你的
C:\\Python27\\libs
文件夾中。 -
為了運(yùn)行Theano的測(cè)試套件睹酌,你需要nose权谁。在解壓縮其源代碼(您可以使用7-zip)之后,您可以通過(guò)運(yùn)行以下命令(從Windows命令提示符或MSYS shell)從其代碼目錄中構(gòu)建和安裝它:
python setup.py install
配置環(huán)境
在這一點(diǎn)上憋沿,你應(yīng)該已經(jīng)安裝了所有的Theano依賴旺芽。默認(rèn)情況下,Python辐啄,GCC和Visual Studio都未添加到PATH中采章。將以下shell腳本保存為c:\scisoft\env.bat
以配置系統(tǒng)路徑:
REM configuration of paths
set VSFORPYTHON="C:\Program Files (x86)\Common Files\Microsoft\Visual C++ for Python\9.0"
set SCISOFT=%~dp0
REM add tdm gcc stuff
set PATH=%SCISOFT%\TDM-GCC-64\bin;%SCISOFT%\TDM-GCC-64\x86_64-w64-mingw32\bin;%PATH%
REM add winpython stuff
CALL %SCISOFT%\WinPython-64bit-2.7.9.4\scripts\env.bat
REM configure path for msvc compilers
REM for a 32 bit installation change this line to
REM CALL %VSFORPYTHON%\vcvarsall.bat
CALL %VSFORPYTHON%\vcvarsall.bat amd64
REM return a shell
cmd.exe /k
該腳本假定您安裝了WinPython發(fā)行版,否則更新winpython行壶辜。對(duì)于32位安裝悯舟,請(qǐng)更改指示的行以加載32位Microsoft Compiler。
你可以通過(guò)雙擊c:\scisoft\env.bat
來(lái)訪問(wèn)Python shell砸民。請(qǐng)這樣做图谷,并驗(yàn)證是否找到以下程序:
- 其中g(shù)cc
- 其中g(shù)endef
- 其中cl
- 其中nvcc
最后翩活,我們需要為GCC創(chuàng)建一個(gè)鏈接庫(kù)。打開(kāi)Python shell并將cd
更改為c:\SciSoft
便贵。然后執(zhí)行:
gendef WinPython-64bit-2.7.9.4\python-2.7.9.amd64\python27.dll
dlltool --dllname python27.dll --def python27.def --output-lib WinPython-64bit-2.7.9.4\python-2.7.9.amd64\libs\libpython27.a
安裝Theano
安裝依賴項(xiàng)后菠镇,您可以下載并安裝Theano。我們發(fā)現(xiàn)從長(zhǎng)遠(yuǎn)來(lái)看承璃,Git安裝是最有用的利耍,因?yàn)槟憧梢杂靡粋€(gè)git pull
命令更新它。所以我們推薦它盔粹。但是隘梨,也可以手動(dòng)安裝而不使用Git。
Git安裝
Theano是托管在GitHub上舷嗡,你需要Git下載它轴猎。對(duì)于Windows,下載并安裝MSYSGIT構(gòu)建进萄。在您要安裝Theano的目錄中打開(kāi)Git Shell
捻脖。對(duì)于溢出版本執(zhí)行
git clone https://github.com/Theano/Theano.git
對(duì)于最新的穩(wěn)定版本0.7(截至2015年3月)改為:
git clone https://github.com/Theano/Theano.git --branch rel-0.7
無(wú)論哪種方式,將創(chuàng)建一個(gè)文件夾Theano
中鼠,并將庫(kù)下載到該文件夾??可婶。
手動(dòng)安裝
要獲取最新版本,請(qǐng)?jiān)L問(wèn)Theano on GitHub并下載最新zip援雇。然后將其解壓到某處矛渴。
或者,您可以訪問(wèn)https://github.com/Theano/Theano/releases/tag/rel-0.7并下載 zip惫搏。
配置Theano
一旦你安裝了Theano具温,打開(kāi)Python Shell(例如c:\scisoft\env.bat
如果遵循本教程中的安裝目錄)和cd
然后運(yùn)行:
python setup.py develop
此步驟將向The PYTHON_PATH
環(huán)境變量添加Theano目錄。
在這個(gè)階段你可以檢查是否工作筐赔,并能夠編譯C代碼的CPU執(zhí)行桂躏。
創(chuàng)建一個(gè)測(cè)試文件,包含:
import numpy as np
import time
import theano
A = np.random.rand(1000,10000).astype(theano.config.floatX)
B = np.random.rand(10000,1000).astype(theano.config.floatX)
np_start = time.time()
AB = A.dot(B)
np_end = time.time()
X,Y = theano.tensor.matrices('XY')
mf = theano.function([X,Y],X.dot(Y))
t_start = time.time()
tAB = mf(A,B)
t_end = time.time()
print("NP time: %f[s], theano time: %f[s] (times should be close when run on CPU!)" %(
np_end-np_start, t_end-t_start))
print("Result difference: %f" % (np.abs(AB-tAB).max(), ))
NP time: 1.480863[s], theano time: 1.475381[s] (times should be close when run on CPU!)
Result difference: 0.000000
然后運(yùn)行它川陆。它應(yīng)該沒(méi)有問(wèn)題地執(zhí)行剂习,并且Theano函數(shù)應(yīng)該以類似于常規(guī)NumPy乘法的速度運(yùn)行。(Numpy和Theano應(yīng)該調(diào)用相同的BLAS例程用于矩陣乘法)
配置Theano用于GPU使用
如果您還沒(méi)有這樣做较沪,請(qǐng)安裝libgpuarray鳞绕。
Theano可以配置一個(gè).theanorc
文本文件(或.theanorc.txt
,以您在Windows下更容易創(chuàng)建)尸曼。它應(yīng)該放在%USERPROFILE%
變量??指向的目錄中们何。請(qǐng)注意,WinPython將其更改為WinPythonDir\settings
(因此在我們的系統(tǒng)中控轿,這對(duì)應(yīng)于c:\scisoft\WinPython-64bit-2.7.9.4\settings
冤竹。
要使用GPU拂封,請(qǐng)寫(xiě)入以下配置文件:
[global]
device = cuda
floatX = float32
[nvcc]
flags = --use-local-env --cl-version=2008
重新運(yùn)行簡(jiǎn)單的測(cè)試文件并驗(yàn)證它運(yùn)行。根據(jù)你的GPU鹦蠕,theano函數(shù)應(yīng)該比由NumPy執(zhí)行的CPU矩陣乘法更快地在GPU上運(yùn)行冒签。您還可以在Using the GPU頁(yè)面上找到其他測(cè)試代碼和有用的GPU提示。
運(yùn)行Theano的測(cè)試套件
Currently, due to memory fragmentation issue in Windows, the test-suite breaks at some point when using theano-nose
, with many error messages looking like: DLL load failed: Not enough storage is available to process this command
.作為解決方法钟病,您可以改為運(yùn)行:
theano-nose --batch
這將以100的批次運(yùn)行測(cè)試萧恕,這應(yīng)該避免內(nèi)存錯(cuò)誤。請(qǐng)注意肠阱,此腳本調(diào)用nosetests
票唆,如果您如上所述手動(dòng)安裝Nose,則可能需要從MSYS shell中運(yùn)行屹徘。
注意
在<= 0.5版本的Theano中走趋,沒(méi)有包含theano-nose
。如果你使用這樣的版本噪伊,你可以調(diào)用這個(gè)命令:
python theano/tests/run_tests_in_batch.py
Git安裝
Theano是托管在GitHub上簿煌,你需要Git下載它。對(duì)于Windows酥宴,下載并安裝MSYSGIT構(gòu)建啦吧。在您要安裝Theano的目錄中打開(kāi)Git Shell
您觉。對(duì)于溢出版本執(zhí)行
git clone https://github.com/Theano/Theano.git
對(duì)于最新的穩(wěn)定版本0.7(截至2015年3月)改為:
git clone https://github.com/Theano/Theano.git --branch rel-0.7
無(wú)論哪種方式拙寡,將創(chuàng)建一個(gè)文件夾Theano
,并將庫(kù)下載到該文件夾??琳水。
手動(dòng)安裝
要獲取最新版本肆糕,請(qǐng)?jiān)L問(wèn)Theano on GitHub并下載最新zip。然后將其解壓到某處在孝。
或者诚啃,您可以訪問(wèn)https://github.com/Theano/Theano/releases/tag/rel-0.7并下載 zip。
配置Theano
一旦你安裝了Theano私沮,打開(kāi)Python Shell(例如c:\scisoft\env.bat
如果遵循本教程中的安裝目錄)和cd
然后運(yùn)行:
python setup.py develop
此步驟將向The PYTHON_PATH
環(huán)境變量添加Theano目錄始赎。
在這個(gè)階段你可以檢查是否工作,并能夠編譯C代碼的CPU執(zhí)行仔燕。
創(chuàng)建一個(gè)測(cè)試文件造垛,包含:
import numpy as np
import time
import theano
A = np.random.rand(1000,10000).astype(theano.config.floatX)
B = np.random.rand(10000,1000).astype(theano.config.floatX)
np_start = time.time()
AB = A.dot(B)
np_end = time.time()
X,Y = theano.tensor.matrices('XY')
mf = theano.function([X,Y],X.dot(Y))
t_start = time.time()
tAB = mf(A,B)
t_end = time.time()
print("NP time: %f[s], theano time: %f[s] (times should be close when run on CPU!)" %(
np_end-np_start, t_end-t_start))
print("Result difference: %f" % (np.abs(AB-tAB).max(), ))
NP time: 1.480863[s], theano time: 1.475381[s] (times should be close when run on CPU!)
Result difference: 0.000000
然后運(yùn)行它。它應(yīng)該沒(méi)有問(wèn)題地執(zhí)行晰搀,并且Theano函數(shù)應(yīng)該以類似于常規(guī)NumPy乘法的速度運(yùn)行五辽。(Numpy和Theano應(yīng)該調(diào)用相同的BLAS例程用于矩陣乘法)
配置Theano用于GPU使用
如果您還沒(méi)有這樣做,請(qǐng)安裝libgpuarray外恕。
Theano可以配置一個(gè).theanorc
文本文件(或.theanorc.txt
杆逗,以您在Windows下更容易創(chuàng)建)乡翅。它應(yīng)該放在%USERPROFILE%
變量??指向的目錄中。請(qǐng)注意罪郊,WinPython將其更改為WinPythonDir\settings
(因此在我們的系統(tǒng)中蠕蚜,這對(duì)應(yīng)于c:\scisoft\WinPython-64bit-2.7.9.4\settings
。
要使用GPU排龄,請(qǐng)寫(xiě)入以下配置文件:
[global]
device = cuda
floatX = float32
[nvcc]
flags = --use-local-env --cl-version=2008
重新運(yùn)行簡(jiǎn)單的測(cè)試文件并驗(yàn)證它運(yùn)行波势。根據(jù)你的GPU,theano函數(shù)應(yīng)該比由NumPy執(zhí)行的CPU矩陣乘法更快地在GPU上運(yùn)行橄维。您還可以在Using the GPU頁(yè)面上找到其他測(cè)試代碼和有用的GPU提示尺铣。
運(yùn)行Theano的測(cè)試套件
Currently, due to memory fragmentation issue in Windows, the test-suite breaks at some point when using theano-nose
, with many error messages looking like: DLL load failed: Not enough storage is available to process this command
.作為解決方法,您可以改為運(yùn)行:
theano-nose --batch
這將以100的批次運(yùn)行測(cè)試争舞,這應(yīng)該避免內(nèi)存錯(cuò)誤凛忿。請(qǐng)注意,此腳本調(diào)用nosetests
竞川,如果您如上所述手動(dòng)安裝Nose店溢,則可能需要從MSYS shell中運(yùn)行。
注意
在<= 0.5版本的Theano中委乌,沒(méi)有包含theano-nose
床牧。如果你使用這樣的版本,你可以調(diào)用這個(gè)命令:
python theano/tests/run_tests_in_batch.py
編譯更快的BLAS
如果你通過(guò)WinPython或EPD安裝Python遭贸,Theano會(huì)自動(dòng)鏈接到MKL庫(kù)戈咳,所以你不需要編譯自己的BLAS。
注意
以下說(shuō)明尚未在Windows 64位環(huán)境中測(cè)試壕吹。
如果你想要一個(gè)更快和/或多線程的BLAS庫(kù)著蛙,你可以編譯OpenBLAS(ATLAS可能工作,但沒(méi)有測(cè)試耳贬,通常報(bào)告是更慢踏堡,更難以編譯 - 特別是在Windows上)。OpenBLAS可以從其網(wǎng)站(我們測(cè)試v0.2.6)以zip文件格式下載咒劲。要編譯它顷蟆,你還需要MSYS和wget(安裝步驟如下所述)。
如果你已經(jīng)完全安裝了MinGW腐魂,你應(yīng)該有MSYS包含在其中帐偎,因此應(yīng)該能夠啟動(dòng)一個(gè)MinGW shell。如果是這樣挤渔,您可以跳過(guò)以下MSYS安裝步驟肮街。注意,這些步驟是為Python(x判导,y)編寫(xiě)的嫉父,但也應(yīng)該適用于其他bundle分發(fā)沛硅,如EPD(相應(yīng)地改變路徑,例如在EPD 7.3.2中MinGW文件夾是EPD7.3.2\EGG-INFO\mingw\usr\i686-w64-mingw32
)绕辖。要在Python(x摇肌,y)中包含的MinGW安裝之上安裝MSYS,請(qǐng)執(zhí)行以下操作:
將其內(nèi)容解包到你的
pythonxy\mingw
目錄中围小。-
在提示符(
cmd
)中,安裝MSYSmingw-get install msys-base
如果無(wú)法自動(dòng)找到
mingw-get
树碱,只要首先導(dǎo)航到文件夾中(如果它位于bin
子文件夾中)肯适。 -
編輯
pythonxy\mingw\msys\1.0\msys.bat
(例如在寫(xiě)字板中)并添加為第一行set HOME =%USERPROFILE% t4>
。然后創(chuàng)建一個(gè)容易訪問(wèn)的快捷方式(例如在你的桌面上)到這個(gè)文件成榜,運(yùn)行它框舔,并在MSYS控制臺(tái)中運(yùn)行MSYS安裝后腳本:/postinstall/pi.sh
它會(huì)詢問(wèn)你的MinGW安裝目錄(例如
c:/pythonxy/mingw
;注意正斜杠)赎婚。
一旦你有一個(gè)工作的MinGW / MSYS shell環(huán)境刘绣,你可以繼續(xù)如下:
- 通過(guò)運(yùn)行安裝程序安裝
wget
即可在wget網(wǎng)站上下載。請(qǐng)注意挣输,此設(shè)置不會(huì)將wget
添加到系統(tǒng)PATH中纬凤,因此您需要相應(yīng)地修改PATH
環(huán)境變量(在Windows中或在.profile
啟動(dòng)文件在你的MinGW home)。完成后撩嚼,在MinGW shell中鍵入wget - version
停士,驗(yàn)證它是否正常運(yùn)行。還要注意绢馍,如果你是一個(gè)代理向瓷,你應(yīng)該設(shè)置你的HTTP_PROXY
環(huán)境變量肠套,或者使用自定義wgetrc
配置文件wget能夠下載文件舰涌。- 解壓縮OpenBLAS,并在MinGW shell中進(jìn)入相應(yīng)的目錄你稚。
- 編譯OpenBLAS:
quickbuild.win32 1>log.txt 2>err.txt
(對(duì)于64位Windows使用
quickbuild.win64
)瓷耙。編譯可能需要一段時(shí)間,因此現(xiàn)在是休息的好時(shí)機(jī)刁赖。當(dāng)它完成后搁痛,你應(yīng)該在你的OpenBLAS文件夾中有libopenblas.dll
。如果不是這樣宇弛,請(qǐng)檢查err.txt
日志中是否有構(gòu)建錯(cuò)誤鸡典。
- 請(qǐng)確保
libopenblas.dll
位于您的PATH
中的文件夾中。- 使用
ldflags = 修改你的.theanorc(或.theanorc.txt)-LX:\\ YYY \\ ZZZ -lopenblas
其中X:\\YYY\\ZZZ
是包含libopenblas.dll
的文件夾的路徑枪芒。此設(shè)置也可以在Python中進(jìn)行更改以用于測(cè)試目的(在這種情況下彻况,它將僅在您的Python會(huì)話期間保留):theano.config.blas.ldflags = "-LX:\\YYY\\YYY -lopenblas"
- 要測(cè)試BLAS性能谁尸,您可以運(yùn)行腳本
theano/misc/check_blas.py
。請(qǐng)注意纽甘,你可以使用OPENBLAS_NUM_THREADS
環(huán)境變量來(lái)控制OpenBLAS使用的線程數(shù)(默認(rèn)行為是使用所有可用的內(nèi)核)良蛮。這里是一些Intel Core2 Duo 1.86 GHz的性能結(jié)果,與使用NumPy的BLAS或未優(yōu)化的標(biāo)準(zhǔn)BLAS(從源代碼手動(dòng)編譯)相比悍赢。請(qǐng)注意决瞳,我們?cè)谶@里報(bào)告了GotoBLAS2的結(jié)果,這是OpenBLAS的祖先(這個(gè)基準(zhǔn)仍然需要用OpenBLAS結(jié)果更新):> * GotoBLAS2(2 threads):16s > * NumPy(1 thread):48s > * 標(biāo)準(zhǔn)BLAS(未優(yōu)化左权,1螺紋):166s 結(jié)論: * 未經(jīng)優(yōu)化的標(biāo)準(zhǔn)BLAS非常慢皮胡,不應(yīng)使用。 * NumPy的Windows二進(jìn)制文件是用ATLAS編譯的赏迟,速度驚人的快胸囱。 * GotoBLAS2甚至更快,特別是如果你可以使用多個(gè)內(nèi)核瀑梗。
注意
如果您得到DLL 加載 失敗的
錯(cuò)誤消息烹笔,通常意味著在路徑。如果它發(fā)生只有當(dāng)你使用OpenBLAS抛丽,這意味著它是libopenblas.dll
本身或其中一個(gè)依賴項(xiàng)谤职。在它是依賴關(guān)系的情況下,您可以使用Dependency Walker實(shí)用程序來(lái)確定哪一個(gè)亿鲜。