2

В сверточном модуле многие параметры могут изменять размерность ввода. Есть ли способ получить размерность вывода сверточного модуля или вообще любого модуля?torch nn: как получить размеры выходов (карты функций)?

Я попытался взглянуть на методы, выставленные в SpatialConvolution, но нет ни одного, предлагающего дать мне эту информацию.

Кроме того, тензор выход, кажется, эти размеры:

conv1 = nn.SpatialConvolution(3, 96, 5, 5, 1, 1, 2, 2) 
conv1.id = 'conv1' 
print(conv1.output:size()) 
[torch.LongStorage of size 0] 

любые идеи?

Я понимаю, что я даже не задал размерность ввода, за исключением количества каналов (это было бы 3x32x32). Как его установить? Почему это не обязательно?

+2

Существует не такой метод, который существует. вам придется переадресовать функцию для изменения размера вывода, а затем получить форму. – smhx

ответ

4

Размер выходного сигнала зависит от вашего размера ввода. Вы можете попробовать что-то вроде этого:

th> require 'nngraph' 
th> conv1 = nn.SpatialConvolution(3, 96, 5, 5, 1, 1, 2, 2)() 
th> model = nn.gModule({conv1},{conv1}) 
th> x = torch.rand(3,20,20) 
th> y = model:forward(x) 
th> y:size() 

96 
20 
20 
[torch.LongStorage of size 3] 

 Смежные вопросы

  • Нет связанных вопросов^_^