4781f40eb6
Summary of changes: - py.test is configured to display test profiling information that shows 10 slowest tests. This would allow additional speed ups if anyone has ideas on some particular test. The slowest test is usually cifar dataset test and tensorflow convolutions. It seems that there are some other IT tests that could be sped up. - py.test is configured to run with pytest-xdist with 2 processes in parallel because travis does provide multicore support (1.5 cores) and because the slowest cifar test spends time on download which can run in parallel with other tests. - travis is configured to split backend tests into test matrix to make parallel theano vs tensorflow testing as opposed to rerun all the tests twice for python 2.7. - pickle filenames in tests are renamed to avoid clashes during multiprocessing
49 lines
1.8 KiB
YAML
49 lines
1.8 KiB
YAML
sudo: required
|
|
dist: trusty
|
|
language: python
|
|
matrix:
|
|
include:
|
|
- python: 3.4
|
|
env: KERAS_BACKEND=theano
|
|
- python: 2.7
|
|
env: KERAS_BACKEND=theano
|
|
- python: 2.7
|
|
env: KERAS_BACKEND=tensorflow
|
|
install:
|
|
# code below is taken from http://conda.pydata.org/docs/travis.html
|
|
# We do this conditionally because it saves us some downloading if the
|
|
# version is the same.
|
|
- if [[ "$TRAVIS_PYTHON_VERSION" == "2.7" ]]; then
|
|
wget https://repo.continuum.io/miniconda/Miniconda-latest-Linux-x86_64.sh -O miniconda.sh;
|
|
else
|
|
wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda.sh;
|
|
fi
|
|
- bash miniconda.sh -b -p $HOME/miniconda
|
|
- export PATH="$HOME/miniconda/bin:$PATH"
|
|
- hash -r
|
|
- conda config --set always_yes yes --set changeps1 no
|
|
- conda update -q conda
|
|
# Useful for debugging any issues with conda
|
|
- conda info -a
|
|
|
|
- conda create -q -n test-environment python=$TRAVIS_PYTHON_VERSION numpy scipy matplotlib pandas pytest h5py
|
|
- source activate test-environment
|
|
- pip install pytest-cov python-coveralls pytest-xdist
|
|
- pip install git+git://github.com/Theano/Theano.git
|
|
- python setup.py install
|
|
|
|
# install TensorFlow
|
|
- if [[ "$TRAVIS_PYTHON_VERSION" == "2.7" ]]; then
|
|
pip install https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.5.0-cp27-none-linux_x86_64.whl;
|
|
fi
|
|
# command to run tests
|
|
script:
|
|
# run keras backend init to initialize backend config
|
|
- python -c "import keras.backend"
|
|
# set up keras backend
|
|
- sed -i -e 's/"backend":[[:space:]]*"[^"]*/"backend":\ "'$KERAS_BACKEND'/g' ~/.keras/keras.json;
|
|
- echo -e "Running tests with the following config:\n$(cat ~/.keras/keras.json)"
|
|
- PYTHONPATH=$PWD:$PYTHONPATH py.test tests/
|
|
after_success:
|
|
- coveralls
|