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_()
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)
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)
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)