Какая часть файла deploy.prototxt в caffe абсолютно необходима для тестирования?

В недавнем обсуждении я обнаружил, что некоторые части deploy.prototxt существуют только потому, что они были непосредственно скопированы из train_test.prototxt и игнорируются во время тестирования. Например:

    layer {
  name: "conv1"
  type: "Convolution"
  bottom: "data"
  top: "conv1"
  param {                     #Starting here
    lr_mult: 1
  }
  param {
    lr_mult: 2
  }                           #To here
  convolution_param {         #is this section useful?
    num_output: 20
    kernel_size: 5
    stride: 1
    weight_filler {
      type: "xavier"
    }
    bias_filler {
      type: "constant"
    }
  }
}

Мне сказали, что раздел, содержащий LR для весов как смещения, бесполезен в файлах развертывания и может быть удален. Это заставило меня задуматься, действительно ли необходима часть convolution_param? Если да, нужно ли нам еще определять вес и смещение наполнителей, так как мы будем проводить тестирование только с использованием этого файла, а наполнители инициализируются только тогда, когда нам нужно обучить сеть. Есть ли какая-то другая деталь, которая не нужна?

2 ответа

Решение

convolution_param часть требуется, но вы можете удалить weight_filler а также bias_filler если ты хочешь.

layer {
  name: "conv1"
  type: "Convolution"
  bottom: "data"
  top: "conv1"
  convolution_param {
    num_output: 20
    kernel_size: 5
    stride: 1
  }
}

Вышеупомянутый слой будет хорошо работать во время теста.

Другие вопросы по тегам