| 3740 | return w |
| 3741 | |
| 3742 | def zero_state(self, batch_size, dtype): |
| 3743 | read_vector_list = [ |
| 3744 | array_ops.zeros([batch_size, self.memory_vector_dim]) |
| 3745 | for _ in range(self.read_head_num) |
| 3746 | ] |
| 3747 | |
| 3748 | w_list = [ |
| 3749 | array_ops.zeros([batch_size, self.memory_size]) |
| 3750 | for _ in range(self.read_head_num + self.write_head_num) |
| 3751 | ] |
| 3752 | |
| 3753 | controller_init_state = self.controller.zero_state(batch_size, dtype) |
| 3754 | |
| 3755 | M = array_ops.zeros([batch_size, self.memory_size, self.memory_vector_dim]) |
| 3756 | |
| 3757 | return NTMControllerState( |
| 3758 | controller_state=controller_init_state, |
| 3759 | read_vector_list=read_vector_list, |
| 3760 | w_list=w_list, |
| 3761 | M=M, |
| 3762 | time=0) |
| 3763 | |
| 3764 | |
| 3765 | class MinimalRNNCell(rnn_cell_impl.LayerRNNCell): |