在 Matlab 中提取批量大小可变的 Caffe 特征

Extract Caffe features with variable batch size in Matlab

我知道如何使用随 Caffe 一起提供的 matcaffe_demo.m 提取 Caffe 功能/分数。然而,当使用这个文件时,必须提供一个 prototxt 文件,它不仅可以确定网络架构,还可以确定输入维度,包括 batch_size.

因为我正在处理可变序列长度的视频帧,所以我需要一种方法来使用 matcaffe_demo.m 以及可变批量大小。

有人知道怎么做吗?

这可能涉及从 matcaffe_demo.m

更改此行
% Initialize a network
net = caffe.Net(net_model, net_weights, phase);

将动态需要的当前批量大小动态传递给 caffe

我最终使用了 reshape 函数:

net = caffe.Net(net_model, net_weights, phase);
net.blobs('data').reshape([dim1 dim2 numChannels numFrames]);
scores = net.forward(inputData);
caffe.reset_all();