def __init__(self, in_channels, out_channels, max_text_length, num_heads, num_encoder_TUs, num_decoder_TUs, hidden_dims, **kwargs):
    super(SRNHead, self).__init__()
    self.char_num = out_channels
    self.max_length = max_text_length
    self.num_heads = num_heads
    self.num_encoder_TUs = num_encoder_TUs
    self.num_decoder_TUs = num_decoder_TUs
    self.hidden_dims = hidden_dims
    self.pvam = PVAM(in_channels=in_channels, char_num=self.char_num, max_text_length=self.max_length, num_heads=self.num_heads, num_encoder_tus=self.num_encoder_TUs, hidden_dims=self.hidden_dims)
    self.gsrm = GSRM(in_channels=in_channels, char_num=self.char_num, max_text_length=self.max_length, num_heads=self.num_heads, num_encoder_tus=self.num_encoder_TUs, num_decoder_tus=self.num_decoder_TUs, hidden_dims=self.hidden_dims)
    self.vsfd = VSFD(in_channels=in_channels, char_num=self.char_num)
    self.gsrm.wrap_encoder1.prepare_decoder.emb0 = self.gsrm.wrap_encoder0.prepare_decoder.emb0
def __init__(self, in_channels, out_channels, max_text_length, num_heads, num_encoder_TUs, num_decoder_TUs, hidden_dims, **kwargs):
    super(SRNHead, self).__init__()
    self.char_num = out_channels
    self.max_length = max_text_length
    self.num_heads = num_heads
    self.num_encoder_TUs = num_encoder_TUs
    self.num_decoder_TUs = num_decoder_TUs
    self.hidden_dims = hidden_dims
    self.pvam = PVAM(in_channels=in_channels, char_num=self.char_num, max_text_length=self.max_length, num_heads=self.num_heads, num_encoder_tus=self.num_encoder_TUs, hidden_dims=self.hidden_dims)
    self.gsrm = GSRM(in_channels=in_channels, char_num=self.char_num, max_text_length=self.max_length, num_heads=self.num_heads, num_encoder_tus=self.num_encoder_TUs, num_decoder_tus=self.num_decoder_TUs, hidden_dims=self.hidden_dims)
    self.vsfd = VSFD(in_channels=in_channels, char_num=self.char_num)
    self.gsrm.wrap_encoder1.prepare_decoder.emb0 = self.gsrm.wrap_encoder0.prepare_decoder.emb0