<commit_before>language: python
python:
  - "2.7"
  - "3.6"
env:
  global:
    - T2T_PROBLEM=algorithmic_reverse_binary40_test
    - T2T_DATA_DIR=/tmp/t2t-data
    - T2T_TRAIN_DIR=/tmp/t2t-train
  matrix:
    - TF_VERSION="1.4.*"
    - TF_VERSION="1.5.*"
    - TF_VERSION="1.6.0rc0"
matrix:
  exclude:
    - python: "3.6"
      env: TF_VERSION="1.4.*"
    - python: "3.6"
      env: TF_VERSION="1.6.0rc0"
before_install:
  - echo "deb [arch=amd64] http://storage.googleapis.com/tensorflow-serving-apt stable tensorflow-model-server tensorflow-model-server-universal" | sudo tee /etc/apt/sources.list.d/tensorflow-serving.list
  - curl https://storage.googleapis.com/tensorflow-serving-apt/tensorflow-serving.release.pub.gpg | sudo apt-key add -
  - sudo apt-get update -qq
  - sudo apt-get install -qq libhdf5-dev
  - sudo apt-get install -qq tensorflow-model-server
install:
  - pip install -q "tensorflow==$TF_VERSION"
  - pip install -q .[tests]
  # Make sure we have the latest version of numpy - avoid problems we were
  # seeing with Python 3
  - pip install -q -U numpy
script:
  # Check import
  - python -c "from tensor2tensor.models import transformer; print(transformer.Transformer.__name__)"

  # Run tests
  - pytest --ignore=tensor2tensor/utils/registry_test.py --ignore=tensor2tensor/problems_test.py --ignore=tensor2tensor/utils/trainer_lib_test.py --ignore=tensor2tensor/data_generators/algorithmic_math_test.py --ignore=tensor2tensor/bin/t2t_trainer_test.py
  - pytest tensor2tensor/utils/registry_test.py
  - pytest tensor2tensor/utils/trainer_lib_test.py

  # Run installed scripts
  - t2t-datagen 2>&1 | grep translate && echo passed
  - t2t-trainer --registry_help

  # Test --t2t_usr_dir
  - t2t-trainer --registry_help --t2t_usr_dir=./tensor2tensor/test_data/example_usr_dir 2>&1 | grep my_very_own_hparams && echo passed

  # Run data generation, training, and decoding on a dummy problem
  - t2t-datagen --problem=$T2T_PROBLEM --data_dir=$T2T_DATA_DIR
  - t2t-trainer --problems=$T2T_PROBLEM --data_dir=$T2T_DATA_DIR --model=transformer --hparams_set=transformer_tiny --train_steps=5 --eval_steps=5 --output_dir=$T2T_TRAIN_DIR
  - t2t-decoder --problems=$T2T_PROBLEM --data_dir=$T2T_DATA_DIR --model=transformer --hparams_set=transformer_tiny --output_dir=$T2T_TRAIN_DIR --decode_hparams='num_samples=10'

  # Export and query (on Python 2 only)
  - t2t-exporter --problems=$T2T_PROBLEM --data_dir=$T2T_DATA_DIR --model=transformer --hparams_set=transformer_tiny --output_dir=$T2T_TRAIN_DIR
  - if [[ "$TRAVIS_PYTHON_VERSION" == "2.7" ]] && [[ "$TF_VERSION" == "1.5.*"  ]]; then
        pip install tensorflow-serving-api;
        tensorflow_model_server --port=9000 --model_name=my_model --model_base_path=$T2T_TRAIN_DIR/export/Servo &
        sleep 10;
        t2t-query-server --problem=$T2T_PROBLEM --server=localhost:9000 --servable_name=my_model --data_dir=$T2T_DATA_DIR --inputs_once='1 0 1 0 1 0';
    fi
git:<commit_msg>Move Travis export test into if block<commit_after>language: python
python:
  - "2.7"
  - "3.6"
env:
  global:
    - T2T_PROBLEM=algorithmic_reverse_binary40_test
    - T2T_DATA_DIR=/tmp/t2t-data
    - T2T_TRAIN_DIR=/tmp/t2t-train
  matrix:
    - TF_VERSION="1.4.*"
    - TF_VERSION="1.5.*"
    - TF_VERSION="1.6.0rc0"
matrix:
  exclude:
    - python: "3.6"
      env: TF_VERSION="1.4.*"
    - python: "3.6"
      env: TF_VERSION="1.6.0rc0"
before_install:
  - echo "deb [arch=amd64] http://storage.googleapis.com/tensorflow-serving-apt stable tensorflow-model-server tensorflow-model-server-universal" | sudo tee /etc/apt/sources.list.d/tensorflow-serving.list
  - curl https://storage.googleapis.com/tensorflow-serving-apt/tensorflow-serving.release.pub.gpg | sudo apt-key add -
  - sudo apt-get update -qq
  - sudo apt-get install -qq libhdf5-dev
  - sudo apt-get install -qq tensorflow-model-server
install:
  - pip install -q "tensorflow==$TF_VERSION"
  - pip install -q .[tests]
  # Make sure we have the latest version of numpy - avoid problems we were
  # seeing with Python 3
  - pip install -q -U numpy
script:
  # Check import
  - python -c "from tensor2tensor.models import transformer; print(transformer.Transformer.__name__)"

  # Run tests
  - pytest --ignore=tensor2tensor/utils/registry_test.py --ignore=tensor2tensor/problems_test.py --ignore=tensor2tensor/utils/trainer_lib_test.py --ignore=tensor2tensor/data_generators/algorithmic_math_test.py --ignore=tensor2tensor/bin/t2t_trainer_test.py
  - pytest tensor2tensor/utils/registry_test.py
  - pytest tensor2tensor/utils/trainer_lib_test.py

  # Run installed scripts
  - t2t-datagen 2>&1 | grep translate && echo passed
  - t2t-trainer --registry_help

  # Test --t2t_usr_dir
  - t2t-trainer --registry_help --t2t_usr_dir=./tensor2tensor/test_data/example_usr_dir 2>&1 | grep my_very_own_hparams && echo passed

  # Run data generation, training, and decoding on a dummy problem
  - t2t-datagen --problem=$T2T_PROBLEM --data_dir=$T2T_DATA_DIR
  - t2t-trainer --problems=$T2T_PROBLEM --data_dir=$T2T_DATA_DIR --model=transformer --hparams_set=transformer_tiny --train_steps=5 --eval_steps=5 --output_dir=$T2T_TRAIN_DIR
  - t2t-decoder --problems=$T2T_PROBLEM --data_dir=$T2T_DATA_DIR --model=transformer --hparams_set=transformer_tiny --output_dir=$T2T_TRAIN_DIR --decode_hparams='num_samples=10'

  # Export and query (on Python 2 only)
  - if [[ "$TRAVIS_PYTHON_VERSION" == "2.7" ]] && [[ "$TF_VERSION" == "1.5.*"  ]]; then
        t2t-exporter --problems=$T2T_PROBLEM --data_dir=$T2T_DATA_DIR --model=transformer --hparams_set=transformer_tiny --output_dir=$T2T_TRAIN_DIR
        pip install tensorflow-serving-api;
        tensorflow_model_server --port=9000 --model_name=my_model --model_base_path=$T2T_TRAIN_DIR/export/Servo &
        sleep 10;
        t2t-query-server --problem=$T2T_PROBLEM --server=localhost:9000 --servable_name=my_model --data_dir=$T2T_DATA_DIR --inputs_once='1 0 1 0 1 0';
    fi
git:
{'fraction_non_alphanumeric': 0.13152576625126305, 'fraction_numerical': 0.03233411923206467, 'mean_word_length': 3.7550040032025622, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 7, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4954511', 'n_tokens_mistral': 2309, 'n_tokens_neox': 2211, 'n_words': 399}