Skip to content

v1.0.0

Compare
Choose a tag to compare
@arnoegw arnoegw released this 19 Dec 08:51
· 10 commits to r1.0 since this release

First release with a stable public API.

What's Changed

  • Overall
    • Supported TF/Keras versions moved to >=2.12,<2.16, incompatible Keras v3 raises a clear error.
    • Importing the library no longer leaks private module names.
    • All parts of the GraphSchema protobuf are now exposed undertfgnn.proto.*.
    • Model saving now clearly distinguishes export to inference (pure TF, fully supported) from misc ways of saving for model reuse.
    • Numerous small bug fixes.
  • Subgraph sampling: major upgrade
    • New and unified sampler for in-memory and beam-based subgraph sampling.
    • Module tfgnn.experimental.in_memory is removed in favor of the new sampler.
    • New console script tfgnn_sampler replaces the old tfgnn_graph_sampler.
  • GraphTensor
    • Most tfgnn.* functions on GraphTensor now work in Keras' Functional API, including the factory methods GraphTensor.from_pieces(...) etc.
    • New static checks for GraphTensor field shapes, opt out with tfgnn.disable_graph_tensor_validation().
    • New runtime checks for GraphTensor field shapes, sizes and index ranges, opt in with tfgnn.enable_graph_tensor_validation_at_runtime().
    • GraphTensor maintains .row_splits_dtype separately from .indices_dtype.
    • The GraphSchema and the I/O functions for tf.Example now support all non-quantized, non-complex floating-point and integer types as well as bool and string.
    • Added convenience wrapper tfgnn.pool_neighbors_to_node().
    • Misc fixes to tfgnn.random_graph_tensor(), now respects component boundaries.
  • Runner
    • New tasks for link prediction and node classification/regression based on structured readout.
    • Now comes with API docs.
  • Models collection
    • models/contrastive_losses gets multiple extensions, including a triplet loss and API docs.
    • models/multi_head_attention replaces sigmoid with elu+1 in trained scaling.
    • Bug fixes for mixed precision.

Full Changelog: v0.6.1...v1.0.0