theano是乙個python庫,可以在cpu或gpu上執行快速數值計算。
這是python深度學習中的乙個關鍵基礎庫,你可以直接用它來建立深度學習模型或包裝庫,大大簡化了程式。
在這篇文章中,你會發現theano python庫。
theano是在bsd許可證下發布的乙個開源專案,是由lisa集團(現mila)在加拿大魁北克的蒙特婁大學(yoshua bengio主場)開發。它是用乙個希臘數學家的名字命名的。
python的核心theano是乙個數學表示式的編譯器。它知道如何獲取你的結構,並使之成為乙個使用numpy、高效本地庫的非常高效的**,如blas和本地**(c++),在cpu或gpu上盡可能快地執行。
它巧妙的採用一系列**優化從硬體中攫取盡可能多的效能。如果你對**中的數學優化的基本事實感興趣,看看這個有趣的名單。
theano表示式的實際語法是象徵性的,可以推送給初學者用於一般軟體開發。具體來說,表示式是在抽象的意義上定義,編譯和後期是用來進行計算。
它是為深度學習中處理大型神經網路演算法所需的計算而專門設計的。它是這類庫的首創之一(發展始於2023年),被認為是深度學習研究和開發的行業標準。
theano提供了主要的作業系統詳細的安裝說明:windows、os x和linux。為你的平台閱讀theano安裝指南。
theano需要乙個python2或python3包含scipy的工作環境。這種方法使安裝更加容易,比如用anaconda在你的機器上快速建立python和scipy,以及實用docker影象。
隨著運作的python和scipy環境,安裝theano就變得相對簡單。使用pip來自pypi,例如:
1
pip install theano
撰寫theano的最後乙個正式發布的版本為0.8,發布時間是2023年3月21日。
新版本將要宣布,你將要通過更新得到一些錯誤修復和效率的提高。您可以使用pip公升級theano方法如下:
1
sudo pip install –upgrade –no-deps theano
您可能需要使用theano的前沿版本來直接找出github。
這可能需要一些包裝庫,用來改變api的前沿。您可以按如下方法從找到的github上直接安裝theano:
1
pip install –upgrade –no-deps git+git:
你現在已經準備好在你的cpu上執行theano了,其十分適合小模型的開發。
在這一節中我們展示了乙個簡單的python指令碼,讓你對theano稍加了解。
它是從theano一覽導向中摘取出來的。在這個例子中,我們定義了兩個符號浮點變數a和b。
我們定義乙個使用這些變數的表示式(c = a + b)。
然後,我們編譯這個象徵性的表示式為使用theano功能,我們可以在以後使用。
最後,我們通過填入一些真正的值和採用高效的編譯**theano執行計算,來使用我們編寫的表示式。
1
2
3
4
5
6
7
8
9
10
11
12
import
theano
from
theano
import
tensor
# declare two symbolic floating-point scalars
a=tensor
.dscalar()
b=tensor
.dscalar()
# create a ****** expression
c=a+b
# convert the expression into a callable object that takes (a,b)
# values as input and computes a value for c
f=theano
.function([
a,b]
,c)
# bind 1.5 to 『a』, 2.5 to 『b』, and evaluate 『c』
assert
4.0==f(
1.5,
2.5)
執行的示例不提供任何輸出。結論1.5+2.5=4.0是真實的。
這是乙個有用的例子,因為它為您提供了乙個象徵性的表示式是怎麼定義,編譯和使用的過程。你可以看到它是如何擴充套件到深度學習所需要的大向量和矩陣運算中去。
如果你是深度學習的新人,你不必直接使用theano。
事實上,我們強烈鼓勵使用許多流行的python專案,它會使深度學習中的theano使用起來更加簡便。
這些專案提供python中的資料結構和行為,專門為快速、可信的深度學習模型建立而設計,確保theano在幕後執行快速、高效地建立模型。
theano語法的數量由庫變化而顯現。
﹒例如,lasagne庫為建立深度學習模型提供便利類資料,但仍期望你知道並利用theano語法。知道或願意學一點theano對於初學者是有利的。
﹒另乙個例子是keras,它完全隱藏了theano並提供了乙個非常簡單的api去創造深度學習模型。它把theano隱藏的如此之好,以至於它實際上可以作為叫做tensorflow的另一種流行的基礎框架的包裝執行。
我強烈建議直接嘗試一些與theano相關的內容,然後選擇乙個包裝庫學習和實踐深度學習。
對於建立在theano上的庫的完整列表,請參閱維基上theano相關的專案指南。
looking for some more resources on theano? take a look at some of the following.
總結在這篇文章中,你發現了進行有效數值計算的theano python庫。
你了解到這是用於深度學習研究和發展的基礎庫,它可以直接用於建立深度學習模型或通過便利庫建立在它之上,如lasagne和keras。
Python機器學習庫和深度學習庫總結
我們在github上的貢獻者和提交者之中檢查了用python語言進行機器學習的開源專案,並挑選出最受歡迎和最活躍的專案。1.scikit learn 重點推薦 scikit learn 是基於scipy為機器學習建造的的乙個python模組,他的特色就是多樣化的分類,回歸和聚類的演算法包括支援向量機...
深度學習python
squeeze 降維 維度為1的降掉 tf.squeeze arr,降維,將維度為1 的降掉 arr tf.variable tf.truncated normal 3,4,1,6,1 stddev 0.1 arr2 tf.squeeze arr,2,4 arr3 tf.squeeze arr 降掉...
Python深度學習 01深度學習入門
深度學習是機器學習與神經網路 人工智慧 圖形化建模 優化 模型識別和訊號處理等技術融合後產生的乙個領域。簡單來說,深度神經網路是一種用多層抽象來表示概念或者特徵的方式。深度學習使用多層機器學習模型對資料進行有監督學習或者無監督學習。在學習深度學習核心思想時,採取如圖所示的的通用方法 注意 單隱藏層神...