SoQal is framework that allows a network to dynamically decide, upon acquiring an unlabelled data point, whether to request a label for that data point from an oracle or to pseudo-label it instead. It can reduce a network's dependence on an oracle (e.g., physician) while maintaining its strong predictive performance.
This repository contains a PyTorch implementation of SoQal. For details, see SoQal: Selective Oracle Questioning for Consistency Based Active Learning of Cardiac Signals. [ICML paper] [blogpost] [video]
The SoQal code requires
- Python 3.6 or higher
- PyTorch 1.0 or higher
The datasets can be downloaded from the following links:
In order to pre-process the datasets appropriately for SoQal, please refer to the following repository
To train the model(s) in the paper, run this command:
python run_experiments.py
To evaluate the model(s) in the paper, run this command:
python run_experiments.py