diff --git a/azure-pipelines.yml b/azure-pipelines.yml new file mode 100644 index 0000000..70cb6f3 --- /dev/null +++ b/azure-pipelines.yml @@ -0,0 +1,89 @@ +# +trigger: + paths: + exclude: + - docs +jobs: + - job: Fairseq_unittests + timeoutInMinutes: 360 + #pool: + # vmImage: 'ubuntu-18.04' + pool: + name: default + demands: + - agent.name -equals gpu4 + steps: + - script: | + #set up docker + sudo docker run --gpus all --privileged -v '/datadrive/:/datadrive' -it adsbrainwestus2.azurecr.io/fastseq:dev-py3 /bin/bash + #install fastseq + pip install --editable . + + #show environment + which python + python --version + which nvcc + nvcc --version + which fastseq + python -c "import torch; print('torch:', torch.__version__, torch)" + python -c "import torch; print('CUDA available:', torch.cuda.is_available())" + python -c "import fastseq; print('fastseq:', fastseq.__version__)" + + #run unit tests + #files chnaged in current PR + files_changed=$(git --no-pager diff --name-only HEAD $(git merge-base HEAD main)) + + export CUDA_VISIBLE_DEVICES=2,3 + #check whether this PR is specific to fairseq/transformers/both. + #run PR specific unittests. + is_fairseq= $(echo $files_changed|grep fairseq) + is_transformers=$(echo $files_changed|grep transformers) + is_functional=$(echo $files_changed|grep -e .py -e .cu -e .cpp) + + #purely fairseq change + if [ -n "$is_fairseq" -a -z "$is_transformers" ] + then + bash tests/run_fairseq_tests.sh + #purely transformers change + else if [ -z "$is_fairseq" -a -n "$is_transformers" ] + then + bash tests/run_transformers_tests.sh + else if [ -n "$is_functional" ] + then + bash tests/run_fairseq_tests.sh + bash tests/run_transformers_tests.sh + else + #bash tests/run_fairseq_tests.sh + #bash tests/run_transformers_tests.sh + : + fi + fi + fi + + #install pylint, wrapt update is essential. + conda update --name --yes base conda + conda update --yes wrapt + pip install pylint + + #install pylint + pip install cpplint + + #Linting checks for python files + echo $files_changed|grep .py|while read file; do + pylint --rcfile=.pylintrc $file + done + + #Linting checks for c++ files + echo $files_changed| grep .cpp|while read file; do + cpplint $file + done + + #Linting checks for cu files + echo $files_changed| grep .cu|while read file; do + cpplint $file + done + + #run benchmarks + #cd benchmarks/ + #CUDA_VISIBLE_DEVICES=3 run_all_benchmarks.sh + displayName: 'setup environment and run fairseq unit tests' diff --git a/fastseq/optimizer/fairseq/beam_search_optimizer_v1.py b/fastseq/optimizer/fairseq/beam_search_optimizer_v1.py index 83adba4..a73b166 100644 --- a/fastseq/optimizer/fairseq/beam_search_optimizer_v1.py +++ b/fastseq/optimizer/fairseq/beam_search_optimizer_v1.py @@ -1,6 +1,6 @@ # Copyright (c) Microsoft Corporation. # Licensed under the MIT License. - +# """Apply the beam search optimizations to fairseq-v0.9.0""" import math