DiffraNet: Automatic Classification of Serial Crystallography Diffraction Patterns
Our models were implemented with Python3 and a set of Python libraries. We recommend using pip to install the dependencies of the project.
pip install -r requirements.txt
Our implementation of the SIFT feature extractor relies on the OpenCV library with patented packages support. To install OpenCV, we recommend following the instructions here. This is only necessary for our Hyperopt AutoML optimization (
To download DiffraNet, simply follow this link and extract the downloaded file. DiffraNet already comes split in training/validation/test sets, as described in our paper. By default, our models assume that data is stored in the
data/ folder, this can be changed using the
Running the models
Most of our models come with preset defaults that allow them to be run with a direct python3 command:
All of the models also accept a set of arguments that allow the user to customize the models or apply them to a different dataset. To see the list of available parameters, use the --help argument:
python3 deepfreak.py --help
The exception to this rule is BOHB. BOHB operates on a distributed setup and requires both a dispatcher and workers to function. To run BOHB, first instantiate a dispatcher:
Then create a worker with:
python3 bohb_main.py --worker --worker_id 0
Multiple workers can be run in parallel by running the previous command with different worker_ids. We refer to BOHB's documentation for detailed information on BOHB.