Синтаксическая ошибка в функции Matlab MatConvNet vl_nnconv, реализованной как функция Pytorch nn.conv1d

#matlab #neural-network #pytorch #conv-neural-network

Вопрос:

В Matlab у меня есть следующий код:

 x = vl_nnconv(x, 'size', [3 3 3 nfilters(i)], 'pad', 1);
 

Когда я делаю то же самое в Python (Pytorch), я получаю синтаксическую ошибку:

 for i in range(1, nlayers-1):
    if i == 1:
        x = nn.conv1d(x,[3 3 3 nfilters(i)], pad())
 

с ошибкой, отмеченной в [3 3 3 nfilters(i)] области. Я не уверен, в чем заключается синтаксическая ошибка.

Ответ №1:

Правильное форматирование для функционального API F.conv1d (где F есть torch.nn.functional ) — это:

 F.conv1d(x, weight, bias=None, stride=1, padding=0)
 

Предполагая, что у вас есть weight (и необязательно bias ) где-то хранящиеся тензоры.