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 != 'Python'])
Registers all available backends and returns them. This includes only backends for which the minimal requirements are fulfilled.
Returns
tuple
ofphiml.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.py
included in the source distribution.