Skip to content

Commit

Permalink
Initial version
Browse files Browse the repository at this point in the history
  • Loading branch information
Hamidreza Eivazi committed Mar 27, 2024
1 parent 59a0ae8 commit 9685995
Show file tree
Hide file tree
Showing 6 changed files with 7 additions and 14 deletions.
17 changes: 5 additions & 12 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,20 +3,13 @@ KPCA-DeepONet
===============
``kpca_deeponet`` is a library that utilizes nonlinear model reduction for operator learning.

.. raw:: html
Operator learning provides methods to approximate mappings between infinite-dimensional function spaces. Deep operator networks (DeepONets) are a notable architecture in this field. Recently, an extension of DeepONet based on the combination of model reduction and neural networks, POD-DeepONet, has been able to outperform other architectures in terms of accuracy for several benchmark tests. In this contribution, we extend this idea towards nonlinear model order reduction by proposing an efficient framework that combines neural networks with kernel principal component analysis (KPCA) for operator learning. Our results demonstrate the superior performance of KPCA-DeepONet over POD-DeepONet.

<p align="justify">
Operator learning provides methods to approximate mappings between infinite-dimensional function spaces. Deep operator networks (DeepONets) are a notable architecture in this field. Recently, an extension of DeepONet based on the combination of model reduction and neural networks, POD-DeepONet, has been able to outperform other architectures in terms of accuracy for several benchmark tests. In this contribution, we extend this idea towards nonlinear model order reduction by proposing an efficient framework that combines neural networks with kernel principal component analysis (KPCA) for operator learning. Our results demonstrate the superior performance of KPCA-DeepONet over POD-DeepONet.
</p>
.. image:: examples/results.png
:width: 60%
:align: center

.. raw:: html

<p align="center">
<img src="examples/err_vs_d_1d.png" alt="Image 1" style="height:150px; margin-right:20px;">
<img src="examples/err_vs_d_cavity.png" style="height:150px; margin-right:20px;">
<img src="examples/err_vs_d_NS.png" alt="Image 3" style="height:150px;"><br>
Comparison of the KPCA-DeepONet (orange) and POD-DeepONet (blue)
</p>
Comparison of the KPCA-DeepONet (orange) and POD-DeepONet (blue)

More details about the implementation and results are available in our `paper <https://openreview.net/forum?id=Jw6TUpB7Rw>`_.

Expand Down
Binary file removed examples/err_vs_d_1d.png
Binary file not shown.
Binary file removed examples/err_vs_d_NS.png
Binary file not shown.
Binary file removed examples/err_vs_d_cavity.png
Binary file not shown.
Binary file added examples/results.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 2 additions & 2 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@
author='Hamidreza Eivazi',
author_email='[email protected]',
description='Nonlinear model reduction for operator learning',
# long_description=open('README.rst').read(),
# long_description_content_type='text/x-rst',
long_description=open('README.rst').read(),
long_description_content_type='text/x-rst',
url='https://github.com/HamidrezaEiv/KPCA-DeepONet',
classifiers=[
'Topic :: Scientific/Engineering',
Expand Down

0 comments on commit 9685995

Please sign in to comment.