Значение скрытого размера и входных переменных размера - PullRequest
0 голосов
/ 14 июня 2019

Я не понимаю значения входного размера и скрытого размера. Как таким образом определяется gate_input_size?

Я думал, что входом для ворот будут векторы как H (t-1), x (t) и W (x) . Я понимаю, что входные данные для каждого временного шага будут выглядеть примерно так (без сэмплов * первый элемент seq из сэмплов).

Приведенный выше код взят из репозитория pynq / lstm, где входной размер принят за 32, а скрытый размер за 100. Пожалуйста, объясните мне, что означают эти расчеты

def lstm_ops_per_seq_element(self):
        gate_input_size = self.input_size + self.hidden_size + 1 if self.bias_enabled else self.input_size + self.hidden_size
        #2 accounts for mul and add separately, 4 is the number of gates
        ops = 2 * gate_input_size * 4 * self.hidden_size
        #element wise muls and peepholes
        ops = ops + 3 * self.hidden_size * 2 if self.peepholes_enabled else ops + 3 * self.hidden_size
        #directions
return ops * 2 if self.bidirectional_enabled else ops
...