#matlab #caffe #hdf5
#matlab #caffe #hdf5
Вопрос:
Я загрузил в сеть, определенную ниже, файлы hdf5
name: "match_layers"
layers {
name: "data"
type: HDF5_DATA
top: "feat1"
top: "feat2"
hdf5_data_param {
source: "vgg16_train_test_pair.h5list"
batch_size: 50
}
}
layers {
name: "concat"
bottom: "feat1"
bottom: "feat2"
top: "union"
type: CONCAT
concat_param{
concat_dim: 1
}
}
layers {
bottom: "union"
top: "fc1"
name: "fc1"
type: INNER_PRODUCT
inner_product_param {
num_output: 1024
}
.......
Что внутри vgg16_train_test_pair.h5list:
vgg16_train_test_pair.h5
и файлы hdf5 уже завершены, я хочу получить вывод fc1 с помощью интерфейса matlab, я пробовал:
net = caffe.Net(model, weights, 'test');
a = net.forward();
fc1 = net.blobs('fc1').get_data();
но это не сработало, кто-нибудь может помочь мне это исправить?
Комментарии:
1. Можете ли вы подробнее рассказать о том, какую ошибку вы получили? Кроме того, должен ли код быть
net.blobs('fc1').get_data()
?2. @Prophecies Я исправляю ошибку
net.blobs('fc1').get_data()
. Когда он запускаетсяnet.forward()
, он сообщает об ошибке, что недостаточно аргумента , потому что мой ввод предопределен в файле prototxt с помощью vgg16_train_test_pair.h5list , поэтому я не знаю, как ввести вводnet.forward()
.