Theano - 一個簡單的 Theano 表示式



讓我們開始 Theano 之旅,首先定義和評估一個簡單的 Theano 表示式。考慮以下將兩個標量相加的簡單表示式:

c = a + b

其中ab是變數,c是表示式的輸出。在 Theano 中,即使是定義和評估這個簡單的表示式也很棘手。

讓我們瞭解評估上述表示式的步驟。

匯入 Theano

首先,我們需要在程式中匯入 Theano 庫,我們使用以下語句:

from theano import *

我們沒有匯入各個包,而是在上述語句中使用了 * 來包含 Theano 庫中的所有包。

宣告變數

接下來,我們將使用以下語句宣告一個名為a的變數:

a = tensor.dscalar()

dscalar 方法宣告一個十進位制標量變數。執行上述語句會在您的程式程式碼中建立一個名為a的變數。同樣,我們將使用以下語句建立變數b

b = tensor.dscalar()

定義表示式

接下來,我們將定義對這兩個變數ab進行運算的表示式。

c = a + b

在 Theano 中,執行上述語句不會執行這兩個變數ab的標量加法。

定義 Theano 函式

要評估上述表示式,我們需要在 Theano 中定義一個函式,如下所示:

f = theano.function([a,b], c)

函式function有兩個引數,第一個引數是函式的輸入,第二個引數是其輸出。上述宣告指出,第一個引數是包含兩個元素ab的陣列型別。輸出是一個稱為c的標量單元。此函式將在我們以後的程式碼中用變數名f引用。

呼叫 Theano 函式

函式 f 的呼叫使用以下語句進行:

d = f(3.5, 5.5)

函式的輸入是一個包含兩個標量的陣列:3.55.5。執行的輸出賦值給標量變數d。要列印d的內容,我們將使用print語句:

print (d)

執行將導致d的值(在本例中為 9.0)列印到控制檯上。

完整程式清單

為了方便您參考,這裡提供了完整的程式清單:

from theano import *
a = tensor.dscalar()
b = tensor.dscalar()
c = a + b
f = theano.function([a,b], c)
d = f(3.5, 5.5)
print (d)

執行上述程式碼,您將看到輸出為 9.0。螢幕截圖如下所示:

Full Program

現在,讓我們討論一個稍微複雜的示例,該示例計算兩個矩陣的乘法。

廣告