-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Add --plugins option to uploader #3377
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
wchargin
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good, given that we’re deferring --exclude_plugins or equivalent
to a future change.
nit: OSS commit style is imperative with no trailing punctuation with
optional section prefix, so: “Add --plugins option to uploader”, or:
“uploader: add --plugins option”. Could you please update the PR title
accordingly?
* Why? For consistency; this is the style of commits generated by Git
itself, as in git revert, git merge, etc.
Fix other commands broken by --plugins implementation.
* Clarify type of upload_plugins arguments. * Log request.
* --plugins flag now has default value of []. Can never be none. * create_server_info implementation reflects this, too.
caisq
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM modulo my comments.
wchargin
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks great; thank you!
|
This breaks |
This reverts commit 343456b. Test Plan: Running `bazel run //tensorboard -- dev list` now works. Previously, it failed with: ``` File ".../tensorboard/uploader/uploader_main.py", line 750, in _get_server_info server_info = server_info_lib.fetch_server_info(origin, flags.plugins) AttributeError: 'Namespace' object has no attribute 'plugins' ``` wchargin-branch: revert-uploader-plugins-flag
This reverts commit 343456b. Test Plan: Running `bazel run //tensorboard -- dev list` now works. Previously, it failed with: ``` File ".../tensorboard/uploader/uploader_main.py", line 750, in _get_server_info server_info = server_info_lib.fetch_server_info(origin, flags.plugins) AttributeError: 'Namespace' object has no attribute 'plugins' ``` wchargin-branch: revert-uploader-plugins-flag
…ensorflow#3400)" This reverts commit 2b2a976. Subsequent commits will fix the issue that caused the original revert.
Allow uploader users to specify the plugins for which data should be uploaded. It has two-fold purpose:
(1) Allow users to specify "experimental" plugins that would otherwise not be uploaded.
(2) Allow users to list a subset of launched plugins, if they do not want to upload all launched plugin data.
Add "--plugins" command line option for upload subcommand. The information is sent in the ServerInfoRequest (aka the handshake) and may impact the list of plugins returned in ServerInfoResponse.plugin_control.allowed_plugins.
Sample usage:
tensorboard dev upload --logdir --plugins scalars graphs histograms
Outside of these specific changes:
It's expected that supported servers will evaluate the list of plugins and decide whether it is valid. If valid, the server will respond with the entire list of plugins or perhaps a sublist. If the list is invalid then it will respond with a CompatibilityVerdict of VERDICT_ERROR and a useful detail message to print to console.
If --plugins is not specified then the server is expected to respond with a default list of plugins to upload.