class_docstr: E2E module.
  
  :param int idim: dimension of inputs
  :param int odim: dimension of outputs
  :param Namespace args: argument Namespace containing options
class_docstr_tok: ["E2E","module",".",":","param","int","idim",":","dimension","of","inputs",":","param","int","odim",":","dimension","of","outputs",":","param","Namespace","args",":","argument","Namespace","containing","options"]
docstr: Prepend target language IDs to source sentences for multilingual MT.
  
  These tags are prepended in source/target sentences as pre-processing.
  
  :param torch.Tensor xs_pad: batch of padded input sequences (B, Tmax, idim)
  :param torch.Tensor ilens: batch of lengths of input sequences (B)
  :return: source text without language IDs
  :rtype: torch.Tensor
  :return: target text without language IDs
  :rtype: torch.Tensor
  :return: target language IDs
  :rtype: torch.Tensor (B, 1)
docstr_tok: ["Prepend","target","language","IDs","to","source","sentences","for","multilingual","MT",".","These","tags","are","prepended","in","source\/target","sentences","as","pre-processing",".",":","param","torch.Tensor","xs_pad",":","batch","of","padded","input","sequences","(","B",",","Tmax",",","idim",")",":","param","torch.Tensor","ilens",":","batch","of","lengths","of","input","sequences","(","B",")",":","return",":","source","text","without","language","IDs",":","rtype",":","torch.Tensor",":","return",":","target","text","without","language","IDs",":","rtype",":","torch.Tensor",":","return",":","target","language","IDs",":","rtype",":","torch.Tensor","(","B",",","1",")"]
code: def target_language_biasing(self, xs_pad, ilens, ys_pad):
      """Prepend target language IDs to source sentences for multilingual MT.
  
      These tags are prepended in source/target sentences as pre-processing.
  
      :param torch.Tensor xs_pad: batch of padded input sequences (B, Tmax, idim)
      :param torch.Tensor ilens: batch of lengths of input sequences (B)
      :return: source text without language IDs
      :rtype: torch.Tensor
      :return: target text without language IDs
      :rtype: torch.Tensor
      :return: target language IDs
      :rtype: torch.Tensor (B, 1)
      """
      if self.multilingual:
          # remove language ID in the beginning
          tgt_lang_ids = ys_pad[:, 0].unsqueeze(1)
          xs_pad = xs_pad[:, 1:]  # remove source language IDs here
          ys_pad = ys_pad[:, 1:]
  
          # prepend target language ID to source sentences
          xs_pad = torch.cat([tgt_lang_ids, xs_pad], dim=1)
      return xs_pad, ys_pad
  
imports: import argparse
  import logging
  import math
  import os
  import chainer
  import nltk
  import numpy
  import torch
  from chainer import reporter
  from espnet.nets.e2e_asr_common import label_smoothing_dist
  from espnet.nets.mt_interface import MTInterface
  from espnet.nets.pytorch_backend.initialization import uniform_init_parameters
  from espnet.nets.pytorch_backend.nets_utils import get_subsample, pad_list, to_device
  from espnet.nets.pytorch_backend.rnn.argument import add_arguments_rnn_attention_common, add_arguments_rnn_decoder_common, add_arguments_rnn_encoder_common
  from espnet.nets.pytorch_backend.rnn.attentions import att_for
  from espnet.nets.pytorch_backend.rnn.decoders import decoder_for
  from espnet.nets.pytorch_backend.rnn.encoders import encoder_for
  from espnet.utils.fill_missing_args import fill_missing_args
label_desc: Use image node_id 8 for calling the E2E obj's underlying member method code with example usage: obj.target_language_biasing(xs_pad, ilens, ys_pad) and returns: xs_pad,  ys_pad