Skip to content

Releases: tum-pbs/PhiML

1.5.0

31 Mar 16:49
Compare
Choose a tag to compare

The Φ-ML paper has been published! DOI

This version updates the value/variable attribute system and is compatible with TensorFlow 2.16 and the latest JAX versions.

Highlights

  • Value attributes are now used in optimization and gradient computation.
  • tensorflow_probability is no longer required for median() and quantile()
  • Added find_differences to compare trees
  • Added sort
  • grid_sample and closest_grid_values now support specifying grid dims via coordinates

Notable fixes

  • PyTorch's long-standing JIT adjoint linear solve problem has been resolved
  • Tracing JIT functions within a gradient function no longer stores the gradients (caused JAX escaped tracers)
pip install phiml==1.5.0

1.4.0

23 Feb 21:24
Compare
Choose a tag to compare

Version 1.4 adds a lot of functionality to Φ-ML and includes a ton of fixes!

This version is archived at figshare, DOI: DOI.

Highlights

  • Users now have more control over sparse matrices with to_format for sparse/dense conversion and is_sparse.
  • Added find_closest() with dense and k-d tree implementations
  • New functions argmin, argmax, equal, erf, incomplete_gamma
  • Improved gradient descent optimizer via math.minimize()
  • Support ... for remaining dimensions in reshaped_native, reshaped_tensor.
  • scatter now supports modes min, max, prod, any, all
  • min, max, nonzero now support sparse tensors
  • random_uniform now supports setting limits by Tensor
  • cross_product now retains item names
  • slice now supports primitives
  • map now supports dims='object' to map over layout dimensions
  • Non-uniform tensors can now be used with dot, median
  • vec now allows empty vectors
  • linspace now supports multiple dimensions
  • Sparse-sparse matrix multiplication
pip install phiml==1.4.0

1.3.1

05 Dec 18:29
Compare
Choose a tag to compare

Bug fixes, improved compatibility for all_available, gather, map

1.3.0

26 Nov 16:57
Compare
Choose a tag to compare

Highlights

  • New functions at_min, at_max, neighbor_min, etc.
  • New JIT-specific functions when_available and perf_counter().
  • @broadcast now supports specifying keyword arguments
  • Support for custom types has been improved, e.g. in gather, flatten
  • iterate now allows None as initial value and skips it when stacking
  • Experimental support for higher-order dual dims (internal at the moment).
  • Experimental tracing of linear functions involving gather / scatter operations and sparse tensors.
  • Lots of bug fixes

Breaking changes

  • stack and map no longer wrap non-shapable function outputs
pip install phiml==1.3.0

1.2.1

25 Oct 19:30
Compare
Choose a tag to compare

Bug fixes.

pip install phiml==1.2.1

1.2.0

1.1.0

10 Oct 12:13
Compare
Choose a tag to compare

Improvements and new features

  • Improved map() and broadcast with correct kwargs handling and user-defined slicing
  • Support for rotation matrices and 3D rotations
  • Improved degree-radians conversions
  • Extrapolation improvements, added extrapolation.get_normal() and get_tangential()
  • Added Shape.as<type>(), assert_all_sizes_defined() convenience methods
pip install phiml==1.1.0

1.0.4

03 Oct 10:30
Compare
Choose a tag to compare

Minor additions and fixes.

  • rotate_vector() now accepts rotation matrices
  • Added extrapolation.get_normal() and get_tangential()
  • Added Shape.as<type>() convenience methods
pip install phiml==1.0.4

1.0.3

22 Sep 09:51
Compare
Choose a tag to compare

Extrapolation bug fixes.

pip install phiml==1.0.3

1.0.2

21 Sep 10:10
Compare
Choose a tag to compare

Extrapolation bug fixes. Tensors can now be padded with non-constant edge values.

pip install phiml==1.0.2