.. 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 29-38 .. code-block:: default from __future__ import division, unicode_literals from numpy import array from gemseo.api import configure_logger from gemseo.caches.simple_cache import SimpleCache configure_logger() .. rst-class:: sphx-glr-script-out Out: .. code-block:: none .. GENERATED FROM PYTHON SOURCE LINES 39-43 Import ------ In the following lines, we import the `array` and the :class:`.SimpleCache` classes. .. GENERATED FROM PYTHON SOURCE LINES 46-50 Create ------ We can create an instance of the :class:`.SimpleCache` class with the following line: .. GENERATED FROM PYTHON SOURCE LINES 50-55 .. 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: None Output names: None Length: 0 .. GENERATED FROM PYTHON SOURCE LINES 56-60 Cache ----- It is possible to manually add some data into the cache by using the following lines: .. GENERATED FROM PYTHON SOURCE LINES 60-63 .. code-block:: default data = {"x": array([1.0]), "y": array([2.0])} cache.cache_outputs(data, ["x"], data, ["y"]) .. GENERATED FROM PYTHON SOURCE LINES 64-67 We can add another entry to the cache, and we can then see that its length is still one. Indeed, as previously mentionned, the :class:`.SimpleCache` only enable to store one evaluation. .. GENERATED FROM PYTHON SOURCE LINES 67-71 .. code-block:: default data = {"x": array([2.0]), "y": array([3.0])} cache.cache_outputs(data, ["x"], data, ["y"]) 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: 1 .. GENERATED FROM PYTHON SOURCE LINES 72-77 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 77-80 .. code-block:: default print(cache.get_length()) print(cache.get_all_data()) .. rst-class:: sphx-glr-script-out Out: .. code-block:: none 1 {1: {'inputs': {'x': array([2.])}, 'outputs': {'y': array([3.])}, 'jacobian': None}} .. GENERATED FROM PYTHON SOURCE LINES 81-85 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 85-88 .. code-block:: default print(cache.get_last_cached_inputs()) print(cache.get_last_cached_outputs()) .. rst-class:: sphx-glr-script-out Out: .. code-block:: none {'x': array([2.])} {'y': array([3.])} .. GENERATED FROM PYTHON SOURCE LINES 89-92 Clear ----- It is also possible to clear the cache, by using the following lines: .. GENERATED FROM PYTHON SOURCE LINES 92-94 .. 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: None Output names: None Length: 0 .. rst-class:: sphx-glr-timing **Total running time of the script:** ( 0 minutes 0.004 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 `_