1. Theano不是一個(gè)正常意義上的編程語言拓提,因?yàn)槟阍赑ython中編寫一個(gè)程序來為Theano構(gòu)建表達(dá)式上遥。在某種程度上它仍然像一個(gè)編程語言招盲,因?yàn)槟惚仨?br>
(1)聲明變量(a,b)并給出它們的類型
(2)構(gòu)建表達(dá)式來表示如何將這些變量放在一起
(3)將表達(dá)式圖編譯為函數(shù)诈嘿,以便將它們用于計(jì)算。
可以把theano.function看作一個(gè)編譯器的接口糠雨,它從純粹的符號(hào)圖中構(gòu)建一個(gè)可調(diào)用的對(duì)象才睹。Theano的最重要的特性之一是theano.function可以優(yōu)化圖,甚至將其中的一些或全部編譯為本機(jī)機(jī)器指令甘邀。
2.Theano是一個(gè)Python庫和優(yōu)化編譯器琅攘,用于處理和求值表達(dá)式,特別是矩陣表達(dá)式鹃答。矩陣的操作通常使用numpy包來完成乎澄,那么什么是Theano做的而Python和numpy沒有做的呢?
執(zhí)行速度優(yōu)化:Theano可以使用g++或nvcc將表達(dá)式圖的部分編譯成CPU或GPU指令测摔,它們運(yùn)行起來比純Python快得多置济。
符號(hào)微分:Theano可以自動(dòng)構(gòu)建用于計(jì)算梯度的符號(hào)圖。
穩(wěn)定性優(yōu)化:Theano可以識(shí)別[某些]數(shù)值不穩(wěn)定的表達(dá)式锋八,并使用更穩(wěn)定的算法計(jì)算它們浙于。
3.