91 linhas
3.3 KiB
YAML
91 linhas
3.3 KiB
YAML
sudo: required
|
|
dist: trusty
|
|
language: python
|
|
matrix:
|
|
include:
|
|
- python: 2.7
|
|
env: KERAS_BACKEND=tensorflow TEST_MODE=PEP8
|
|
- python: 2.7
|
|
env: KERAS_BACKEND=tensorflow TEST_MODE=INTEGRATION_TESTS
|
|
- python: 3.5
|
|
env: KERAS_BACKEND=tensorflow TEST_MODE=DOC
|
|
- python: 2.7
|
|
env: KERAS_BACKEND=tensorflow
|
|
- python: 3.5
|
|
env: KERAS_BACKEND=tensorflow
|
|
- python: 2.7
|
|
env: KERAS_BACKEND=theano THEANO_FLAGS=optimizer=fast_compile
|
|
- python: 3.5
|
|
env: KERAS_BACKEND=theano THEANO_FLAGS=optimizer=fast_compile
|
|
- python: 2.7
|
|
env: KERAS_BACKEND=cntk
|
|
- python: 3.5
|
|
env: KERAS_BACKEND=cntk
|
|
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 theano
|
|
|
|
# install PIL for preprocessing tests
|
|
- if [[ "$TRAVIS_PYTHON_VERSION" == "2.7" ]]; then
|
|
conda install pil;
|
|
elif [[ "$TRAVIS_PYTHON_VERSION" == "3.5" ]]; then
|
|
conda install Pillow;
|
|
fi
|
|
|
|
- pip install -e .[tests]
|
|
|
|
# install TensorFlow (CPU version).
|
|
- pip install tensorflow
|
|
|
|
# install cntk
|
|
- if [[ "$TRAVIS_PYTHON_VERSION" == "2.7" ]]; then
|
|
pip install https://cntk.ai/PythonWheel/CPU-Only/cntk-2.0-cp27-cp27mu-linux_x86_64.whl;
|
|
elif [[ "$TRAVIS_PYTHON_VERSION" == "3.5" ]]; then
|
|
pip install https://cntk.ai/PythonWheel/CPU-Only/cntk-2.0-cp35-cp35m-linux_x86_64.whl;
|
|
fi
|
|
|
|
#install open mpi
|
|
- rm -rf ~/mpi
|
|
- mkdir ~/mpi
|
|
- pushd ~/mpi
|
|
- wget http://cntk.ai/PythonWheel/ForKeras/depends/openmpi_1.10-3.zip
|
|
- unzip ./openmpi_1.10-3.zip
|
|
- sudo dpkg -i openmpi_1.10-3.deb
|
|
- popd
|
|
|
|
# command to run tests
|
|
script:
|
|
# run keras backend init to initialize backend config
|
|
- python -c "import keras.backend"
|
|
# create dataset directory to avoid concurrent directory creation at runtime
|
|
- mkdir ~/.keras/datasets
|
|
# 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)"
|
|
- if [[ "$TEST_MODE" == "INTEGRATION_TESTS" ]]; then
|
|
PYTHONPATH=$PWD:$PYTHONPATH py.test tests/integration_tests;
|
|
elif [[ "$TEST_MODE" == "PEP8" ]]; then
|
|
PYTHONPATH=$PWD:$PYTHONPATH py.test --pep8 -m pep8 -n0;
|
|
elif [[ "$TEST_MODE" == "DOC" ]]; then
|
|
PYTHONPATH=$PWD:$PYTHONPATH py.test tests/test_documentation.py;
|
|
else
|
|
PYTHONPATH=$PWD:$PYTHONPATH py.test tests/ --ignore=tests/integration_tests --ignore=tests/test_documentation.py --cov=keras tests/ --cov-fail-under 80 --cov-report term-missing;
|
|
fi
|