helme / ecg_ptbxl_benchmarking

Public repository associated with "Deep Learning for ECG Analysis: Benchmarks and Insights from PTB-XL"
GNU General Public License v3.0
198 stars 87 forks source link

TF implementation of Inception Time - optimized for each task using Grid Search #23

Open Bsingstad opened 1 year ago

Bsingstad commented 1 year ago

In this pull request, we propose a new implementation of Inception Time (Tensorflow) which parameters are optimized using grid search. This work will be further explained in a paper published in ReScience C journal : http://rescience.github.io/

helme commented 6 months ago

Hi @Bsingstad , first of all I have to excuse myself for the very (very) late reply on this PR! big sorry for that!

Overall, your PR looks great, however I need to request some changes. In particular:

other than that, your PR looks great, I'm curious to do pull request once the issues are resolved. What do you think about our suggestions?

Best, Patrick

Bsingstad commented 6 months ago

Hi @helme

Thank you for your suggestions. I will address them as soon as I can.

Best regards Bjørn-Jostein

Bsingstad commented 3 months ago

Hi @helme

Sorry for taking so long time.

I have now updated the pull request according to your requirements:

  1. Good point! I have renamed the files containing the code for our proposed model to inception_time.py and configs tf_inception_time_config.py. We also added the original template files your_model.py and your_configs.py to our PR.
  2. I have renamed code/reproduce_results.py to code/reproduce_inception_time_results.py in my PR
  3. Actually this was an unintended behavior. In our replication paper we only report the specific model for each specific task, like this:
Model All Diagnostic Subdiagnostic Superdiagnostic Form Rhythm
Inception Time (all) 0.926(08)
Inception Time (diagnostic) 0.929(09)
Inception Time (subdiagnostic) 0.927(08)
Inception Time (superdiagnostic) 0.922(06)
Inception Time (form) 0.840(11)
Inception Time (rhythm) 0.923(32)

but we didn't find a way to only train the specific models without doing major changes in your base code.

  1. Of course! I have added elif modeltype == "YOUR_MODEL_TYPE" to scp_experiment.py and added an additional case for my model: elif modeltype == "inception_time_model":
helme commented 3 months ago

Hi @Bsingstad, I hope my change requests for this pull request are somehow understandable?

Bsingstad commented 3 months ago

I have now committed the changes based on your last review