Open chelseas opened 4 years ago
That's an interesting feature. I can certainly see why something like that would be convenient. Right now, there are basically two ways of getting similar information from garage: The variant.json
file (which contains only the explicit hyper-parameters to the experiment function), and the snapshots (which need to be unpickled first, and are thus much more work to use for checking experiment details). Theoretically the combination of metadata.json
and launch_archive.tar.xz
should also let one reconstruct this information, but that's even more work.
Presumably, if we were to implement this, we would do it using the pickle protocol (which might also help us debug some weird problems we've had with pickling).
@krzentner I don't think it would be especially difficult, do you? We just need to walk the object tree passed to the Snapshotter and output the tree of (type, *args, **kwargs, attributes)
.
We have always imagined these output formats as being only valuable if they can be deserialized, but as @chelseas points out, they have utility even if you can't deserialize the output back into an experiment.
This is a feature request. I was playing around with rl_coach and it automatically generates a json file that contains all of an experiment's parameters. It's really helpful for repeatability and record keeping. Would love if garage had something like this too.