1

我想重新训练 vgg-imagenet-f 网络进行分类(而不是直接进行图像比较,这是我用自己的网络所做的)。然而,下载的网络是一个部署网络,不包含损失层。由于我之前没有进行过分类训练,所以我对如何设计最后一层感到有些困惑。我希望它会是这样的:

layer.name = 'loss' ;
layer.type = 'custom' ;
layer.forward = @forward ;
layer.backward = @backward ;
layer.class = [] ;

但我不知道我的@forward 和@backward 函数应该是什么。他们应该是softmax吗?值得注意的是,我有一个带有大约 10k 图像、相应标签和一个 ID 元素的 imdb,其唯一编号为 1 - 10k。感谢您提供任何帮助,或任何指向在 matconvnet/matlab 中构建该层的方式示例的链接!

4

1 回答 1

0

您可以实现自己的网络,相应地调整过滤器,因为您想“重新训练”vgg 而不是使用随机数初始化权重,您可以使用来自下载网络的训练有素的文件管理器来调整分类网络。最后一层可能是 softmaxloss http://www.vlfeat.org/matconvnet/mfiles/vl_nnsoftmaxloss/

于 2016-09-02T14:16:40.297 回答