FAQ and additional resources

Extending Selene

The main modules that users may want to extend are

  • selene_sdk.samplers.OnlineSampler

  • selene_sdk.samplers.file_samplers.FileSampler

  • selene_sdk.sequences.Sequence

  • selene_sdk.targets.Target

Please refer to the documentation for these classes. If you are encounter a bug or have a feature request, please post to our Github issues. E-mail kchen@flatironinstitute.org if you are interested in being a contributor to Selene.

Join our Google group if you have questions about the package, case studies, or model development.

Exporting a Selene-trained model to Kipoi

We have provided an example of how to prepare a model for upload to Kipoi’s model zoo using a model trained during case study 2. You can use this example as a starting point for preparing your own model for Kipoi. We have provided a script that can help to automate parts of the process.

We are also working on an export function that will be built into Selene and accessible through the CLI.

Hyperparameter optimization

Hyperparameter optimization is the process of finding the set of hyperparameters that yields an optimal model against a predefined score (e.g. minimizing a loss function). Hyperparameters are the variables that govern the training process (i.e. these parameters are constant during training, compared to model parameters which are optimized/”tuned” by the training process itself). Hyperparameter tuning works by running multiple trials of a single training run with different values for your chosen hyperparameters, set within some specified limit. Some examples of hyperparameters:

  • learning rate

  • number of hidden units

  • convolutional kernel size

You can select hyperparameters yourself (manually) or automatically. For automatic hyperparameter optimization, you can look into grid search or random search.

Some resources that may be useful:

To use hyperparameter optimization on models being developed with Selene, you could implement a method that runs Selene (via a command-line call) with a set of hyperparameters and then monitors the validation performance based on the output to selene_sdk.train_model.validation.txt.