用 MatConvNet 构建的网络接受不同尺度的图像并对其进行评估。例如 :-
%img is an image of size 730*860*3
%net is loaded DagNN obj
scales = [-2 -1 0 0.5 1]
for s = 2.^scales
img = imresize(raw_img, s, 'bilinear');
img = bsxfun(@minus, img, averageImage);
inputs = {'data', img};
net.eval(inputs);
end
在调试时,我发现img
调整大小并评估循环的每次迭代。但是 network( net
) 应该接受固定图像。作为 -
K>> net
net =
DagNN with properties:
layers: [1x319 struct]
vars: [1x323 struct]
params: [1x381 struct]
meta: [1x1 struct]
m: []
v: []
mode: 'test'
holdOn: 0
accumulateParamDers: 0
conserveMemory: 1
parameterServer: []
device: 'cpu'
加载训练有素的网络后:-
K>> net.vars(1, 1).value
ans =
[]
在for
循环内部:-(iter 1)
K>> net.vars(1, 1).value
ans =
[64 64 3]
(迭代 2)
K>> net.vars(1, 1).value
ans =
[160 160 3]
等等.... 那么 DagNN 如何处理此类输入并评估自身?(我是 MatConvNet 的新手,在文档中找不到任何帮助。所以请回答这个问题并建议如何在 keras 中构建这些东西)