def __init__(self, image_feat_dim, ques_emb_dim, **kwargs):
     super(two_layer_elmt_multiply, self).__init__()
     self.Fa_image1 = nonlinear_layer(image_feat_dim, kwargs['hidden_size'])
     self.Fa_image2 = nonlinear_layer(
         kwargs['hidden_size'], kwargs['hidden_size'])
     self.Fa_txt1 = nonlinear_layer(ques_emb_dim, kwargs['hidden_size'])
     self.Fa_txt2 = nonlinear_layer(
         kwargs['hidden_size'], kwargs['hidden_size'])
     self.dropout = nn.Dropout(kwargs['dropout'])
     self.out_dim = kwargs['hidden_size']
Beispiel #2
0
 def __init__(self, image_feat_dim, ques_emb_dim, **kwargs):
     super(two_layer_elmt_multiply, self).__init__()
     self.Fa_image1 = nonlinear_layer(image_feat_dim, kwargs["hidden_size"])
     self.Fa_image2 = nonlinear_layer(kwargs["hidden_size"],
                                      kwargs["hidden_size"])
     self.Fa_txt1 = nonlinear_layer(ques_emb_dim, kwargs["hidden_size"])
     self.Fa_txt2 = nonlinear_layer(kwargs["hidden_size"],
                                    kwargs["hidden_size"])
     self.dropout = nn.Dropout(kwargs["dropout"])
     self.out_dim = kwargs["hidden_size"]
Beispiel #3
0
 def __init__(self,
              image_feat_dim,
              txt_rnn_embeding_dim,
              hidden_size,
              dropout=0.2):
     super(project_attention, self).__init__()
     self.image_feat_dim = image_feat_dim
     self.txt_embeding_dim = txt_rnn_embeding_dim
     self.Fa_image = nonlinear_layer(image_feat_dim, hidden_size)
     self.Fa_txt = nonlinear_layer(txt_rnn_embeding_dim, hidden_size)
     self.dropout = nn.Dropout(dropout)
     self.lc = nn.Linear(hidden_size, 1)
Beispiel #4
0
 def __init__(self,
              image_feat_dim,
              txt_rnn_embeding_dim,
              hidden_size,
              dropout=0.2):
     super(project_attention, self).__init__()
     self.image_feat_dim = image_feat_dim
     self.txt_embeding_dim = txt_rnn_embeding_dim
     self.Fa_image = nonlinear_layer(image_feat_dim, hidden_size)
     self.Fa_txt = nonlinear_layer(txt_rnn_embeding_dim, hidden_size)
     self.dropout = nn.Dropout(dropout)
     self.lc = nn.Linear(hidden_size, 1)
Beispiel #5
0
 def __init__(self, image_attention_model, question_embedding_models,
              classifier):
     super(top_down_bottom_up_model, self).__init__()
     self.image_attention_model = image_attention_model
     self.question_embedding_models = question_embedding_models
     self.classifier = classifier
     text_lstm_dim = sum(
         [q.text_out_dim for q in question_embedding_models])
     joint_embedding_out_dim = classifier.input_dim
     image_feat_dim = image_attention_model.image_feat_dim
     self.nonLinear_question = nonlinear_layer(text_lstm_dim,
                                               joint_embedding_out_dim)
     self.nonLinear_image = nonlinear_layer(image_feat_dim,
                                            joint_embedding_out_dim)
 def __init__(self, image_attention_model,
              question_embedding_models, classifier):
     super(top_down_bottom_up_model, self).__init__()
     self.image_attention_model = image_attention_model
     self.question_embedding_models = question_embedding_models
     self.classifier = classifier
     text_lstm_dim = sum(
         [q.text_out_dim for q in question_embedding_models])
     joint_embedding_out_dim = classifier.input_dim
     image_feat_dim = image_attention_model.image_feat_dim
     self.nonLinear_question = nonlinear_layer(
         text_lstm_dim, joint_embedding_out_dim)
     self.nonLinear_image = nonlinear_layer(
         image_feat_dim, joint_embedding_out_dim)
Beispiel #7
0
 def __init__(self, image_feat_dim, txt_rnn_embeding_dim, hidden_size):
     super(concatenate_attention, self).__init__()
     self.image_feat_dim = image_feat_dim
     self.txt_embeding_dim = txt_rnn_embeding_dim
     self.Fa = nonlinear_layer(image_feat_dim + txt_rnn_embeding_dim,
                               hidden_size)
     self.lc = nn.Linear(hidden_size, 1)
Beispiel #8
0
 def __init__(self, image_feat_dim, txt_rnn_embeding_dim, hidden_size):
     super(concatenate_attention, self).__init__()
     self.image_feat_dim = image_feat_dim
     self.txt_embeding_dim = txt_rnn_embeding_dim
     self.Fa = nonlinear_layer(
         image_feat_dim + txt_rnn_embeding_dim, hidden_size)
     self.lc = nn.Linear(hidden_size, 1)
Beispiel #9
0
 def __init__(self, in_dim, out_dim, **kwargs):
     super(logit_classifier, self).__init__()
     input_dim = in_dim
     num_ans_candidates = out_dim
     txt_nonLinear_dim = kwargs['txt_hidden_dim']
     image_nonLinear_dim = kwargs['img_hidden_dim']
     self.f_o_text = nonlinear_layer(input_dim, txt_nonLinear_dim)
     self.f_o_image = nonlinear_layer(input_dim, image_nonLinear_dim)
     self.linear_text = nn.Linear(txt_nonLinear_dim, num_ans_candidates)
     self.linear_image = nn.Linear(image_nonLinear_dim, num_ans_candidates)
     if 'pretrained_image' in kwargs and \
             kwargs['pretrained_text'] is not None:
         self.linear_text.weight.data.copy_(
             torch.from_numpy(kwargs['pretrained_text']))
     if 'pretrained_image' in kwargs and \
             kwargs['pretrained_image'] is not None:
         self.linear_image.weight.data.copy_(
             torch.from_numpy(kwargs['pretrained_image']))
 def __init__(self, image_feat_dim, ques_emb_dim, **kwargs):
     super(non_linear_elmt_multiply, self).__init__()
     self.Fa_image = nonlinear_layer(image_feat_dim, kwargs['hidden_size'])
     self.Fa_txt = nonlinear_layer(ques_emb_dim, kwargs['hidden_size'])
     self.dropout = nn.Dropout(kwargs['dropout'])
     self.out_dim = kwargs['hidden_size']