HParams: Update tb_http_client to support the hparams plugin backend take 2 #6340
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Motivation for features / changes
As part of the effort to surface hparams data in the time series dashboard we need to start actually fetching it. The logic existed internally but for some reason was not previously available in OSS.
I originally attempted this in #6318 but due to incompatibilities with internal Colab had to revert it in #6336.
The issue was that Colab does not allow
POSTrequests and our method of mapping POST requests to GET requests didn't meet the expectations of the hparams_plugin backend.I've improved the tb_http_client in #6337 to now work with the hparams_plugin backend so this should now be fine
Technical description of changes
I mostly copied the internal code to the oss implementation and made a few small adjustments to imports.
The biggest change is that I now utilize the
serializeUnderparameter of our custom POST function to ensure the requests meet the expectations of the hparams backendScreenshots of UI changes
enableHparamsInTimeSeries=false&tensorboardColab=false
enableHparamsInTimeSeries=true&tensorboardColab=false
enableHparamsInTimeSeries=false&tensorboardColab=true
enableHparamsInTimeSeries=true&tensorboardColab=true
Detailed steps to verify changes work correctly (as executed by you)
I ensured all of the above states result in the runs table being displayed properly and that no errors are thrown by the hparams plugin backend