Deep-HiTS is a rotation invariant convolutional neural network (CNN) model for classifying images of transients candidates into artifacts or real sources for the High cadence Transient Survey (HiTS). CNNs have the advantage of learning the features automatically from the data while achieving high performance.
The main code is located in the src/
directory and is run like this:
python Deep-HiTS.py input.txt
where input.txt
is a file that gives parameters to the network.
An example parameter file will look like this:
[vars]
arch_py: arch7.py
path_to_chunks: /home/shared/Fields_12-2015/chunks_feat_5000/
n_cand_chunk: 5000
base_lr: 0.04
gamma: 0.5
stepsize: 100000
momentum: 0.0
n_epochs: 100
batch_size: 50
N_train = 1220000
N_valid = 100000
N_test = 100000
validate_every_batches = 5000
activation_function: leaky_relu
tiny_train: False
resume: None
savestep: 25000
improvement_threshold: 0.99
ini_patience: 100000
data_interface: directory
arch_py
: file where the architecture is defined. The architecure definition file for Deep-HiTS is located atruns/arch7/arch7.py
path_to_chunks
: Path where the data chunks are locatedn_cand_chunk
: candidates per chunkbase_lr
: initial learning rategamma
: amount the learning rate will be reduced everystepsize
iterations.stepsize
: we reduce the learning rate everystepsize
iterations.momentum
: fraction of the previous weight added to the update of the current one.n_epochs
: number of epochsbatch_size
: mini-batch sizeN_train
: Number of instances used for training.N_valid
: Number of instances used for validating.N_test
: Number of instances used for testing.validate_every_batches
: number of batches per calculation of errors on the validation set.activation_function
: activation function. Currently supportstanh
(hyperbolic tangent),ReLU
(rectified linear units), andleaky_relu
(leaky ReLU).tiny_train
: Always False on the meantime.resume
: prefix of files for resumming the network from a previous model. This is useful in case a previous training crashes, which we can restart from a saved intermediate state. IfNone
, network starts training from scratch.savestep
: Number of steps every which the network will be saved.improvement_threshold
: We assumed the model converged when after feeding 100,000 candidates the zero-one loss (fraction of misclassifications) does not go lower than aimprovement_threshold
of the previous loss.ini_patience
: Number of iterations to wait before deciding to stop training.data_interface
: Type of data to read. Can bedirectory
orrandom`` --
directory: inside the directory
path_to_chunks(see above) we will have three folders:
chunks_train,
chunks_validate, and ``. Chunks of data in each of the is used for training, validating, and testing respectively. --
random: inside the directory
path_to_chunks`(see above) we will have all chunks, and training, validation, and test set will be chosen randomly.
##Data
Data can be downloaded from the Quimal Archiving System.