-
-
Notifications
You must be signed in to change notification settings - Fork 102
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
Deprecate Tensorflow-based methods (sct_deepseg_<x>
) and use only PyTorch (sct_deepseg
)
#3046
Comments
sct_deepseg_<x>
) and use only PyTorch (sct_deepseg
)
Related: #3088 |
We talked at the weekly ivadomed meeting about this. My understanding of our conclusion is:
|
@jcohenadad, please help me fill in the ????? above. |
The original issue description highlights a number of benefits for moving away from Tensorflow:
However, since the migration from Tensorflow to ONNX (#3735), we no longer struggle with any of these issues. This means that there is much less motivation to retrain the I think, given this, it might be safe to close this issue in its entirety. I could still recreate the issue in |
Context
Historically, SCT has used
Keras
/tensorflow
for its deep learning-based segmentation methods (sct_deepseg_sc
,sct_deepseg_gm
,sct_deepseg_lesion
). However, #2639 introduced the more generalsct_deepseg
, which aims to provide alternatives that usepytorch
instead. (More context in #2626.)But, as noted in #2639, the transition is not complete:
Motivation
The main motivation to switch is to unify the development between SCT and ivadomed. Further information here: #2626 (comment)
Other benefits include:
Easier Python version support, because Tensorflow is typically the only blocker for upgrading Python versions:
tensorflow==1.5
ties us to Python 3.6, which is quickly approaching EOL (#3227).tensorflow==1.15
ties us to Python 3.7. (#3367)Since PyTorch is the main library used by sister project
ivadomed
, and their development team has already spent much effort testing Python 3.7/3.8/3.9, becoming PyTorch-only helps to sync us up withivadomed
.Fewer dependencies, so fewer upstream issues (e.g. #2987, #2562)
Security benefits (we're currently quietly ignoring many dependabot vulnerability warnings for Tensorflow.)
Next steps
There is a brief summary in #3227 (comment):
A more in-depth summary is provided here: https://gist.github.com/joshuacwnewton/c59f1aa0d805e7e2d912eafd99e38c6a
The text was updated successfully, but these errors were encountered: