gitextract_pqlh87yg/ ├── .clang-format ├── .flake8 ├── .github/ │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.md │ │ ├── documentation-improvement.md │ │ ├── feature_request.md │ │ └── general-question.md │ ├── PULL_REQUEST_TEMPLATE/ │ │ └── pull_request_template.md │ └── workflows/ │ ├── build_and_test.yml │ ├── db2graph_test_postgres.yml │ └── lint.yml ├── .gitignore ├── .gitmodules ├── CMakeLists.txt ├── CONTRIBUTING.md ├── LICENSE ├── MANIFEST.in ├── README.md ├── docs/ │ ├── .nojekyll │ ├── CMakeLists.txt │ ├── Doxyfile │ ├── Doxyfile.in │ ├── README.md │ ├── _static/ │ │ └── css/ │ │ └── marius_theme.css │ ├── _templates/ │ │ └── layout.html │ ├── conf.py │ ├── config_interface/ │ │ ├── configuration.rst │ │ ├── full_schema.rst │ │ ├── index.rst │ │ └── samples.rst │ ├── db2graph/ │ │ └── db2graph.rst │ ├── examples/ │ │ ├── config/ │ │ │ ├── index.rst │ │ │ ├── lp_custom.rst │ │ │ ├── lp_fb15k237.rst │ │ │ ├── lp_paleobiology.rst │ │ │ ├── nc_custom.rst │ │ │ ├── nc_ogbn_arxiv.rst │ │ │ └── resume_training.rst │ │ ├── index.rst │ │ ├── introduction.rst │ │ ├── prediction/ │ │ │ ├── command_line.rst │ │ │ └── python.rst │ │ ├── preprocessing/ │ │ │ ├── command_line.rst │ │ │ └── python.rst │ │ └── python/ │ │ ├── index.rst │ │ ├── lp_custom.rst │ │ ├── lp_fb15k237.rst │ │ └── nc_ogbn_arxiv.rst │ ├── export_and_inference/ │ │ ├── index.rst │ │ ├── marius_postprocess.rst │ │ └── marius_predict.rst │ ├── graph_learning/ │ │ ├── decoders.rst │ │ ├── downstream_tasks.rst │ │ ├── encoders.rst │ │ ├── index.rst │ │ ├── intro.rst │ │ └── learning_tasks.rst │ ├── index.rst │ ├── introduction.rst │ ├── preprocess_datasets/ │ │ ├── built_in.rst │ │ ├── command_line.rst │ │ ├── index.rst │ │ └── python.rst │ ├── python_api/ │ │ ├── configuration/ │ │ │ └── index.rst │ │ ├── index.rst │ │ ├── manager/ │ │ │ └── index.rst │ │ ├── nn/ │ │ │ ├── activation.rst │ │ │ ├── decoders/ │ │ │ │ ├── decoder.rst │ │ │ │ ├── edge/ │ │ │ │ │ ├── comparators.rst │ │ │ │ │ ├── complex.rst │ │ │ │ │ ├── distmult.rst │ │ │ │ │ ├── edge_decoder.rst │ │ │ │ │ ├── index.rst │ │ │ │ │ ├── relation_operators.rst │ │ │ │ │ └── transe.rst │ │ │ │ ├── index.rst │ │ │ │ └── node/ │ │ │ │ ├── index.rst │ │ │ │ ├── node_decoder.rst │ │ │ │ └── noop_node_decoder.rst │ │ │ ├── encoders/ │ │ │ │ ├── general_encoder.rst │ │ │ │ └── index.rst │ │ │ ├── index.rst │ │ │ ├── initialization.rst │ │ │ ├── layers/ │ │ │ │ ├── embedding.rst │ │ │ │ ├── feature.rst │ │ │ │ ├── gnn.rst │ │ │ │ ├── index.rst │ │ │ │ ├── layer.rst │ │ │ │ └── reduction.rst │ │ │ ├── loss.rst │ │ │ ├── model.rst │ │ │ └── optim.rst │ │ ├── pipeline/ │ │ │ ├── evaluator.rst │ │ │ ├── graph_encoder.rst │ │ │ ├── index.rst │ │ │ └── trainer.rst │ │ ├── reporting/ │ │ │ ├── index.rst │ │ │ ├── metrics.rst │ │ │ └── reporters.rst │ │ ├── storage/ │ │ │ ├── graph_storage.rst │ │ │ ├── index.rst │ │ │ └── storage.rst │ │ └── tools/ │ │ ├── configuration/ │ │ │ ├── constants.rst │ │ │ ├── datatypes.rst │ │ │ ├── index.rst │ │ │ └── marius_config.rst │ │ ├── index.rst │ │ └── preprocess/ │ │ ├── converters/ │ │ │ └── index.rst │ │ ├── datasets/ │ │ │ └── index.rst │ │ ├── index.rst │ │ ├── partitioners/ │ │ │ └── index.rst │ │ ├── readers/ │ │ │ └── index.rst │ │ └── writers/ │ │ └── index.rst │ └── quickstart.rst ├── examples/ │ ├── configuration/ │ │ ├── custom_lp.yaml │ │ ├── custom_nc.yaml │ │ ├── fb15k_237.yaml │ │ ├── ogbn_arxiv.yaml │ │ └── sakila.yaml │ ├── db2graph/ │ │ ├── dockerfile │ │ └── run.sh │ ├── docker/ │ │ ├── README.md │ │ ├── cpu_ubuntu/ │ │ │ └── dockerfile │ │ └── gpu_ubuntu/ │ │ └── dockerfile │ ├── preprocessing/ │ │ └── custom_dataset.py │ └── python/ │ ├── custom.py │ ├── custom_lp.py │ ├── custom_nc_graphsage.py │ ├── fb15k_237.py │ ├── fb15k_237_gpu.py │ └── ogbn_arxiv_nc.py ├── pyproject.toml ├── setup.cfg ├── setup.py ├── src/ │ ├── __init__.py │ ├── cpp/ │ │ ├── cmake/ │ │ │ └── FindSphinx.cmake │ │ ├── include/ │ │ │ ├── common/ │ │ │ │ ├── datatypes.h │ │ │ │ ├── exception.h │ │ │ │ ├── pybind_headers.h │ │ │ │ └── util.h │ │ │ ├── configuration/ │ │ │ │ ├── config.h │ │ │ │ ├── constants.h │ │ │ │ ├── options.h │ │ │ │ └── util.h │ │ │ ├── data/ │ │ │ │ ├── batch.h │ │ │ │ ├── dataloader.h │ │ │ │ ├── graph.h │ │ │ │ ├── ordering.h │ │ │ │ └── samplers/ │ │ │ │ ├── edge.h │ │ │ │ ├── negative.h │ │ │ │ └── neighbor.h │ │ │ ├── marius.h │ │ │ ├── nn/ │ │ │ │ ├── activation.h │ │ │ │ ├── decoders/ │ │ │ │ │ ├── decoder.h │ │ │ │ │ ├── edge/ │ │ │ │ │ │ ├── comparators.h │ │ │ │ │ │ ├── complex.h │ │ │ │ │ │ ├── decoder_methods.h │ │ │ │ │ │ ├── distmult.h │ │ │ │ │ │ ├── edge_decoder.h │ │ │ │ │ │ ├── relation_operators.h │ │ │ │ │ │ └── transe.h │ │ │ │ │ └── node/ │ │ │ │ │ ├── node_decoder.h │ │ │ │ │ └── noop_node_decoder.h │ │ │ │ ├── encoders/ │ │ │ │ │ └── encoder.h │ │ │ │ ├── initialization.h │ │ │ │ ├── layers/ │ │ │ │ │ ├── embedding/ │ │ │ │ │ │ └── embedding.h │ │ │ │ │ ├── feature/ │ │ │ │ │ │ └── feature.h │ │ │ │ │ ├── gnn/ │ │ │ │ │ │ ├── gat_layer.h │ │ │ │ │ │ ├── gcn_layer.h │ │ │ │ │ │ ├── gnn_layer.h │ │ │ │ │ │ ├── graph_sage_layer.h │ │ │ │ │ │ ├── layer_helpers.h │ │ │ │ │ │ └── rgcn_layer.h │ │ │ │ │ ├── layer.h │ │ │ │ │ └── reduction/ │ │ │ │ │ ├── concat.h │ │ │ │ │ ├── linear.h │ │ │ │ │ └── reduction_layer.h │ │ │ │ ├── loss.h │ │ │ │ ├── model.h │ │ │ │ ├── model_helpers.h │ │ │ │ ├── optim.h │ │ │ │ └── regularizer.h │ │ │ ├── pipeline/ │ │ │ │ ├── evaluator.h │ │ │ │ ├── graph_encoder.h │ │ │ │ ├── pipeline.h │ │ │ │ ├── pipeline_constants.h │ │ │ │ ├── pipeline_cpu.h │ │ │ │ ├── pipeline_gpu.h │ │ │ │ ├── pipeline_monitor.h │ │ │ │ ├── queue.h │ │ │ │ └── trainer.h │ │ │ ├── reporting/ │ │ │ │ ├── logger.h │ │ │ │ └── reporting.h │ │ │ └── storage/ │ │ │ ├── buffer.h │ │ │ ├── checkpointer.h │ │ │ ├── graph_storage.h │ │ │ ├── io.h │ │ │ └── storage.h │ │ ├── python_bindings/ │ │ │ ├── configuration/ │ │ │ │ ├── config_wrap.cpp │ │ │ │ ├── options_wrap.cpp │ │ │ │ └── wrap.cpp │ │ │ ├── manager/ │ │ │ │ ├── marius_wrap.cpp │ │ │ │ └── wrap.cpp │ │ │ ├── nn/ │ │ │ │ ├── activation_wrap.cpp │ │ │ │ ├── decoders/ │ │ │ │ │ ├── decoder_wrap.cpp │ │ │ │ │ ├── edge/ │ │ │ │ │ │ ├── comparators_wrap.cpp │ │ │ │ │ │ ├── complex_wrap.cpp │ │ │ │ │ │ ├── distmult_wrap.cpp │ │ │ │ │ │ ├── edge_decoder_wrap.cpp │ │ │ │ │ │ ├── relation_operators_wrap.cpp │ │ │ │ │ │ └── transe_wrap.cpp │ │ │ │ │ └── node/ │ │ │ │ │ ├── node_decoder_wrap.cpp │ │ │ │ │ └── noop_node_decoder.cpp │ │ │ │ ├── encoders/ │ │ │ │ │ └── encoder_wrap.cpp │ │ │ │ ├── initialization_wrap.cpp │ │ │ │ ├── layers/ │ │ │ │ │ ├── embedding/ │ │ │ │ │ │ └── embedding_wrap.cpp │ │ │ │ │ ├── feature/ │ │ │ │ │ │ └── feature_wrap.cpp │ │ │ │ │ ├── gnn/ │ │ │ │ │ │ ├── gat_layer_wrap.cpp │ │ │ │ │ │ ├── gcn_layer_wrap.cpp │ │ │ │ │ │ ├── gnn_layer_wrap.cpp │ │ │ │ │ │ ├── graph_sage_layer_wrap.cpp │ │ │ │ │ │ ├── layer_helpers_wrap.cpp │ │ │ │ │ │ └── rgcn_layer_wrap.cpp │ │ │ │ │ ├── layer_wrap.cpp │ │ │ │ │ └── reduction/ │ │ │ │ │ ├── concat_wrap.cpp │ │ │ │ │ ├── linear_wrap.cpp │ │ │ │ │ └── reduction_layer_wrap.cpp │ │ │ │ ├── loss_wrap.cpp │ │ │ │ ├── model_wrap.cpp │ │ │ │ ├── optim_wrap.cpp │ │ │ │ ├── regularizer_wrap.cpp │ │ │ │ └── wrap.cpp │ │ │ ├── pipeline/ │ │ │ │ ├── evaluator_wrap.cpp │ │ │ │ ├── graph_encoder_wrap.cpp │ │ │ │ ├── trainer_wrap.cpp │ │ │ │ └── wrap.cpp │ │ │ ├── reporting/ │ │ │ │ ├── reporting_wrap.cpp │ │ │ │ └── wrap.cpp │ │ │ └── storage/ │ │ │ ├── graph_storage_wrap.cpp │ │ │ ├── io_wrap.cpp │ │ │ ├── storage_wrap.cpp │ │ │ └── wrap.cpp │ │ ├── src/ │ │ │ ├── common/ │ │ │ │ └── util.cpp │ │ │ ├── configuration/ │ │ │ │ ├── config.cpp │ │ │ │ ├── options.cpp │ │ │ │ └── util.cpp │ │ │ ├── data/ │ │ │ │ ├── batch.cpp │ │ │ │ ├── dataloader.cpp │ │ │ │ ├── graph.cpp │ │ │ │ ├── ordering.cpp │ │ │ │ └── samplers/ │ │ │ │ ├── edge.cpp │ │ │ │ ├── negative.cpp │ │ │ │ └── neighbor.cpp │ │ │ ├── marius.cpp │ │ │ ├── nn/ │ │ │ │ ├── activation.cpp │ │ │ │ ├── decoders/ │ │ │ │ │ ├── edge/ │ │ │ │ │ │ ├── comparators.cpp │ │ │ │ │ │ ├── complex.cpp │ │ │ │ │ │ ├── decoder_methods.cpp │ │ │ │ │ │ ├── distmult.cpp │ │ │ │ │ │ ├── edge_decoder.cpp │ │ │ │ │ │ ├── relation_operators.cpp │ │ │ │ │ │ └── transe.cpp │ │ │ │ │ └── node/ │ │ │ │ │ └── noop_node_decoder.cpp │ │ │ │ ├── encoders/ │ │ │ │ │ └── encoder.cpp │ │ │ │ ├── initialization.cpp │ │ │ │ ├── layers/ │ │ │ │ │ ├── embedding/ │ │ │ │ │ │ └── embedding.cpp │ │ │ │ │ ├── feature/ │ │ │ │ │ │ └── feature.cpp │ │ │ │ │ ├── gnn/ │ │ │ │ │ │ ├── gat_layer.cpp │ │ │ │ │ │ ├── gcn_layer.cpp │ │ │ │ │ │ ├── graph_sage_layer.cpp │ │ │ │ │ │ ├── layer_helpers.cpp │ │ │ │ │ │ └── rgcn_layer.cpp │ │ │ │ │ ├── layer.cpp │ │ │ │ │ └── reduction/ │ │ │ │ │ ├── concat.cpp │ │ │ │ │ └── linear.cpp │ │ │ │ ├── loss.cpp │ │ │ │ ├── model.cpp │ │ │ │ ├── optim.cpp │ │ │ │ └── regularizer.cpp │ │ │ ├── pipeline/ │ │ │ │ ├── evaluator.cpp │ │ │ │ ├── graph_encoder.cpp │ │ │ │ ├── pipeline.cpp │ │ │ │ ├── pipeline_cpu.cpp │ │ │ │ ├── pipeline_gpu.cpp │ │ │ │ └── trainer.cpp │ │ │ ├── reporting/ │ │ │ │ └── reporting.cpp │ │ │ └── storage/ │ │ │ ├── buffer.cpp │ │ │ ├── checkpointer.cpp │ │ │ ├── graph_storage.cpp │ │ │ ├── io.cpp │ │ │ └── storage.cpp │ │ └── third_party/ │ │ └── CMakeLists.txt │ ├── cuda/ │ │ └── third_party/ │ │ └── pytorch_scatter/ │ │ ├── atomics.cuh │ │ ├── index_info.cuh │ │ ├── reducer.cuh │ │ ├── segment_csr_cuda.cu │ │ ├── segment_csr_cuda.h │ │ ├── segment_max.cpp │ │ ├── segment_max.h │ │ └── utils.cuh │ └── python/ │ ├── __init__.py │ ├── console_scripts/ │ │ ├── __init__.py │ │ ├── marius_eval.py │ │ └── marius_train.py │ ├── distribution/ │ │ ├── generate_stubs.py │ │ └── marius_env_info.py │ └── tools/ │ ├── __init__.py │ ├── configuration/ │ │ ├── __init__.py │ │ ├── constants.py │ │ ├── datatypes.py │ │ ├── marius_config.py │ │ └── validation.py │ ├── db2graph/ │ │ └── marius_db2graph.py │ ├── marius_config_generator.py │ ├── marius_postprocess.py │ ├── marius_predict.py │ ├── marius_preprocess.py │ ├── postprocess/ │ │ ├── __init__.py │ │ └── in_memory_exporter.py │ ├── prediction/ │ │ ├── link_prediction.py │ │ └── node_classification.py │ └── preprocess/ │ ├── __init__.py │ ├── converters/ │ │ ├── __init__.py │ │ ├── partitioners/ │ │ │ ├── __init__.py │ │ │ ├── partitioner.py │ │ │ ├── spark_partitioner.py │ │ │ └── torch_partitioner.py │ │ ├── readers/ │ │ │ ├── __init__.py │ │ │ ├── pandas_readers.py │ │ │ ├── reader.py │ │ │ └── spark_readers.py │ │ ├── spark_constants.py │ │ ├── spark_converter.py │ │ ├── torch_constants.py │ │ ├── torch_converter.py │ │ └── writers/ │ │ ├── __init__.py │ │ ├── spark_writer.py │ │ ├── torch_writer.py │ │ └── writer.py │ ├── custom.py │ ├── dataset.py │ ├── dataset_stats.tsv │ ├── datasets/ │ │ ├── __init__.py │ │ ├── dataset_helpers.py │ │ ├── fb15k.py │ │ ├── fb15k_237.py │ │ ├── freebase86m.py │ │ ├── friendster.py │ │ ├── livejournal.py │ │ ├── ogb_mag240m.py │ │ ├── ogb_wikikg90mv2.py │ │ ├── ogbl_citation2.py │ │ ├── ogbl_collab.py │ │ ├── ogbl_ppa.py │ │ ├── ogbl_wikikg2.py │ │ ├── ogbn_arxiv.py │ │ ├── ogbn_papers100m.py │ │ ├── ogbn_products.py │ │ └── twitter.py │ └── utils.py ├── test/ │ ├── CMakeLists.txt │ ├── README.md │ ├── __init__.py │ ├── cpp/ │ │ ├── CMakeLists.txt │ │ ├── end_to_end/ │ │ │ ├── CMakeLists.txt │ │ │ ├── main.cpp │ │ │ └── test_main.cpp │ │ ├── integration/ │ │ │ ├── CMakeLists.txt │ │ │ └── main.cpp │ │ ├── performance/ │ │ │ ├── CMakeLists.txt │ │ │ └── main.cpp │ │ └── unit/ │ │ ├── CMakeLists.txt │ │ ├── main.cpp │ │ ├── nn/ │ │ │ ├── test_activation.cpp │ │ │ ├── test_initialization.cpp │ │ │ ├── test_loss.cpp │ │ │ └── test_model.cpp │ │ ├── test_buffer.cpp │ │ ├── test_storage.cpp │ │ ├── testing_util.cpp │ │ └── testing_util.h │ ├── db2graph/ │ │ └── test_postgres.py │ ├── python/ │ │ ├── bindings/ │ │ │ ├── end_to_end/ │ │ │ │ ├── test_fb15k_acc.py │ │ │ │ ├── test_interval_checkpointing.py │ │ │ │ ├── test_lp_basic.py │ │ │ │ ├── test_lp_buffer.py │ │ │ │ ├── test_lp_storage.py │ │ │ │ ├── test_model_dir.py │ │ │ │ ├── test_nc_basic.py │ │ │ │ ├── test_nc_buffer.py │ │ │ │ ├── test_nc_storage.py │ │ │ │ └── test_resume_training.py │ │ │ └── integration/ │ │ │ ├── test_config.py │ │ │ ├── test_data.py │ │ │ └── test_nn.py │ │ ├── constants.py │ │ ├── helpers.py │ │ ├── postprocessing/ │ │ │ └── test_in_memory_exporter.py │ │ ├── predict/ │ │ │ └── test_predict.py │ │ └── preprocessing/ │ │ ├── test_spark_converter.py │ │ └── test_torch_converter.py │ ├── test_configs/ │ │ ├── generate_test_configs.py │ │ ├── lp/ │ │ │ ├── evaluation/ │ │ │ │ ├── async.yaml │ │ │ │ ├── async_deg.yaml │ │ │ │ ├── async_filtered.yaml │ │ │ │ ├── sync.yaml │ │ │ │ ├── sync_deg.yaml │ │ │ │ └── sync_filtered.yaml │ │ │ ├── model/ │ │ │ │ ├── distmult.yaml │ │ │ │ ├── distmult_feat.yaml │ │ │ │ ├── gat_1_layer.yaml │ │ │ │ ├── gat_3_layer.yaml │ │ │ │ ├── gs_1_layer.yaml │ │ │ │ ├── gs_1_layer_feat.yaml │ │ │ │ ├── gs_1_layer_uniform.yaml │ │ │ │ ├── gs_3_layer.yaml │ │ │ │ ├── gs_3_layer_feat.yaml │ │ │ │ └── gs_3_layer_uniform.yaml │ │ │ ├── storage/ │ │ │ │ ├── edges_disk.yaml │ │ │ │ ├── in_memory.yaml │ │ │ │ └── part_buffer.yaml │ │ │ └── training/ │ │ │ ├── async.yaml │ │ │ ├── async_deg.yaml │ │ │ ├── async_filtered.yaml │ │ │ ├── sync.yaml │ │ │ ├── sync_deg.yaml │ │ │ └── sync_filtered.yaml │ │ └── nc/ │ │ ├── evaluation/ │ │ │ ├── async.yaml │ │ │ └── sync.yaml │ │ ├── model/ │ │ │ ├── gat_1_layer.yaml │ │ │ ├── gat_3_layer.yaml │ │ │ ├── gs_1_layer.yaml │ │ │ ├── gs_1_layer_emb.yaml │ │ │ ├── gs_1_layer_uniform.yaml │ │ │ ├── gs_3_layer.yaml │ │ │ ├── gs_3_layer_emb.yaml │ │ │ └── gs_3_layer_uniform.yaml │ │ ├── storage/ │ │ │ ├── in_memory.yaml │ │ │ └── part_buffer.yaml │ │ └── training/ │ │ ├── async.yaml │ │ └── sync.yaml │ └── test_data/ │ ├── generate.py │ ├── test_edges.txt │ ├── train_edges.txt │ ├── train_edges_weights.txt │ └── valid_edges.txt └── tox.ini