nn.Linear와 nn.rnn의 인풋 아웃풋

안녕하세요
인공지능을 공부하던 중 nn.linear와 nn.rnn의 인풋 아웃풋의 차이가 궁금해서 글남깁니다.

만약

class sample(nn.Module):
def init(self):
super(NNfunc, self).init()
self.linear = nn.Linear(1, 20)
def forward(self, t, is_train = False, y = None):
a = self.linear(t)
return a

이렇게 클래스단이 존재한다고 가정할시 해당 단을 RNN으로 바꾼다고 하면

class sample(nn.Module):
def init(self, input_size, hidden_dim, num_layer):
super(NNfunc, self).init()
self.input_size = input_size
self.hidden_dim = hidden_dim
self.num_layer = num_layer

    self.linear = nn.rnn(1, 20,1, batch_size = false)
def forward(self, t, is_train = False, y = None):
    a = self.rnn(t) 
    return a

이렇게 되는거 맞나요??

안녕하세요
RNN와 Linear는 용도와 구조가 많이 다르기 때문에 단순한 교체는 의미가 없습니다.
이론적인 부분을 조금 더 공부하시는게 좋을 것 같습니다.