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