Exemplo n.º 1
0
    def __init__(self, embedding_tokens):
        super(Net, self).__init__()
        question_features = 1024
        vision_features = config.output_features
        glimpses = 2
        objects = 10

        self.text = TextProcessor(
            embedding_tokens=len(embedding_tokens) + 1,
            embedding_features=300,
            lstm_features=question_features,
            drop=0.5,
        )
        self.attention = Attention(
            v_features=vision_features,
            q_features=question_features,
            mid_features=512,
            glimpses=glimpses,
            drop=0.5,
        )
        self.classifier = Classifier(
            in_features=(glimpses * vision_features, question_features),
            mid_features=1024,
            out_features=config.max_answers,
            count_features=objects + 1,
            drop=0.5,
        )
        self.counter = counting.Counter(objects)

        for m in self.modules():
            if isinstance(m, nn.Linear) or isinstance(m, nn.Conv2d):
                init.xavier_uniform_(m.weight)
                if m.bias is not None:
                    m.bias.data.zero_()
Exemplo n.º 2
0
 def __init__(self, cf, confidence=None):
     super(Baseline, self).__init__()
     self.cf = cf
     self.classifier = nn.Linear(cf + 1, cf + 1)
     self.dummy = counting.Counter(cf,
                                   already_sigmoided=True,
                                   confidence=confidence)
     init.eye_(self.classifier.weight)
Exemplo n.º 3
0
    def __init__(self, embedding_tokens):
        super(Net, self).__init__()
        question_features = 1024
        vision_features = config.output_features
        glimpses = 2
        self.num_models = 2
        objects = 10
        tree_hidden_size = 1024

        self.text = TextProcessor(
            embedding_tokens=embedding_tokens,
            embedding_features=300,
            lstm_features=question_features,
            drop=0.5,
        )
        self.attention = Attention(
            v_features=vision_features,
            q_features=question_features,
            mid_features=512,
            glimpses=glimpses,
            drop=0.5,
        )

        self.tree_attention = Attention(
            v_features=tree_hidden_size,
            q_features=question_features,
            mid_features=512,
            glimpses=glimpses,
            drop=0.5,
        )

        self.model_attention = ModelAttention(
            q_features=question_features,
            mid_features=1024,
            q_type_num=65,
            num_models=self.num_models,
            drop=0.5,
        )
        self.classifier = Classifier(
            in_features=(glimpses * vision_features, question_features),
            mid_features=1024,
            num_module=self.num_models,
            out_features=config.max_answers,
            tree_features=tree_hidden_size * glimpses,
            count_features=objects + 1,
            drop=0.5,
        )
        self.counter = counting.Counter(objects)
        self.tree_lstm = tree_feature.TreeFeature(objects, vision_features,
                                                  tree_hidden_size)

        for m in self.modules():
            if isinstance(m, nn.Linear) or isinstance(m, nn.Conv2d):
                init.xavier_uniform_(m.weight)
                if m.bias is not None:
                    m.bias.data.zero_()
 def __init__(self, cf):
     super(Baseline, self).__init__()
     self.cf = cf
     self.classifier = nn.Linear(cf + 1, cf + 1)
     self.dummy = counting.Counter(cf)
     init.eye_(self.classifier.weight)
 def __init__(self, cf):
     super(Net, self).__init__()
     self.cf = cf
     self.counter = counting.Counter(cf)
     self.classifier = nn.Linear(cf + 1, cf + 1)
     init.eye_(self.classifier.weight)
Exemplo n.º 6
0
 def __init__(self, cf):
     super(Net, self).__init__()
     self.cf = cf
     self.counter = counting.Counter(cf, already_sigmoided=True)
     self.classifier = nn.Linear(cf + 1, cf + 1)
     init.eye(self.classifier.weight)