https://github.com/GPflow/GPflow
Revision 61088fd9496ee8f574dbadeb4f067719a696f1c7 authored by st-- on 19 June 2018, 13:19:35 UTC, committed by Artem Artemev on 19 June 2018, 13:19:35 UTC
Notebooks are slow to execute. Additional utility functions help to detect where notebook are run and control number of iterations (optimization, standard loops and cetera), therefore minimizing spent time on running notebook integration tests.
1 parent bb08f22
Raw File
Tip revision: 61088fd9496ee8f574dbadeb4f067719a696f1c7 authored by st-- on 19 June 2018, 13:19:35 UTC
Speed up notebooks (#789)
Tip revision: 61088fd
run_tests.sh
#!/bin/bash

# Script for running GPflow tests in sequential and parallel modes.
# Running tensorflow based tests in distinct processes prevents
# bad memory accumulations which can lead to crashes or slow runs
# on resource limited hardware.
# Written by Artem Artemev, 06/08/2017

set -e

mode=${1:-"--sequential"}

case "$mode" in
    -p|--parallel)
    numproc=$([[ $(uname) == 'Darwin' ]] && sysctl -n hw.physicalcpu_max || nproc)
    echo ">>> Parallel mode. Number of processes = $numproc"
    echo testing/test_*.py | xargs -n 1 -P "$numproc" bash -c 'nosetests -v --nologcapture $0 || exit 255'
    ;;
    -s|--sequential)
    for test_file in testing/test_*.py; do
      echo ">>> Run $test_file"
      nosetests -v --nologcapture "$test_file"
      rc=$?
      if [ "$rc" != "0" ]; then
        echo ">>> $test_file failed"
        exit $rc
      fi
    done
    ;;
    *)
    ;;
esac
back to top