BiomedSciAI / fuse-med-ml

A python framework accelerating ML based discovery in the medical field by encouraging code reuse. Batteries included :)
Apache License 2.0
134 stars 34 forks source link

Simple MNIST Example #240

Closed shatz01 closed 1 year ago

shatz01 commented 1 year ago

This mnist example is intended to be a friendly/approachable introduction to the core elements of fuse. Which is mostly our batch dict, ready-to-go datasets, and loss functions.

Happy to add back some functionality if anyone wants. @mosheraboh @avihu111 @SagiPolaczek

shatz01 commented 1 year ago

I think the added features like inference and evaluation are important to be shown somewhere, though not sure if mnist is the place. It depends on how expensive/annoying it is for us to "maintain" multiple training scripts for mnist and all of our other examples. If it costs us nothing, then I say we should just leave them. But if its even a little time consuming for us to maintain them, then I say at least for mnist we should get rid of the more complex scripts. Leave them for the more complex examples/datasets like knight and isic.

YoelShoshan commented 1 year ago

I wonder if and how much emphasis we should put into showing that pytorch-lightning can be used directly without any wrapping, as people already know pytorch-lightning well. This is the way that I use Fuse and find it very convenient and flexible.

Let's discuss this in our next design sessions.

We can call it "managed" vs. "unmanaged" :)

The disadvantage is that it adds some boilerplate code, the advantage is that it is more transparent and not hidden behind a class that is opaque for a newcomer

shatz01 commented 1 year ago

@YoelShoshan I guess you are referring to the way that the model is constructed in the custom mnist example? https://github.com/BiomedSciAI/fuse-med-ml/blob/master/examples/fuse_examples/imaging/classification/mnist/run_mnist_custom_pl_imp.py

If so we can just replace the other mnist and leave this custom one.