我正在研究基于CNN-RNN框架的一些图像标记问题。我需要通过CNN提取cifar-100图像特征,并将其提供给RNN。由于像vgg和resnet这样的网络的输入维是(3 * 224 * 224),而cifar-100图像是32 * 32,因此我不得不为cifar数据集找到CNN代码,并发现this。 此Caffe代码可在cifar上使用,并且输出是准确性和损失,但我需要(ip1 + sig1)层的输出。
.
.
.
layer {
name: "ip1"
type: "InnerProduct"
bottom: "pool3"
top: "ip1"
inner_product_param {
num_output: 768
weight_filler {
type: "xavier"
}
}
}
layer {
name: "sig1"
type: "Sigmoid"
bottom: "ip1"
top: "ip1"
}
layer {
name: "ip_c"
type: "InnerProduct"
bottom: "ip1"
top: "ip_c"
inner_product_param {
num_output: 20
weight_filler {
type: "xavier"
}
}
}
layer {
name: "accuracy_c"
type: "Accuracy"
bottom: "ip_c"
bottom: "label_coarse"
top: "accuracy_c"
}
layer {
name: "loss_c"
type: "SoftmaxWithLoss"
bottom: "ip_c"
bottom: "label_coarse"
top: "loss_c"
}
layer {
name: "ip_f"
type: "InnerProduct"
bottom: "ip1"
top: "ip_f"
inner_product_param {
num_output: 100
weight_filler {
type: "xavier"
}
}
}
layer {
name: "accuracy_f"
type: "Accuracy"
bottom: "ip_f"
bottom: "label_fine"
top: "accuracy_f"
}
layer {
name: "loss_f"
type: "SoftmaxWithLoss"
bottom: "ip_f"
bottom: "label_fine"
top: "loss_f"
}
我不想重新训练模型,仅使用预先训练的权重并获取特征向量。 我怎样才能做到这一点?! 有人可以帮我吗?