<gh_stars>0
from copy import deepcopy
from overrides import overrides
from tensorflow.contrib.rnn import LSTMCell
inport logging
import tensorflow as tf

from ..matching import bilater_matching
from ..base_tf_model import BaseTFModel 
from ..util.rnn import last_relevant_output

logger = logging.getLogger(__name__)

class BiMPM(BaseTFModel):
	def __init__(self, config_dict):
		config_dict = deepcopy(config_dict)
		mode = config_dict.pop('mode')
		super(BiMPM,self).__init__(mode=mode)

		self.word_vocab_size = config_dict.pop('word_vocab_size')
		self.word_embedding_dim = config_dict.pop('word_embedding_dim')
		self.word_embedding_matrix = config_dict.pop('word_embedding_matrix')
		self.char_vocab_size = config_dict.pop('char_vocab_size')
		self.char_embedding_dim = config_dict.pop('char_embedding_dim')
		self.char_embedding_matrix = config_dict.pop('char_embedding_matrix')
		
		self.char_rnn_hidden_size = config_dict.pop('char_rnn_hidden_size')
		self.context_rnn_hidden_size = config_dict.pop('context_rnn_hidden_size')

		self.embedding_trainable =  config_dict.pop('embedding_trainable')
		self.aggregation_rnn_hidden_size = config_dict.pop('aggregation_rnn_hidden_size')

	def _create_placeholder(self):
		
from copy import deepcopy
from overrides import overrides
from tensorflow.contrib.rnn import LSTMCell
inport logging
import tensorflow as tf

from ..matching import bilater_matching
from ..base_tf_model import BaseTFModel 
from ..util.rnn import last_relevant_output

logger = logging.getLogger(__name__)

class BiMPM(BaseTFModel):
	def __init__(self, config_dict):
		config_dict = deepcopy(config_dict)
		mode = config_dict.pop('mode')
		super(BiMPM,self).__init__(mode=mode)

		self.word_vocab_size = config_dict.pop('word_vocab_size')
		self.word_embedding_dim = config_dict.pop('word_embedding_dim')
		self.word_embedding_matrix = config_dict.pop('word_embedding_matrix')
		self.char_vocab_size = config_dict.pop('char_vocab_size')
		self.char_embedding_dim = config_dict.pop('char_embedding_dim')
		self.char_embedding_matrix = config_dict.pop('char_embedding_matrix')
		
		self.char_rnn_hidden_size = config_dict.pop('char_rnn_hidden_size')
		self.context_rnn_hidden_size = config_dict.pop('context_rnn_hidden_size')

		self.embedding_trainable =  config_dict.pop('embedding_trainable')
		self.aggregation_rnn_hidden_size = config_dict.pop('aggregation_rnn_hidden_size')

	def _create_placeholder(self):