drivendataorg / concept-to-clinic

ALCF Concept to Clinic Challenge
https://concepttoclinic.drivendata.org/
MIT License
367 stars 147 forks source link

Classification model pipeline #298

Closed vessemer closed 6 years ago

vessemer commented 6 years ago

Pipeline to train and predict by the model was provided along with an interface for classification_model.

Reference to official issue

131

Metrics:

Model' CPM score was described in PR #292:

CPM over 10-Fold cross validation:

0.125 0.25 0.5 1 2 4 8 Score (CPM)
0.595 0.670 0.731 0.793 0.835 0.868 0.887 0.76

froc_3dlrcnn

Item Config
GPU NVIDIA TITAN X
GPU memory usage 12GiB for batch size 32

CLA

vessemer commented 6 years ago

Currently, I'm working on the training part adjustment of grt123 algorithm.

reubano commented 6 years ago

Restarted the travis build since the error occurred before even reaching the tests.

vessemer commented 6 years ago

Okh, this line along with removal this one makes me suffer for a while and force to code and tests updates. Unfortunately, at the moment of PR #272 I did not have the opportunity to provide a review, now to be clear: First: ndarray coordinates of the real world point should be computed in this way: (point - origin) / spacingand not (point - origin) * spacing, where spacing is the shape of one voxel in real-world units. Second: meta.spacing stores information of aforementioned voxel's shape, and if we apply affine transformation such as zoom, then meta.spacing should changes too, which is not the previous behaviour. The way that preprocess_ct.PreprocessCT handle spacing parameter is to zoom an ndarray exactly to this new spacing by setting zoom_fctr to be old_spacing / new_spacing this means that we need no more to store the old_spacing in meta and at the same time it's enough to store only current spacing for real-world - ndarray coordinates translations. That's why this line is important. This mistakes were propagated to the tests in a way of coordinates picking.

Quick check: tmp

lamby commented 6 years ago

@vessemer Can you rework your previous comment into the code itself? Remarks here are really really useful (!) but it won't be clear to anyone following the codebase later, you see...

vessemer commented 6 years ago

@lamby, good point, done :)

lamby commented 6 years ago

Thanks!