target.size=time,batch,output
output.size=time,batch,output
input.size=time,batch,20

model
  Definitionself.rnn = nn.GRU（self.hidden_​​size1、gru_hidden）
  self.norm = nn.LayerNorm（gru_hidden）
  self.Relu = swish（0.7）
  
  #runtime
  x = self.Linear（x）
  x、hidden = self.rnn（x、hidden）
  onry_x = self.Relu（self.norm（x）

I’m doing something a little different after GRU. Is this a problem?
There should be no problem in itself as it is from the code before the introduction of GRU
   L = self.L(x).view(bacth_size*timee, self.num_outputs,self.num_outputs)
    tril_mask = torch.tril(torch.ones(self.num_outputs,self.num_outputs), diagonal=-1).unsqueeze(0).to("cuda:0")
    diag_mask = torch.diag(torch.diag(torch.ones(self.num_outputs,self.num_outputs))).unsqueeze(0).to("cuda:0")
    L = L * tril_mask.expand_as(L) + torch.exp(L) * diag_mask.expand_as(L)
    P = torch.bmm(L, L.transpose(2, 1))