pyt-team / TopoModelX

Topological Deep Learning
https://pyt-team.github.io/topomodelx/
MIT License
234 stars 82 forks source link

Cell: Migrate Neural Network's Class inside topomodelx/nn/ #170

Closed ninamiolane closed 1 year ago

ninamiolane commented 1 year ago

What?

We consider the neural networks (not the layers, the full networks) implemented for the cell domain. These neural networks are currently implemented as Python classes in the tutorials notebooks.

We should, instead, port their implementation into the core code base, specifically into: topomodelx/nn/cell/.

Why?

The neural networks are "hidden" in the tutorials. They might also be less unit-tested than what they could be if they were inside the core codebase.

Where?

The files to modify are:

NOTE: This issue only focus on layers within the cell domain. There will be other issues to port the neural network python code into the core code base for the other domains.

How?

For each file tutorials/cell/[model-name]_train.ipynb:

ninamiolane commented 1 year ago

Potentially consider: https://nbdev.fast.ai/

ninamiolane commented 1 year ago

@maneel1995 -> Need to accept the invitation

maneelusf commented 1 year ago

Hi @ninamiolane , in tutorials/cell/can_train.ipynb and tutorials/cell/can_train_bis.ipynb, both the models are defined as CAN(Cellular Attention Network). I don't think they are the same as the code looks different. What would be the ideal naming convention for the test cases?

ninamiolane commented 1 year ago

Hi @maneelusf , keep the naming as they are (i.e. class CAN and Class CANBis), there is another GitHUb issue ( issue #158 ) whose goal is to unify can and can_bis.

Adding the high-priority label, since this task is blocking others.

ninamiolane commented 1 year ago

Not done yet since the PR is not merged.

@mhajij I'm marking this as in-progress. When PR #182 is merged (see my -super minor- code review comments that need to be addressed) , we'll mark it done.

ninamiolane commented 1 year ago

@mhajij you will need to remove the leftovers python classes of neural networks from the tutorials. They are not needed anymore: they can be imported from the corresponding files.

ninamiolane commented 1 year ago

Closed by PR #222