Theano - Ekspresi untuk Perkalian Matriks

Kami akan menghitung produk titik dari dua matriks. Matriks pertama berdimensi 2 x 3 dan yang kedua berdimensi 3 x 2. Matriks yang kita gunakan sebagai input dan hasil perkaliannya dinyatakan di sini -

$$ \ begin {bmatrix} 0 & -1 & 2 \\ 4 & 11 & 2 \ end {bmatrix} \: \ begin {bmatrix} 3 & -1 \\ 1 & 2 \\ 35 & 20 \ end {bmatrix} = \ begin {bmatrix} 11 & 0 \\ 35 & 20 \ end {bmatrix} $$

Mendeklarasikan Variabel

Untuk menulis ekspresi Theano di atas, pertama-tama kita mendeklarasikan dua variabel untuk mewakili matriks kita sebagai berikut -

a = tensor.dmatrix()
b = tensor.dmatrix()

Matriks adalah Jenis matriks untuk ganda. Perhatikan bahwa kami tidak menentukan ukuran matriks di mana pun. Dengan demikian, variabel ini dapat mewakili matriks dari dimensi apa pun.

Mendefinisikan Ekspresi

Untuk menghitung perkalian titik, kami menggunakan fungsi bawaan yang disebut dot sebagai berikut -

c = tensor.dot(a,b)

Output perkalian ditugaskan ke variabel matriks yang disebut c.

Mendefinisikan Fungsi Theano

Selanjutnya, kami mendefinisikan fungsi seperti pada contoh sebelumnya untuk mengevaluasi ekspresi.

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

Perhatikan bahwa input ke fungsi adalah dua variabel a dan b yang berjenis matriks. Output fungsi ditugaskan ke variabelc yang secara otomatis akan menjadi tipe matriks.

Memanggil Fungsi Theano

Kami sekarang memanggil fungsi menggunakan pernyataan berikut -

d = f([[0, -1, 2], [4, 11, 2]], [[3, -1],[1,2], [6,1]])

Dua variabel dalam pernyataan di atas adalah array NumPy. Anda dapat secara eksplisit mendefinisikan array NumPy seperti yang ditunjukkan di sini -

f(numpy.array([[0, -1, 2], [4, 11, 2]]),
numpy.array([[3, -1],[1,2], [6,1]]))

Setelah d dihitung kita mencetak nilainya -

print (d)

Anda akan melihat output berikut pada output -

[[11. 0.]
[25. 20.]]

Daftar Program Lengkap

The complete program listing is given here:
from theano import *
a = tensor.dmatrix()
b = tensor.dmatrix()
c = tensor.dot(a,b)
f = theano.function([a,b], c)
d = f([[0, -1, 2],[4, 11, 2]], [[3, -1],[1,2],[6,1]])
print (d)

Tangkapan layar dari eksekusi program ditampilkan di sini -