Theano 中文文檔 0.9 - 5.3 Windows安裝說(shuō)明

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)始”屏幕,然后鍵入commandcmd云矫。

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):

  1. 打開(kāi)管理員控制臺(tái)(打開(kāi)start,然后鍵入cmd喊递,右鍵單擊命令提示符圖標(biāo)随闪,選擇運(yùn)行 as administrator
  2. 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):

  1. 安裝到?jīng)]有空格的目錄中(我們將它放在C:\SciSoft\TDM-GCC-64中)
  2. 如果你不想雜亂你的系統(tǒng)PATH取消檢查添加 到 路徑選項(xiàng)当宴。
  3. 通過(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.alibmsvcr90.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.0C:\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):

  1. 打開(kāi)管理員控制臺(tái)(打開(kāi)start肩刃,然后鍵入cmd祟霍,右鍵單擊命令提示符圖標(biāo),選擇運(yùn)行 as administrator
  2. 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):

  1. 安裝到?jīng)]有空格的目錄中(我們將它放在C:\SciSoft\TDM-GCC-64中)
  2. 如果你不想雜亂你的系統(tǒng)PATH取消檢查添加 到 路徑選項(xiàng)。
  3. 通過(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.alibmsvcr90.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.0C:\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.alibmsvcr90.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.0C:\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)證是否找到以下程序:

  1. 其中g(shù)cc
  2. 其中g(shù)endef
  3. 其中cl
  4. 其中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í)行以下操作:

  • 下載mingw-get命令行安裝程序二進(jìn)制文件仪际。

  • 將其內(nèi)容解包到你的pythonxy\mingw目錄中围小。

  • 在提示符(cmd)中,安裝MSYS

    mingw-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ù)如下:

  1. 通過(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能夠下載文件舰涌。
  2. 解壓縮OpenBLAS,并在MinGW shell中進(jìn)入相應(yīng)的目錄你稚。
  3. 編譯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ò)誤鸡典。

  1. 請(qǐng)確保libopenblas.dll位于您的PATH中的文件夾中。
  2. 使用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"

  1. 要測(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è)亿鲜。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末允蜈,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子蒿柳,更是在濱河造成了極大的恐慌饶套,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,126評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件垒探,死亡現(xiàn)場(chǎng)離奇詭異妓蛮,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)圾叼,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門(mén)蛤克,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人夷蚊,你說(shuō)我怎么就攤上這事构挤。” “怎么了惕鼓?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,445評(píng)論 0 341
  • 文/不壞的土叔 我叫張陵筋现,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我,道長(zhǎng)矾飞,這世上最難降的妖魔是什么彻犁? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,185評(píng)論 1 278
  • 正文 為了忘掉前任,我火速辦了婚禮凰慈,結(jié)果婚禮上汞幢,老公的妹妹穿的比我還像新娘。我一直安慰自己微谓,他們只是感情好森篷,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,178評(píng)論 5 371
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著豺型,像睡著了一般仲智。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上姻氨,一...
    開(kāi)封第一講書(shū)人閱讀 48,970評(píng)論 1 284
  • 那天钓辆,我揣著相機(jī)與錄音,去河邊找鬼肴焊。 笑死前联,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的娶眷。 我是一名探鬼主播似嗤,決...
    沈念sama閱讀 38,276評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼届宠!你這毒婦竟也來(lái)了烁落?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 36,927評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤豌注,失蹤者是張志新(化名)和其女友劉穎伤塌,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體轧铁,經(jīng)...
    沈念sama閱讀 43,400評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡每聪,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,883評(píng)論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了属桦。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片熊痴。...
    茶點(diǎn)故事閱讀 37,997評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡他爸,死狀恐怖聂宾,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情诊笤,我是刑警寧澤系谐,帶...
    沈念sama閱讀 33,646評(píng)論 4 322
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響纪他,放射性物質(zhì)發(fā)生泄漏鄙煤。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,213評(píng)論 3 307
  • 文/蒙蒙 一茶袒、第九天 我趴在偏房一處隱蔽的房頂上張望梯刚。 院中可真熱鬧,春花似錦薪寓、人聲如沸亡资。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,204評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)锥腻。三九已至,卻和暖如春母谎,著一層夾襖步出監(jiān)牢的瞬間瘦黑,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,423評(píng)論 1 260
  • 我被黑心中介騙來(lái)泰國(guó)打工奇唤, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留幸斥,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,423評(píng)論 2 352
  • 正文 我出身青樓咬扇,卻偏偏與公主長(zhǎng)得像睡毒,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子冗栗,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,722評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容