def __init__(self, w_emb, q_emb, v_att, b_net, q_prj, c_prj, classifier, counter, op, glimpse, num_hid):
    super(BanModel_Reasoning, self).__init__()
    self.op = op
    self.glimpse = glimpse
    self.w_emb = w_emb
    self.q_emb = q_emb
    self.v_att = v_att
    self.b_net = nn.ModuleList(b_net)
    self.q_prj = nn.ModuleList(q_prj)
    self.c_prj = nn.ModuleList(c_prj)
    self.classifier = classifier
    self.counter = counter
    self.drop = nn.Dropout(0.5)
    self.tanh = nn.Tanh()
    self.semantic_rnn = GRU(256)
    self.semantic_q = nn.Linear(num_hid, 256)
    self.semantic_pred = nn.Linear(256, 9)
    self.semantic_embed = nn.Embedding(num_embeddings=9, embedding_dim=256)
    self.att_p = nn.Linear(num_hid, num_hid)
    self.att = nn.Linear(num_hid, 1)
    self.att_s = nn.Linear(256, num_hid)
    self.att_v = nn.Linear(2048, num_hid)
def __init__(self, w_emb, q_emb, v_att, b_net, q_prj, c_prj, classifier, counter, op, glimpse, num_hid):
    super(BanModel_Reasoning, self).__init__()
    self.op = op
    self.glimpse = glimpse
    self.w_emb = w_emb
    self.q_emb = q_emb
    self.v_att = v_att
    self.b_net = nn.ModuleList(b_net)
    self.q_prj = nn.ModuleList(q_prj)
    self.c_prj = nn.ModuleList(c_prj)
    self.classifier = classifier
    self.counter = counter
    self.drop = nn.Dropout(0.5)
    self.tanh = nn.Tanh()
    self.semantic_rnn = GRU(256)
    self.semantic_q = nn.Linear(num_hid, 256)
    self.semantic_pred = nn.Linear(256, 9)
    self.semantic_embed = nn.Embedding(num_embeddings=9, embedding_dim=256)
    self.att_p = nn.Linear(num_hid, num_hid)
    self.att = nn.Linear(num_hid, 1)
    self.att_s = nn.Linear(256, num_hid)
    self.att_v = nn.Linear(2048, num_hid)