我不了解输入大小和隐藏大小的含义。 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