ΦFlow is an open-source simulation toolkit built for optimization and machine learning applications. It is written mostly in Python and can be used with NumPy, PyTorch, Jax or TensorFlow. The close integration with these machine learning frameworks allows it to leverage their automatic differentiation functionality, making it easy to build end-to-end differentiable functions involving both learning models and physics simulations.
Fluids Tutorial • ΦFlow to Blender | Animation Gallery • Solar System • Learning to Throw |
Installation with pip on Python 3.6 and above:
$ pip install phiflow
Install PyTorch, TensorFlow or Jax in addition to ΦFlow to enable machine learning capabilities and GPU execution. To enable the web UI, also install Dash. For optimal GPU performance, you may compile the custom CUDA operators, see the detailed installation instructions.
You can verify your installation by running
$ python3 -c "import phi; phi.verify()"
This will check for compatible PyTorch, Jax and TensorFlow installations as well.
Documentation Overview • ▶ YouTube Tutorials • API • Demos • Playground
Φ-Flow builds on the tensor functionality from ΦML. To understand how ΦFlow works, check named and typed dimensions first.
To get started, check out our YouTube tutorial series and the following Jupyter notebooks:
If you like to work with an IDE, like PyCharm or VS Code, the following demos will also be helpful:
We will upload a whitepaper, soon. In the meantime, please cite the ICLR 2020 paper.
ΦFlow has been used in the creation of various public data sets, such as PDEBench and PDEarena.
See more packages that use ΦFlow
The Version history lists all major changes since release. The releases are also listed on PyPI.
Contributions are welcome! Check out this document for guidelines.
This work is supported by the ERC Starting Grant realFlow (StG-2015-637014) and the Intel Intelligent Systems Lab.
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。