-
Notifications
You must be signed in to change notification settings - Fork 1k
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
Move jupyter notebooks out of the project-monai/monai repo #894
Comments
Thanks @wyli for your summary and for raising this discussion.
@ericspod , could you please also help share some comments? Thanks. |
@Nic-Ma good points, just wanted to clarify the fact that there are external dependencies in the notebooks, which are not covered by Great to know that the notebooks use the pip installed monai release. The cloned core codebase is not actually needed/used when running the demos, which is another indicator that the notebooks shouldn't be part of the core codebase IMO. |
just realised there's another issue of cyclic dependencies when releasing the package: So, If the notebooks use the latest tagging release, the notebook and the core codebase should be managed with different development lifecycles -- the core codebase should be released first. |
Hi @wyli ,
As we use Thanks. |
There is an issue of dependency between the notebooks and the codebase, if we write a notebook to rely on the version of MONAI as committed with the notebook then that will be ahead of what we tag for pip. If what we choose to do is state that the notebooks should be for the most recent version installable via pip then they have to be explicitly written that way, which does exclude having experimental notebooks in the codebase. For versioning using a tools like like ReviewNB makes sense, converting to html isn't great because you lose the dynamic aspect and it sometimes doesn't get layed out as well. If we create a new repo for notebooks it has to be something people can check out and immediately use with some information on what dependencies exist such as matplotlib. We can't rely on Colab because of the access issue but also they're stuck on Python 3.6. The notebook I sent around about using Numba with Pytorch didn't work on Colab for example. I'm sure other things won't work either. |
for a concrete example, https://github.com/Project-MONAI/MONAI/blob/master/examples/notebooks/automatic_mixed_precision.ipynb demonstrates the latest monai AMP capability, but |
Thanks for your sharing. About the dependency issue, currently, if the notebook doesn't have a dependency after MONAI v0.2, we use The AMP notebook is newly added, I am adding above logic as all the other new notebooks. Thanks. |
One of the main goals of this feature request is to remove this temporary workaround from the core codebase, now I'm confused... |
Hi @wyli ,
Anyway, I already updated the AMP notebook in PR: #884. Thanks. |
Perhaps it would be good to keep two or three key notebooks (getting started, spleen segmentation, and one other) in the MONAI repo. I think it is a great idea to start a (or many) separate repo(s) for tutorials and other notebooks. Also, you can automate the testing of a jupyter notebook. See the script: |
thanks for the discussions, based on the feedback, we plan to migrate the notebooks to a separate repo, and retain a readme file in this repo with links to them (will categorise the links into essential tutorials, latest features etc.) notebook quality checks will be addressed by a separate ticket |
|
Background
The
Project-MONAI/MONAI
repository now has 20 jupyter notebooks. They are mainly simple and intuitive working demos for the MONAI key features. With the upcoming MONAI educational events, MONAI will likely to have more demos in the form of jupyter notebooks.Proposal
This ticket proposes to move the notebooks out of the
project-MONAI/monai
repo, to separate the maintenance efforts, and improve the usability. More specifically:Motivation
it's currently unclear what/how we enforce the coding format, type hints, benchmarking, usability checks (see also https://github.com/Project-MONAI/MONAI/issues/872).
this creates burdens for reviewing/verifying them (for example in pull request 881 Refine all the notebooks #884, git diff is a pain)
A new home for the notebooks
Project-MONAI
org (following the Pytorch org: https://github.com/pytorch/tutorials).http://monai.io/tutorials
pages--------- summary of the discussions so far------------------
The text was updated successfully, but these errors were encountered: