Using SigOpt to tune Time Series Classifiers with Keras and Tensorflow
The data that comes with this example is sequence data extracted from diatoms. We encourage interested readers to replicate this blog using other datasets see how optimal hyperparameter settings are data dependent. There are over 80 different sequential datasets in the UCR Time Series Classification Archive that can be used to replicate this example. Learn more at the associated blog post: Deep Learning Hyperparameter Optimization with Competing Objectives.
In this example, SigOpt carves out an effecient Pareto frontier, simultaneously looking for hyperparameter configurations which yield fast inference times and high classifier accuracy.
Limited Access: For those interested in replicating this blog post, let us know so that we can provide a SigOpt account for you beyond your free trial!
This example is made for the US East (N. Virginia) region. Follow the instructions from here to get your AWS EC2 GPU-enabled instance up and running with the following specifications:
- OS: Ubuntu 16.04
- GPU Driver: CUDA 8.0, cuDNN 5.1
- GPU: NVIDIA K80 GPU
- Server: Amazon EC2’s P2 instances
- DNN Library: Keras 2.0.5 on Tensorflow 1.2.0
Instructions to Replicate Blog Post
Post an issue or email us if you have any questions.
Sign up for a SigOpt account.
Copy this folder over to your EC2 instance.
scp -r multimetric-timeseries/ ubuntu@<hostname>:/home/ubuntu
- From your EC2 instance, install SigOpt, Keras, Tensorflow and Pandas.
sudo pip install sigopt tensorflow-gpu keras pandas
- Create a file named sigopt.secret and the following line, entering your API key (see the API tokens page):
- Navigate to the folder:
- Run the example!
python main.py(This can take a while, you may want to run it with
- Check out your experiment dashboard to view your experiment progress!