-
Notifications
You must be signed in to change notification settings - Fork 243
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
2023.12.12: An extension displays a blocking popup related to CUDA installation #1991
Comments
This is so wrong in several aspects:
We can temporarily remove the extension while the maintainers fix the issues. |
I will follow-up here once I identified the culprit. |
Here is the code leading the popup: The extension was originally introduced through this pull request: The following comment originally posted by @pieper in #1867 (comment) is still relevant:
The code was originally contributed by @MathieuLeclercq and seems to be maintained by @GaelleLeroux with some input from @allemangD |
@GaelleLeroux With some guidance from us, would you have the bandwidth to help improve this extension ? |
@jcfr I'm currently trying to update this module. @juanprietob and @FlorianDAVAUX have released shapeaxi, a new library that includes teeth segmentation. I'm working on changing the code to use it instead of the previous code. @juanprietob, @FlorianDAVAUX do you know if it's still necessary to have a CUDA capable GPU to download and use dentalmodelseg in shapeaxi? If so, how can I improve the code to avoid it ? |
This is great. Thanks for working on this 🙏
See https://pypi.org/project/shapeaxi/
Short answer is yes. It looks like it depends on See also: Footnotes |
pytorch3d is a one-man project. The developer uses linux and cuda and the package practically does not work in any other environment. pytorch3d uses pytorch and SlicerPyTorch would take care of the installation of pytorch, but that's not sufficient to make pytorch3d work. It would be great if you could get rid of pytorch3d, because the dependency on pytorch3d makes the extension inaccessible for 99% of Slicer users (12% of Slicer users are on Linux, probably less than 10% have a CUDA-capable GPU). |
I've managed to use pytorch3d on Windows, so it's more accessible, but it still requires a CUDA-compatible GPU... |
It probably only worked because you are a developer and had a C++ compiler, CUDA SDK, etc. all set up on your computer. |
Yes, you're right, but we can't get rid of pytorch3d and I haven't found a way to install pytorch3d without CUDA. I think first of all this module needs a powerful computer to run properly, so maybe we can say it's a requirement to have a CUDA compatible GPU. I don't have any idea how to solve this problem... if you have one I would be interested to work on it. |
Making your software work on an average computer (Windows, macOS, Linux / CPU, CUDA, or Apple MPS backend) is essential for your software to make an impact beyond publishing papers. If users can easily try your software on their current system and see that it works (just at reduced quality or longer computation time) then they will use it and can decide to invest into getting a new computer with a strong discrete GPU to get results faster or higher quality. I understand that it can be hard to change a dependency once you have built a whole lot of things on it and there is no high-quality drop-in replacement. Maybe you could reach out to pytorch3d developers to clarify their available resources, commitment, and long-term plans for the package.
|
Thanks so much @lassoan for the response and for raising such relevant points. |
In the context of the Slicer extensions index, an extension published through this method should probably at minimum have support for macOS or Windows (not windows subsystem for Linux (WSL)) as that will capture a significant user base. This would be for the sake of the Slicer community that extension functionality is cross platform and can be run by a reasonable end-user that doesn’t have to be a developer. There is often frustrations within the Slicer community when new AI tools don’t “just work”. If an extension is unable to reach those expectations, I think it would be best for the extension to be self-published with distribution handled by those developers as they will likely be providing support anyways for specific dependencies and other setup. It appears SlicerDentalModelSeg is still in the research and development stage which hasn’t yet made things generally easy-to-use for the Slicer community although it may be fine for the relevant research lab. |
@GaelleLeroux Thanks for the consideration. Just a note on TotalSegmentator: one reason it is very widely used because it does not require a GPU, but it can run on CPU as quickly as on GPU but at half resolution; or it can provide full-resolution results in 30-40 minutes (about 10x longer time than computation takes on GPU). This works amazingly well, because users can verify in a few minutes that TotalSegmentator works well on their data and they can decide to either stop there (if they don't have more time or don't need better-quality results) or wait for 40 minutes for full-quality results. Therefore, lack of GPU becomes a small inconvenience in most use cases. @jamesobutler I agree that it can be frustrating for users when they don't know that the extension is not at that maturity level that they expect. Requiring extensions to fulfill some requirements before allowing them to show up in the Extensions Manager would be a simple solution, but perhaps a better one would be to show the maturity level of the extension clearly in the Extensions Manager, maybe set default filter settings to only show well-tested, widely usable ones. I've added an issue to track this: Slicer/Slicer#7474 (I thought we had an issue for this already but I could not find it) |
@lassoan @bpaniagua @allemangD @juanprietob |
This Extensions Manager feature will probably take several months to implement and there areany higher-priority tasks, so it inot clear when development would start. But it's good that you have raised these questions. |
Thank you for your response, I understand that there are numerous higher-priority tasks at hand and that the development of this feature may take some time. Let me know if there is any way I can assist |
The text was updated successfully, but these errors were encountered: