Esempio n. 1
0
 def setup_layer_structure(self):
     """
     Creating the layer structure (3 convolutional upper layers, 3 bottom layers) and dense final.
     """
     self.upper_layers = [SparseNGCNLayer(self.feature_number, self.args.layers_1[i-1], i, self.args.dropout) for i in range(1, self.order_1+1)]
     self.upper_layers = ListModule(*self.upper_layers)
     self.bottom_layers = [DenseNGCNLayer(self.abstract_feature_number_1, self.args.layers_2[i-1], i, self.args.dropout) for i in range(1, self.order_2+1)]
     self.bottom_layers = ListModule(*self.bottom_layers)
     self.fully_connected = torch.nn.Linear(self.abstract_feature_number_2, self.class_number)
Esempio n. 2
0
 def setup_layer_structure(self):
     """
     Creating the layer structure (3 convolutional layers) and dense final.
     """
     self.main_layers = [SparseNGCNLayer(self.feature_number, self.args.layers_1[i-1], i, self.args.dropout) for i in range(1, self.order+1)]
     self.main_layers = ListModule(*self.main_layers)
     self.fully_connected = torch.nn.Linear(sum(self.args.layers_1), self.class_number)
Esempio n. 3
0
 def _setup_base_layers(self):
     """
     Creating GCN layers.
     """
     self.base_layers = [GCNConv(self.number_of_features, self.args.gcn_filters)]
     for layer in range(self.args.gcn_layers-1):
         self.base_layers.append(GCNConv( self.args.gcn_filters, self.args.gcn_filters))
     self.base_layers = ListModule(*self.base_layers)
Esempio n. 4
0
 def _setup_layers(self):
     """
     Creating layers of model.
     1. GCN layers.
     2. Primary capsules.
     3. Attention
     4. Graph capsules.
     5. Class capsules.
     """
     self.base_layers = [GCNConv(self.number_of_features, self.args.gcn_filters)]
     for layer in range(self.args.gcn_layers-1):
         self.base_layers.append(GCNConv( self.args.gcn_filters, self.args.gcn_filters))
     self.base_layers = ListModule(*self.base_layers)
     self.first_capsule = PrimaryCapsuleLayer(self.args.gcn_filters, self.args.gcn_layers, self.args.gcn_layers, self.args.capsule_dimensions)
     self.attention = Attention(self.args.gcn_layers* self.args.gcn_filters*self.args.capsule_dimensions, self.args.inner_attention_dimension)
     self.graph_capsule =  SecondaryCapsuleLayer(self.args.gcn_layers*self.args.gcn_filters, self.args.capsule_dimensions, self.args.number_of_capsules, self.args.capsule_dimensions)
     self.class_capsule =  SecondaryCapsuleLayer(self.args.capsule_dimensions,self.args.number_of_capsules, self.number_of_targets, self.args.capsule_dimensions)