-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Change checkpoint to be checkpoint(name, tags...; data...)
#16
Comments
Sounds like the right thing to do. But also sounds like it it pretty low priority? |
Correct, it is a breaking change. @rofinn why the 👎 ? |
A cool advantage of this is |
|
I might be missing the troll. I found the
I am going to make the bold claim that we don't ever want to add
It's less syntax |
Yes, but I think identifying a typo in
I'm reluctant to say that we "don't ever want to" do something.
That's generally true apart from things that might be data related settings. For example, a Handler may be able to store the data more efficiently given extra information about what's being stored (e.g., explicitly enable/disable data deduplication based on know of the access patterns at the call-site). Ideally, most of that info would be determined by inspection of the data itself, but sometimes context or overrides will be required.
I'm not convinced on this. I see the argument for handlers to support dispatching on the type of the data itself, but the patterns I've seen in the Julia ecosystem for mode switching arguments should be kwargs (e.g.,
Sorry, the point I'm trying to make is that we already have a convention for constructing associative types with |
As of #15 (cc @mzgubic)
we are allowed duplicate tags, and because of this
with_tag
is used aswith_tag(:tag1=1, :tag2=2) do
Since we need to actually have a function that can take those duplicate tags they can't be in the keyword positon.
Conversely, the data keys must be unique, so having them in the varargs position is suboptimal.
Also as of #15 it will be very rare to pass tags directly to a checkpoint.
So calls will be
checkpoint("FooBar"; foo=1, bar=[1,2,3])
which will create JLSO files containing bothfoo
andbar
.In a location determined by the context tags
The text was updated successfully, but these errors were encountered: