Как получить вывод из ввода hdf5 в caffe?

#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() .