def _getdecoder(self, outvocsize=None, outembdim=None, outemb=None, maskid=-1, attention=None, lastencinnerdim=None, decinnerdim=None, inconcat=False, outconcat=True, softmaxout=None, dropout=None, rnu=None): lastencinnerdim = self.lastencinnerdim if lastencinnerdim is None else lastencinnerdim decinnerdim = self.decinnerdim if decinnerdim is None else decinnerdim rnu = GRU if rnu is None else rnu dec = SeqDecoder.RNN( emb=outemb, embdim=outembdim, embsize=outvocsize, maskid=maskid, ctxdim=lastencinnerdim, attention=attention, innerdim=decinnerdim, inconcat=inconcat, softmaxoutblock=softmaxout, outconcat=outconcat, dropout=dropout, rnu=rnu, dropout_h=dropout, ) return dec