Hi RipeGoose2
Can you try with the latest from git ?pip install -U git+
that was never a problem.. before the new copy wasn't uploaded.. I'm still not sure what you referring to
The fact the html file does not refresh in the browser even though there is a new copy of it uploaded.
Let me ping you back when the GitHub repo is synced, so you can test the latest and greatest :)
or actually the local html, I believe it should work for a mounted s3
in order to have an automatically updating preview
the report media workaround I suggested was referring to having the preview directly in the debug_samples of the given task
RipeGoose2 you mean to have the preview html on S3 work as expected (i.e. click on it add credentials , open in a new tab) ?
Thanks AgitatedDove14 , we have no issue with "html stuck in cache" I'm not sure what are you referring to..
so if I wait a few minutes I will be able to get the latest version?
That's the theory, I still see it is not there
there is probably some way to make an S3 path open up in the browser by default
You should have a pop-up asking for credentials ...
Could you check that if you add the credentials in the profile page it works ?
Hi RipeGoose2
Just to clarify, the issue with the html stuck in cache is a UI, thing, basically the webapp needs to tell the browser not to cache the artifacts, it has nothing to do with how the artifacts are created.
Regardless we love improvements so feel free to mass around with the code and PR once you get something useful 😉
Specifically this is where the html conversion happens
https://github.com/allegroai/clearml/blob/9d108d855f784e1fe7f5691d3b7bf3be64576218/clearml/backend_interface/task/repo/scriptinfo.py#L394
that would be great, thanks a lot!
AgitatedDove14 after a small test run we done, we get some issues with the proposed approach
I think it works as far as what you mentioned is concerned, there is a dynamic link in the debug samples that downloads the html file when we try to view it, and it is updated according to the notebook
However we access our server from a limited networking machine that can only access AWS ips, and the HTML file is not a standalone and has some dependencies that require networking.. so can only be viewed on an online machine..
It is quite unfortunate for us, we will be happy if we can figure out a different workaround that gives an up-to-date standalone preview logging
AgitatedDove14 seem to work in terms of updating the file which is great! the notebook HTML preview seem not to work though.. I guess you are aware of it because the displayed text is saying something like click the link to view the file
so actually in our case we have an S3 link, but when downloading it, it seems correct.. there is probably some way to make an S3 path open up in the browser by default
we just found it out ourselves , https://github.com/jupyter/nbconvert/issues/754
RipeGoose2 yes, the UI cannot embed the html yet, but if you go click on the link itself it will open the html in a new tab.
Could you verify it works ?
The "notebook preview" link doesn't pop-up the s3 credentials, however the "notebook" artifact when clicking on the download button does show this pop up
they actually seem to be different in the way that the UI server is showing them.. one is a link (the html) and has no pop up, the other one (.ipynb) is a text with a download button in the end of the string which does show the mentioned pop up
I'm checking the preview HTML and it seems like it was not uploaded...
AgitatedDove14 , as a temporary workaround, I was wondering how hard would it be to actually use the callback mechanism and manually register the notebook html with something likeLogger.current_logger().report_media("html", "url_html", iteration=iteration, url="
")
?
do you happen to have some reference snippet to create such a callback? I am only familiar with:from clearml.binding.frameworks import WeightsFileHandler
RipeGoose2 yes that will work 🙂
That said, we should probably fix the S3 credentials popup 😉
Hi AgitatedDove14 , can you please point me to the source code where the Jupyter save hook is defined? I am considering some custom workaround
RipeGoose2
HTML file is not a standalone and has some dependencies that require networking..
Really? I thought that when jupyter converts its own notebook it packages everything into a single html, no?
sounds like a cool option.. I'll give it a try. thanks
Oh I do not think this is possible, this is really deep in a background thread.
That said we can sample the artifacts and re-register the html as a debug media:url = Task.current_task().artifacts['notebook preview'].url Task.current_task().get_logger().report_media('notebook', 'notebook', iteration=0, url=url)
Once the html is uploaded, it will keep updating on the same link so no need to keep registering the "debug media". wdyt?