-
Notifications
You must be signed in to change notification settings - Fork 39
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
Tensorstore spec configuration #872
Comments
Hi Simon, This seems quite reasonable to me. We don't have a mechanism set up for mirroring code from external to internal, but probably an external contributor could just submit a PR and then we can do a manual merge internally. My thought is that we could have something like:
This would be very customizable, though you might have to write a bit more code that you otherwise would. However I think |
Hi Colin, Great, I will be happy to contribute. Thanks, I like the provided code sample, it looks very configurable. Let me clarify one thing. I assumed that there should be strategies like While in your code sample |
Hi @minotru, we will finalize the design after an internal meeting and come up a design by end of week. Then you can help implement! Thanks in advance! |
@minotru I would like to give you a quick update. We have made decision to go with @cpgaffney1 's design. However, we will implement the |
Could you please clarify? Seems like "not" is missing in the sentence:
Overall, there are some blank spaces in the design that I am not sure about. I guess an extended version of @cpgaffney1's code sample would be very helpful for me to understand the design better. Could you please illustrate your vision for:
|
Hi @ChromeHearts , @cpgaffney1, could you please circle back here? |
Sorry for the late reply! Yes, Orbax team will not implement the Resolver. To answer your questions
Let me know if you have any other question! Thanks! |
Hi Orbax community,
Under the hood, Orbax uses TensorStore for tensor IO, TensorStore integration is a part of type_handlers.py.
TensorStore comes with KVStore implementations for File, GCS, S3, GRPC, etc.
Unfortunately, TensorStore integration part is quite rigid and does not support any form of extension from client code.
Namely, it only supports 'gcs' and 'file' kvstores, their spec is hard-coded and can't be configured.
I guess Orbax should provide a way to configure custom kvstore spec based on
directory
. I.e. maketyped_handlers.py
flexible and extendable and avoid hard-coded if/else. So that, as a user, I can support alternative "directory -> kvstore spec" mapping when needed and patch other parts of tsspec too.For instance, there could be a class like:
Motivation. My colleagues have implemented tsgrpc-compatible storage that we want to use as a checkpoint storage. Unfortunately, we can't use it without custom patches to orbax code. Namely:
if/else
to _get_tensorstore_spec to activategrpc
driver for paths likeyt://*
.tspec['metadata']
,tspec['kvstore']['config']
,spec['kvstore'] (ocdbt)
in order to configureexperimental_read_coalescing_interval
and disable compression.I will be happy to assist and submit a PR
Regards,
Simon
The text was updated successfully, but these errors were encountered: