【发布时间】:2018-11-30 00:36:53
【问题描述】:
这是我第一次尝试在 matlab 中使用 caffemodels,所以我有点迷茫 - 我已经从这个网站下载了一个 caffemodel (CNN):https://data.vision.ee.ethz.ch/cvl/rrothe/imdb-wiki/,我现在只是想用它来做一个估计图像的年龄。到目前为止,我的尝试看起来像这样:
net = importCaffeNetwork('prot.prototxt', 'dex_imdb_wiki.caffemodel');
%% read image
image2 = imread('image2.jpg');
image2 = imresize(im2double(image2),[224 224]);
net(image2)
net 是一个有 41 层的 CNN,它在第一层有一个大小为 [224 224 3] 的输入。当我运行“net(image2)”时,我收到错误“数组索引必须是正整数或逻辑值”。
我根本不知道如何解决这个问题..
非常感谢任何帮助。
【问题讨论】:
-
我认为你需要这个:
classify(net,image2); -
哦,是的 - 现在我至少得到了一个结果 - 但无论我输入什么图像,我都会得到 ypred = class22 :( 我猜它可能与这个“年龄估计”有关输出层有 101 个神经元(0-100 年,每年一个)。要获得预测年龄,您需要在 softmax 归一化输出概率上取期望值“ - 但它仍然没有意义我认为他们都应该从 class22 开始 - 我不太明白他们告诉我要做什么
-
您是否尝试过使用您确信会提供除
class22之外的其他内容的图片? -
是的,我尝试使用真正的老人和孩子的图像
-
天哪,就是这样 - 非常感谢! :D 我不太记得我为什么这样做了
标签: matlab neural-network caffe