netket.logging.JsonLog
netket.logging.JsonLog#
- class netket.logging.JsonLog[source]#
Bases:
netket.logging.runtime_log.RuntimeLog
Json Logger, that can be passed with keyword argument logger to Monte Carlo drivers in order to serialize the outpit data of the simulation.
If the model state is serialized, then it is serialized using the msgpack protocol of flax. For more information on how to de-serialize the output, see here. The target of the serialization is the variational state itself.
Data is serialized to json as several nested dictionaries. You can deserialize by simply calling
json.load(open(filename))
. Logged expectation values will be captured inside histories objects, so they will have a subfield iter with the iterations at which that quantity has been computed, then Mean and others. Complex numbers are logged as dictionaries{'real':list, 'imag':list}
.- Inheritance
- __init__(output_prefix, mode='write', save_params_every=50, write_every=50, save_params=True, autoflush_cost=0.005)[source]#
Construct a Json Logger.
- Parameters
output_prefix (
str
) – the name of the output files before the extensionsave_params_every (
int
) – every how many iterations should machine parameters be flushed to filewrite_every (
int
) – every how many iterations should data be flushed to filemode (
str
) – Specify the behaviour in case the file already exists at this output_prefix. Options are - [w]rite: (default) overwrites file if it already exists; - [x] or fail: fails if file already exists;save_params (
bool
) – bool flag indicating whever variables of the variational state should be serialized at some interval. The output file is overwritten every time variables are saved again.autoflush_cost (
float
) – Maximum fraction of runtime that can be dedicated to serializing data. Defaults to 0.005 (0.5 per cent)
- Attributes
- data#
The dictionary of logged data.