def __init__(self, adj_train, node_train, size_subgraph, args_preproc):
        """
        Inputs:
            adj_train       scipy sparse CSR matrix of the training graph
            node_train      1D np array storing the indices of the training nodes
            size_subgraph   int, the (estimated) number of nodes in the subgraph
            args_preproc    dict, addition arguments needed for pre-processing

        Outputs:
            None
        """
        self.adj_train = adj_train
        self.node_train = np.unique(node_train).astype(np.int32)
        # size in terms of number of vertices in subgraph
        self.size_subgraph = size_subgraph
        self.name_sampler = 'None'
        self.node_subgraph = None
        self.preproc(**args_preproc)

        Inputs:
            adj_train       scipy sparse CSR matrix of the training graph
            node_train      1D np array storing the indices of the training nodes
            size_subgraph   int, the (estimated) number of nodes in the subgraph
            args_preproc    dict, addition arguments needed for pre-processing

        Outputs:
            None
        
graphsaint/graph_samplers.py