Torch學習 開始

2021-07-07 03:11:56 字數 1229 閱讀 4878

到目前為止出現了各種各樣的深度學習的解決方案框架,其中包括caffe,cuda convnet,pylearn2,theano,torch以及tensorflow等。caffe和cuda convnet沒用過,不過一直很火的樣子,pylearn2包含了cuda covnet,入門用theano,tensorflow剛出來,谷歌又開始挖坑了,具體評價見知乎[1],所以tensorflow暫時先放放。torch也不錯,用lua語言編寫,跟python有點像,itorch是torch的ipython版本。ipython的jupyter版本編寫介面變成了本地的網頁,很漂亮。torch的教程也很詳細[2]。

itorch.display(i)輸出會出錯,應該是image.display(i),會彈出新視窗顯示影象i。根據require時image包的輸出結果可以看到display函式是屬於image的。

空間濾波的引數需要說明一下[3]:

module=nn.spatialconvolution(ninputplane, noutputplane, kw, kh, [dw], [dh])

ninputplane——送進forward()函式的影象中的輸入平面個數;noutputplane——卷基層將會產生的輸出平面個數;kw——卷積核寬度;kh——卷積核高度;dw——寬度維度上卷積的步長,預設為1;dh——寬度維度上卷積的步長,預設為1。

卷積時必然會有一些影象邊緣會丟失,使用者可根據需要補0。如果輸入影象為3d張量(width x height x ninputplane),則輸出影象的大小為owidth x oheight x noutputplane:

owidth  = (width  - kw) / dw + 1

oheight = (height - kh) / dh + 1

卷積的引數存放在self.weight(張量大小為kh x kw x ninputplane x noutputplane)和self.bias(張量大小為noutputplane)。分別對應的梯度為self.gradweight和self.gradbias。

[1] 

[2] 

[3] 

Torch學習筆記

torch是facebook開源的機器學習框架,與當今火熱的tensorflow和caffe一樣,是深度學習 機器學習的利器,用好它們,能很快的在資料集上驗證自己的想法,只要熟練使用,一般的機器學習模型想怎麼玩就怎麼玩.torch是基於lua語言的,因此需要熟悉lua語言,lua在遊戲指令碼中用的非...

torch學習筆記(二)

在上乙個章節,描述了基礎的mlp的引數設定,資料集載入,預處理,以及模型的初始化,感覺torch的模型相對caffe來說,的確很麻煩,哈哈,但那時誰讓他安裝簡單並且還有很多的原始碼學習呢?哈哈,都是個人見解,caffe的原始碼學習模型也有很多很多的。這個章節我們討論一下對模型的運算。在介紹下面的 之...

torch學習筆記《一》

1 利用torch搭建cnn神經網路和softmax完成影象分類,在cifar 10的分類例子和 參考 深度學習筆記系列 就是上面筆記的翻譯 2 lua 語言基礎知識 lua語言中冒號呼叫和點號呼叫的區別 冒號只是起了省略第乙個引數self的作用,該self指向呼叫者本身,並沒有其他特殊的地方。參考...