| 629 | self._out = out |
| 630 | |
| 631 | def add_input(self, x): # x: Expression |
| 632 | input_dim = make_dim(self.builder.input_dim) |
| 633 | input_dim = x.dim if x.dim==input_dim else InvalidConcreteDim(x.dim, input_dim) |
| 634 | rnn_type = self.builder.whoami() |
| 635 | if rnn_type.endswith("Builder"): rnn_type = rnn_type[:-len("Builder")] |
| 636 | output_e = GVExpr('RNNState', [x, input_dim, rnn_type, self.builder.builder_version, self.state_idx+1], dim=make_dim(self.builder.hidden_dim)) |
| 637 | new_state = RNNState(self.builder, self.state_idx+1, self, output_e) |
| 638 | return new_state |
| 639 | |
| 640 | def add_inputs(self, xs): |
| 641 | if self._prev is None: |