.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "examples/cache/plot_simple_cache.py" .. LINE NUMBERS ARE GIVEN BELOW. .. only:: html .. note:: :class: sphx-glr-download-link-note Click :ref:`here ` to download the full example code .. rst-class:: sphx-glr-example-title .. _sphx_glr_examples_cache_plot_simple_cache.py: Simple cache ============ This example shows the manipulation of :class:`.SimpleCache` instances. This cache only stores the last inputs and outputs stored. .. GENERATED FROM PYTHON SOURCE LINES 27-33 .. code-block:: default from gemseo.api import configure_logger from gemseo.caches.simple_cache import SimpleCache from numpy import array configure_logger() .. rst-class:: sphx-glr-script-out Out: .. code-block:: none .. GENERATED FROM PYTHON SOURCE LINES 34-38 Import ------ In the following lines, we import the `array` and the :class:`.SimpleCache` classes. .. GENERATED FROM PYTHON SOURCE LINES 41-45 Create ------ We can create an instance of the :class:`.SimpleCache` class with the following line: .. GENERATED FROM PYTHON SOURCE LINES 45-50 .. code-block:: default cache = SimpleCache() # The cache information can be displayed easily: print(cache) .. rst-class:: sphx-glr-script-out Out: .. code-block:: none Name: SimpleCache Type: SimpleCache Tolerance: 0.0 Input names: [] Output names: [] Length: 0 .. GENERATED FROM PYTHON SOURCE LINES 51-55 Cache ----- It is possible to manually add some data into the cache by using the following lines: .. GENERATED FROM PYTHON SOURCE LINES 55-57 .. code-block:: default cache[{"x": array([1.0])}] = ({"y": array([2.0])}, None) .. GENERATED FROM PYTHON SOURCE LINES 58-61 We can add another entry to the cache, and we can then see that its length is still one. Indeed, as previously mentioned, the :class:`.SimpleCache` only enable to store one evaluation. .. GENERATED FROM PYTHON SOURCE LINES 61-64 .. code-block:: default cache[{"x": array([2.0])}] = ({"y": array([3.0])}, None) print(cache) .. rst-class:: sphx-glr-script-out Out: .. code-block:: none Name: SimpleCache Type: SimpleCache Tolerance: 0.0 Input names: ['x'] Output names: ['y'] Length: 2 .. GENERATED FROM PYTHON SOURCE LINES 65-70 Get all data ------------ We can display the lenght and the data contained in the cache. As mentionned before, we can see that only the last inputs and outputs cached are available: .. GENERATED FROM PYTHON SOURCE LINES 70-74 .. code-block:: default print(len(cache)) for data in cache: print(data) .. rst-class:: sphx-glr-script-out Out: .. code-block:: none 2 CacheEntry(inputs={'x': array([2.])}, outputs={'y': array([3.])}, jacobian={}) .. GENERATED FROM PYTHON SOURCE LINES 75-79 Get last cached data -------------------- We can also print the last cached input and output data. For this cache, the last cached inputs and ouputs are also the only ones cached. .. GENERATED FROM PYTHON SOURCE LINES 79-84 .. code-block:: default last_entry = cache.last_entry print(last_entry.inputs) print(last_entry.outputs) .. rst-class:: sphx-glr-script-out Out: .. code-block:: none {'x': array([2.])} {'y': array([3.])} .. GENERATED FROM PYTHON SOURCE LINES 85-88 Clear ----- It is also possible to clear the cache, by using the following lines: .. GENERATED FROM PYTHON SOURCE LINES 88-90 .. code-block:: default cache.clear() print(cache) .. rst-class:: sphx-glr-script-out Out: .. code-block:: none Name: SimpleCache Type: SimpleCache Tolerance: 0.0 Input names: [] Output names: [] Length: 0 .. rst-class:: sphx-glr-timing **Total running time of the script:** ( 0 minutes 0.005 seconds) .. _sphx_glr_download_examples_cache_plot_simple_cache.py: .. only :: html .. container:: sphx-glr-footer :class: sphx-glr-footer-example .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: plot_simple_cache.py ` .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: plot_simple_cache.ipynb ` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_