ekagra-ranjan / AE-CNN

ICVGIP' 18 Oral Paper - Classification of thoracic diseases on ChestX-Ray14 dataset
45 stars 17 forks source link

What is the purpose of applying TenCrop to the test dataset and increasing the Y labels? #3

Closed nooralahzadeh closed 4 years ago

nooralahzadeh commented 4 years ago

Hi, It would be great if you clarify the following operation in test dataset:

https://github.com/ekagra-ranjan/AE-CNN/blob/de16e25c2b196bfb6929473346a88cbcf613e70e/ae-cnn/densenet121/ChexnetTrainer.py#L136

Best

ekagra-ranjan commented 4 years ago

Hi @nooralahzadeh ,

Instead of passing a single snapshot/view of the input and declaring it the model's output, we used TenCrop to obtain slightly different views of the input and average out the outputs. It can be thought of as something similar to an ensemble where a group of inputs is used to obtain multiple outputs rather than a group of models to obtain multiple outputs. We found this to be better that just using a single view of the input.

nooralahzadeh commented 4 years ago

Thanks @ekagra-ranjan for reply. Could you please point where you average out the model outputs regard to one example?

ekagra-ranjan commented 4 years ago

Yes, sure:

https://github.com/ekagra-ranjan/AE-CNN/blob/de16e25c2b196bfb6929473346a88cbcf613e70e/ae-cnn/densenet121/ChexnetTrainer.py#L958