我正在尋找一種方法來計算卷積神經網絡中的參數數量。特別是,我在https://github.com/facebook/fb.resnet.torch中使用了Resnet模型。 你知道是否有任何函數可以計算參數總數?你有其他建議嗎? 在此先感謝。Torch7,如何計算convNet中的參數數量
1
A
回答
0
你基本上必須通過你的網絡的每一層,並計算該層的參數數量。這裏是做一個樣本函數:
-- example model to be fed to the function
model = nn.Sequential()
model:add(nn.SpatialConvolution(3,12,1,1))
model:add(nn.Linear(2,3))
model:add(nn.ReLU())
function countParameters(model)
local n_parameters = 0
for i=1, model:size() do
local params = model:get(i):parameters()
if params then
local weights = params[1]
local biases = params[2]
n_parameters = n_parameters + weights:nElement() + biases:nElement()
end
end
return n_parameters
end
3
如果你打算在torch
訓練網絡,您必須先提取其參數的矢量和漸變的矢量w.r.t.這些參數(均爲1D張量):
params, gradParams = net:getParameters()
已經完成它,它很容易獲得的可學習參數個數:
n_params = params:size(1)
0
添加到什麼已經回答了,如果你只是想計數的網絡在層級別的參數個數,你最好使用
params, gradParams = net:parameters()
print(#params)
,而不是getParameters()
(其中r蝕刻出扁平的長張量)。
功能parameters()
是非常有用的,當你想設置不同的學習率分層。
相關問題
- 1. Powershell如何計算參數的數量
- 2. 他們是如何計算Caffe中這個convnet例子的輸出量的?
- 3. 如何計算數量?
- 4. NDepend如何計算代表的參數數量?
- 5. 如何計算LSTM網絡的參數數量?
- 6. 如何計算變量的中位數?
- 7. 如何決定或計算我設計中隱藏/可調參數的數量?
- 8. 如何計算數據點的數量?
- 9. torch7:如何拼合張量?
- 10. 如何計算在GROUPBY條款計數計數值的數量
- 11. 如何計算Ruby中數組中數組的數量?
- 12. 計算數量
- 13. 計算數量
- 14. 計算數量
- 15. 計算數量
- 16. 計算Python中參數的實數
- 17. PHP函數計算傳遞給函數的參數數量
- 18. 如何計算特定值的數量
- 19. 你如何計算結果的數量
- 20. 如何計算損壞件的數量
- 21. 計算參數值
- 22. Python函數參數計算
- 23. 如何計算Oracle SQL函數中的新參數
- 24. 如何將參數傳遞給Knockout中的計算函數?
- 25. 如何計算rpart複雜度參數?
- 26. 如何計算從Bitmap.getRGB565「scanLegth」參數(...)
- 27. 如何延遲參數值計算?
- 28. 計算數組中元素的數量
- 29. 計算數組中重複的數量?
- 30. 如何計算構造函數中的對象的數量javascript
我以爲有這樣做的特定功能,我無法找到。非常感謝你的幫助! – Jessica
如果您發現此答案有幫助,您會介意將其標記爲正確答案嗎?這會增加我的聲譽。 – siavashk