Package phi
Open-source simulation toolkit built for optimization and machine learning applications.
Use one of the following imports:
from phi.flow import *for NumPy modefrom phi.tf.flow import *for TensorFlow modefrom phi.torch.flow import *for PyTorch modefrom phi.jax.flow import *for Jax mode
Project homepage: https://github.com/tum-pbs/PhiFlow
Documentation overview: https://tum-pbs.github.io/PhiFlow
Sub-modules
phi.field-
The fields module provides a number of data structures and functions to represent continuous, spatially varying data …
phi.flow-
Main PhiFlow import:
from phi.flow import *… phi.geom-
Differentiable geometry package …
phi.jax-
Jax integration …
phi.math-
Alias for
phiml.math… phi.physics-
Contains built-in physics functions, mainly for partial differential equations, such as incompressible fluids. The actual physics functions are …
phi.tf-
TensorFlow integration …
phi.torch-
PyTorch integration …
phi.vis-
Visualization: plotting, interactive user interfaces …
Functions
def detect_backends() ‑> tuple-
Expand source code
def detect_backends() -> tuple: """ Registers all available backends and returns them. This includes only backends for which the minimal requirements are fulfilled. Returns: `tuple` of `phiml.backend.Backend` """ from phiml.backend._backend import init_backend try: init_backend('jax') except ImportError: pass try: init_backend('torch') except ImportError: pass try: init_backend('tensorflow') except ImportError: pass from phiml.backend import BACKENDS return tuple([b for b in BACKENDS if b.name not in {'Python', 'object'}])Registers all available backends and returns them. This includes only backends for which the minimal requirements are fulfilled.
Returns
tupleofphiml.backend.Backend def set_logging_level(level='debug')-
Expand source code
def set_logging_level(level='debug'): """ Sets the logging level for PhiFlow functions. Args: level: Logging level, one of `'critical', 'fatal', 'error', 'warning', 'info', 'debug'` """ from phiml.backend import ML_LOGGER ML_LOGGER.setLevel(level.upper())Sets the logging level for PhiFlow functions.
Args
level- Logging level, one of
'critical', 'fatal', 'error', 'warning', 'info', 'debug'
def verify()-
Expand source code
def verify(): """ Checks your configuration for potential problems and prints a summary. To run verify without importing `phi`, run the script `tests/verify.py` included in the source distribution. """ import sys from ._troubleshoot import assert_minimal_config, troubleshoot try: assert_minimal_config() except AssertionError as fail_err: print("\n".join(fail_err.args), file=sys.stderr) return print(troubleshoot())Checks your configuration for potential problems and prints a summary.
To run verify without importing
phi, run the scripttests/verify.pyincluded in the source distribution.