Skip to content

v0.4.0

Compare
Choose a tag to compare
@kayzliu kayzliu released this 16 May 06:52
· 104 commits to main since this release
4d9b473

We are excited to announce the final pre-alpha release, PyGOD v0.4, which marks a major milestone in our development. Following bug fixes and minor improvements, we plan to release v1.0. Your feedback and suggestions are appreciated. ⚠️ Please note that this version is NOT forward compatible and some APIs have changed. Here are the major changes in this release:

Enhanced Base Class

  • Detector: base class for all detectors.
  • DeepDetector: base class for all deep learning based detectors.

Simplied APIs

  • Removed predict_proba and predict_confidence.
  • Use predict(return_prob=True, return_conf=True) instead.

Modularized Detectors

We now introduce multiple modules to improve the code reusability and extendibility.

  • nn: all base models inherit torch.nn.Module
  • nn.encoder:
  • nn.decoder:
  • nn.functional: loss function, etc.
    Also, we changed the name of several modules to improve the clarity.
  • modelsdetector
  • metricsmetric

More Utility Functions

  • to_edge_score: edge outlier score converter
  • to_graph_score: graph outlier score converter
  • init_detector: detector initializer
  • init_nn: neural network initializer

Updated Requirements

  • PyGOD now requires Python 3.8+
  • PyTorch 2.0 and PyG 2.3.0 support
  • Enabled model compile via detector(compile_model=True) (beta)

And Many More

  • More comprehensive test coverage (almost 100%)
  • Reorganized documentation for better readability
  • Merge MLPAE and GCNAE to GAE
  • Most of the deep detectors support specifying various backbone from PyG
  • Retrieve learned embedding from fitted deep detectors with save_emb=True by detector.emb