我正在寻找一种方法来计算卷积神经网络中的参数数量。特别是,我在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