-
Notifications
You must be signed in to change notification settings - Fork 757
feat: support cloud files for TB sync using wandb-core #9849
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
Conversation
This stack of pull requests is managed by Graphite. Learn more about stacking. |
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #9849 +/- ##
==========================================
- Coverage 81.36% 81.26% -0.10%
==========================================
Files 826 828 +2
Lines 84073 84244 +171
==========================================
+ Hits 68409 68465 +56
- Misses 14917 15030 +113
- Partials 747 749 +2
Flags with carried forward coverage won't be shown. Click here to find out more.
🚀 New features to boost your workflow:
|
bb3a996
to
600caf6
Compare
600caf6
to
b7e3028
Compare
8337d42
to
dada1c3
Compare
b7e3028
to
0e75b5a
Compare
dada1c3
to
4b887d1
Compare
0e75b5a
to
a9bd189
Compare
4b887d1
to
2513ac4
Compare
a9bd189
to
327d551
Compare
09a5dfc
to
18d3c1f
Compare
99af253
to
97c5877
Compare
97c5877
to
1287dcb
Compare
18d3c1f
to
0e9e80a
Compare
b38a41c
to
9e27556
Compare
9e27556
to
64f3966
Compare
64f3966
to
55c0d1e
Compare
Updates docs for wandb/wandb#9849.
Fixes WB-21735. Documentation PR: wandb/docs#1338
Replaces paths in
internal/tensorboard
with a newLocalOrCloudPath
type. This requires some additional work when guessing root directories, so that's moved out oftensorboard.go
into a newrootdirguesser.go
file.Cloud support
GCS format:
gs://bucket/path/to/file
. GCS uses the standard Google Cloud application default credentials, which can be configured usinggcloud auth application-default login
.S3 format:
s3://bucket/path/to/file
. S3 uses its standard default credentials. The credentials file can be configured usingaws configure
, but environment variables might also work. I'm not sure how to use IAM instead of access keys and whether this is possible with the Go SDK, so there may be limitations (which are likely also present in TensorFlow's built-in support).Azure format:
az://account/container/path/to/file
. Azure uses credentials set byaz login
, but also requires the environment variablesAZURE_STORAGE_ACCOUNT
andAZURE_STORAGE_KEY
to be set. These variables and some alternatives are described here. In contrast, TensorFlow's Azure support requires theTF_AZURE_STORAGE_KEY
variable to be set. So to run a script that uses TensorFlow and W&B with Azure log directories, one must use a pattern likeAZURE_STORAGE_ACCOUNT=myaccount \ AZURE_STORAGE_KEY=mykey \ TF_AZURE_STORAGE_KEY="$AZURE_STORAGE_KEY" \ python my_script.py
Testing
The only code that's specific to different clouds is in
localorcloudpath.go
; all other code uses the generic API provided by gocloud.dev, even for local files.For manually testing, create a bucket in any of the supported clouds and then use this script:
Script:
Confirmed this works with GCS, S3 and Azure (though for S3, my script ended with a segfault after the run finished, which I think must have come from TensorFlow itself).