combined notebooks and examples #16
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: OpenVINO - Notebooks and Examples Test | |
on: | |
workflow_dispatch: | |
schedule: | |
- cron: '14 3 * * 1' # run weekly: every Monday at 3:14 | |
push: | |
paths: | |
- '.github/workflows/test_openvino_notebooks.yml' | |
- '.github/workflows/test_openvino_examples.yml' | |
- 'notebooks/openvino/*' | |
- 'examples/openvino/*' | |
pull_request: | |
paths: | |
- '.github/workflows/test_openvino_notebooks.yml' | |
- '.github/workflows/test_openvino_examples.yml' | |
- 'notebooks/openvino/*' | |
- 'examples/openvino/*' | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} | |
cancel-in-progress: true | |
jobs: | |
build: | |
strategy: | |
fail-fast: false | |
matrix: | |
python-version: ["3.8", "3.10"] | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Setup Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v2 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install dependencies | |
run: | | |
# Install PyTorch CPU to prevent unnecessary downloading/installing of CUDA packages | |
# ffmpeg, torchaudio and pillow are required for image classification and audio classification pipelines | |
sudo apt-get install ffmpeg | |
# pip install torch torchaudio --extra-index-url https://download.pytorch.org/whl/cpu | |
pip install ".[tests, openvino]" nbval | |
pip install optimum[openvino] nncf torchaudio datasets==2.4.0 | |
pip install -r notebooks/openvino/requirements.txt | |
pip install -r examples/openvino/image-classification/requirements.txt | |
pip install -r examples/openvino/question-answering/requirements.txt | |
pip install -r examples/openvino/text-classification/requirements.txt | |
- run: free -h | |
- run: lscpu | |
- run: pip freeze | |
- name: Test with Pytest | |
run: | | |
python -m pytest --nbval-lax notebooks/openvino/optimum_openvino_inference.ipynb notebooks/openvino/question_answering_quantization.ipynb | |
- name: Test examples | |
run: | | |
python examples/openvino/image-classification/run_image_classification.py --model_name_or_path nateraw/vit-base-beans --dataset_name beans --max_train_samples 50 --max_eval_samples 10 --remove_unused_columns False --do_train --do_eval --learning_rate 2e-5 --num_train_epochs 1 --logging_strategy steps --logging_steps 10 --evaluation_strategy epoch --save_strategy epoch --save_total_limit 3 --seed 1337 --output_dir /tmp/beans_outputs/ | |
python examples/openvino/question-answering/run_qa.py --model_name_or_path distilbert-base-uncased-distilled-squad --dataset_name squad --do_train --do_eval --max_train_samples 50 --learning_rate 3e-5 --num_train_epochs 1 --max_seq_length 384 --doc_stride 128 --output_dir /tmp/outputs_squad/ --overwrite_output_dir | |
TASK_NAME=sst2 && python examples/openvino/text-classification/run_glue.py --model_name_or_path bert-base-uncased --task_name $TASK_NAME --max_train_samples 20 --max_eval_samples 5 --output_dir /tmp/qat-bert-base-ft-$TASK_NAME --overwrite_output_dir --do_train --do_eval --max_seq_length 128 --learning_rate 1e-5 --optim adamw_torch --num_train_epochs 1 --logging_steps 10 --evaluation_strategy steps --eval_steps 5 --save_strategy epoch --seed 42 |