-
Notifications
You must be signed in to change notification settings - Fork 37
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
report: Add notebook
mode.
#432
Conversation
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.
I need to add tests and manually try the different frameworks but I think it is ready to play around @dberenbaum
It kind of highlights the need for iterative/dvc-render#21
Also unsure about the values to hardcode the size of the IFrame
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as resolved.
This comment was marked as resolved.
🙏 Q: do we want this to be enabled by default? Feels a bit too intrusive (and it'll overlap with VS Code, Studio monitoring, etc). I think it would be great to log options when you run an experiment, .e.g:
wdyt? |
Thanks @daavoo! Seems to work for me on other repos. Here's a more realistic demo (using https://github.com/iterative/lstm_seq2seq with tweaked params to run faster) to see how it interacts with other notebook outputs: Screen.Recording.2023-01-31.at.12.48.53.PM.movAt the end, I saw some repeated "blinking." Could Screen.Recording.2023-01-31.at.12.50.44.PM.mov |
um. looks like the instantiation of the callback (and thus To verify, could you try manually instantiating |
Will take a look using the repo |
🤔 @shcheklein Can you explain more what you would expect all the options to say? Could you turn the message off? Is it specific to this notebook mode, or should it apply to any mode? What do you see as the default onboarding workflow for both VS Code and non-VS Code users to see live metrics? |
This is enabled in For those overlaps, we could choose to not use the For Studio monitoring, it should be doable because DVCLive has the info available. |
@daavoo Can we clean up the table? If we want to keep any kind of HTML output, it seems like this would go a long way towards making it feel more polished. |
It's delayed because it is set up to only log every 50 steps.
Sure. It does generate the placeholder immediately. Not sure if that looks any better? Screen.Recording.2023-01-31.at.1.47.26.PM.mov |
I mean that in some frameworks the
Yeah I know it doesn't matter right now 😅 However, the point is that the placeholder could be actually a not so ugly HTML of equal size to the future IFrame so the space is clearly reserved in the output, and it doesn't interfere with progressbars or whatever output the framework might generate |
List of things you can do to see actual live updates:
Yes.
Any mode
Same as today + a message that would help navigating. To me rendering an HTML like this inside notebook by default feels a bit too intrusive. It overlaps potentially with VS Code in some cases (ppl can get confused). Even if we go that path we should at least also show how to disable this in the HTML itself. |
Looks like it's specific to lightning -- it calculates the validation metrics for each step at the end of the epoch instead of during each step. |
Is your concern about how it is implemented (
If I understand correctly, the scenario overlapping would be someone with the VSCode editor and the DVC extension installed, running the notebook inside a Git+DVC Repo ( I might be wrong but I see that scenario as far less likely than any others like Google Colab, Kaggle Notebooks, Jupyterlab servers, or just people running the notebook without meeting the above conditions (running local notebooks outside a Git Repo is also common) I think for the overlapping scenario, the best would be to figure out how to get a signal that the VSCode and DVC extension are up and running (dvc extension could expose env var maybe?). |
ad954e2
to
8d4242d
Compare
Neither :). It just doesn't feel right (by default). Fels a bit too much of a side effect from running the code by default. Are there any other examples that come to your mind that would by default do similar things? E.g. W&B could have potentially embedded an IFrame into the notebook by default as well. My expectation when I run my code is to see the regular output that is usually expected and produced by the framework itself. Our additional output should be interfering with it much I think. |
For context, here's what W&B does (note that I can't get the example repo to work): https://docs.wandb.ai/guides/track/jupyter Anyway, let's discuss auto behavior as a follow-up and not block the rest of the PR? We can merge without making it part of auto since that will be the less intrusive option while we discuss it. |
So, for W&B you need to:
sounds good to me! |
8d4242d
to
b3db0dd
Compare
64fac71
to
d5ea95c
Compare
Updated the P.R. @shcheklein Behavior is only enabled if @dberenbaum Updated the init placeholder to take the same space as the subsequent IFrame so the space gets "reserved" on init and it doesn't mess up with existing logs because of the resizing that was happening before. Let's discuss improvements to appearance as a follow-up in iterative/dvc-render#21 unless we consider it a blocker to merge this. |
Renders existing HTML report inside an IFrame and updates it on each next_step. Closes #309
d5ea95c
to
cb4a79d
Compare
Renders existing HTML report inside an IFrame and updates it on each next_step.
Closes #309
Grabacion.de.pantalla.2023-02-07.a.las.11.58.34.mp4