You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Ideally, we would like to save circuits in a way such that they can be reloaded on the same backend they were built on, but also different backends and with possibly different compilation flags. In other words, we would like circuits to exist and to be shared regardless of their implementation in some backend. A way to do so is having a general file format to represent circuits.
A candidate format can be the one of symbolic circuits we already have. If we construct and learn a circuit on some specific backend, we can then save it by (1) copying the symbolic circuit we started from, and (2) by replacing the symbolic tensor parameters with new symbolic parameters having a ConstantTensorInitializer as initializer. The initialization tensors are then just Numpy arrays, which contain the learned parameters. When we reload a symbolic circuit, these parameters will be then copied during compilation, thus effectively loading them regardless of the chosen backend and compilation flags.
If we wish to allow the user to save pipelines, we can do so by simply saving (1) the symbolic circuit entry points of the pipeline, and (2) the operations over these circuits using some super simple language (e.g., a sequence of dest <- op(src_1, ..., src_k) entries). By loading the entry points, one can then recover all the circuits in the pipeline by applying operations and through recompilation.
The text was updated successfully, but these errors were encountered:
As per title.
Possible idea to implement this:
dest <- op(src_1, ..., src_k)
entries). By loading the entry points, one can then recover all the circuits in the pipeline by applying operations and through recompilation.The text was updated successfully, but these errors were encountered: