Repository navigation
DGF 0.1.0 Release Notes
Features and improvements
-
Temporal & Time-Series Support:
- Added end-to-end time-series and temporal graph support in the high-level training API (temporal sampling for link prediction, time-series features in node prediction).
- Modular time-series feature encoders (including 1D-CNN embedding in
EmbedFeatureSet). - Automated temporal train/validation splitting (
split_train_valid_temporaland automatic temporal splits). - Built-in temporal normalizers in
AutoNormalizer(time delta extraction, sinusoidal encoding, and calendar feature normalizers). - Snapshot-to-temporal graph conversion utility (
dgf.data.convert_snapshot_to_temporal).
-
Sampling & Scalability:
- Python API and workflows for GCP distributed offline graph sampling.
- Temporal-aware sampling in the offline distributed sampler, including automated inference of edge timestamps from node timestamps.
- Performance optimizations for the in-process sampler (reduced mutex contention, faster edge deduplication, and
multi_visit=Falseoption). - Support for sampling individual seed nodes multiple times, tracking
#seed_idand#sample_id, and filtering seeds by feature values.
-
Graph Formats & IO:
- Added TFRecord and RecordIO container support alongside Parquet for graph storage and offline sampling pipelines.
- Support for explicit file lists as dataset inputs in addition to sharded glob patterns.
- Direct GCS-aware filesystem helpers (
write_text,copy_dir, enhancedexists).
-
Training, Evaluation & Inspection:
- Device-agnostic model reloading (models trained on GPU can now be reloaded on CPU/TPU).
- Enhanced
model.describe()report with visual graph schema diagrams and captured training warnings/diagnostics. - Checkpoint persistence for PRNG random state and early stopping state.
- Added Average Precision (AP) metric and missing label handling during evaluation.
- Validation batch auto-splitting for large temporal subgraphs and configurable
padding_margin. - Track and report skipped training examples, failing if excessive padding skips occur (>10%).
-
Graph Algorithms & Ecosystem:
- PyTorch Geometric (PyG) interoperability and training examples.
- New traffic and temporal benchmark datasets (METR-LA, PEMS-BAY, Jena climate).
Bug fixes
- Fixed graph sampler crash/inconsistency when the same node was visited multiple times from different paths in a sampling plan.
- Fixed feature collision in
AutoNormalizerwhere features sharing a name across distinct node sets (or matching the target feature name) were erroneously dropped. - Fixed unintended 2D matrix conversion when ragged NumPy time-series happened to share identical lengths across all nodes.
- Fixed inconsistent caching behavior in
prepare_from_existing_onefor temporal link prediction datasets. - Fixed handling of multi-dimensional feature shapes (e.g.,
(None, 2)) across IO readers. - Fixed Graphland dataset cache collision by isolating cache paths per mask split.
- Fixed scheduler worker configuration (
set_num_parlay_workers) and resolved contention timeouts in parallel algorithms. - Added validation guards to catch and report NaN losses and features during high-level API training.