I’m not an expert, but it seems to me that this is because self.initial_hidden is actually a tuple and not a parameter. You can try breaking it down to self.initial_h, self.initial_c = self.init_hidden(self.batch_size)