Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Regression test #270

Open
wants to merge 30 commits into
base: main-test
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
02a2856
Update documentation and distiller version (#268)
Nov 13, 2023
89c97fb
Update copyright notices (#269)
Nov 14, 2023
b8bed2b
Remove regressions; update file headers (#270)
Nov 15, 2023
74bb060
Update optimizers after QAT (#272)
oguzhanbsolak Nov 30, 2023
e6ab78a
Remove unused files; simplify requirements*.txt; add additional PR ac…
rotx-eva Dec 1, 2023
a0a12ac
Initiate_qat override support for submodule layers (#274)
oguzhanbsolak Dec 4, 2023
0c35aff
Update evaluation scripts (#277)
asyatrhl Dec 12, 2023
750a052
Add NOTICE; multi-platform .yamllint (#279)
rotx-eva Dec 15, 2023
2cab474
Add improved FaceID model and new datasets (#276)
oguzhanbsolak Jan 8, 2024
377e739
Add regression test workflow trigger (#278)
asyatrhl Jan 9, 2024
14412c3
Minor cleanup (#282)
rotx-eva Jan 9, 2024
da4387e
Improve compatibility and documentation (#283)
oguzhanbsolak Jan 10, 2024
bbcc2ae
Update ai85net-bayer2rgbnet.py
asyatrhl Jan 22, 2024
ff5ad09
Update regression test hook (#285)
asyatrhl Jan 23, 2024
cae4e30
Merge branch 'MaximIntegratedAI:develop' into regression-test
asyatrhl Jan 23, 2024
e28e642
Update regression test hook (#286)
asyatrhl Jan 23, 2024
31f63be
Merge branch 'MaximIntegratedAI:develop' into regression-test
asyatrhl Jan 23, 2024
3a4a661
Add NAS KWS model, Dynamic Augmentation and Automated Evaluation Note…
alicangok Feb 1, 2024
591cb94
Face Detection Library Replacement (#287)
oguzhanbsolak Feb 2, 2024
4f664d7
Improve FaceID documentation and error checking (#288)
rotx-eva Feb 2, 2024
98ccf64
Update links to MSDK (#291)
rotx-eva Feb 26, 2024
128b4d4
Update authors for model_irse_drl.py (#292)
oguzhanbsolak Feb 27, 2024
33f1eb6
Add Auto Encoder Model, Sample Motor Dataset Loader, and Evaluation N…
rotx-eva Mar 8, 2024
5c6bb5f
Rename main branch (#297)
rotx-eva Mar 8, 2024
89abd5c
Fix eval ckpt naming for ai87netmobilefacenet_112 (#298)
oguzhanbsolak Mar 13, 2024
398214c
Improve documentation, remove deprecated VScode project settings (#300)
rotx-eva Mar 18, 2024
c183184
Sort directory listings where necessary; minor documentation improvem…
rotx-eva Apr 5, 2024
e775801
Update GitHub organization in test.yml (#303)
asyatrhl Apr 18, 2024
903ba1b
Update GitHub org (#304)
rotx-eva Apr 24, 2024
23109b9
Merge branch 'analogdevicesinc:develop' into regression-test
asyatrhl Apr 29, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/linters/.python-lint
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@ ignored-classes = ModelProto
max-line-length = 99
[DESIGN]
max-locals=100
max-statements=300
max-statements=350
min-public-methods=1
max-branches=100
max-branches=120
max-module-lines=5000
max-args=20
max-returns=10
Expand Down
16 changes: 14 additions & 2 deletions .github/workflows/linter.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@ name: Lint code

on:
push:
branches-ignore: [master]
branches-ignore: [main, master]
pull_request:
branches-ignore: [master]
branches-ignore: [main, master]

jobs:
build:
Expand All @@ -19,6 +19,18 @@ jobs:
fetch-depth: 0
submodules: true

- name: Check source code files for Unicode and CRLF
run: |
set -e
find . -name 'distiller' -prune -o -type f -size +0c -regex '.*\.\(py\|yaml\|yml\|txt\|h\|c\|sh\)' -print0 | xargs -0 file | grep -P '^(?!.*ASCII)|CRLF' || exit 0
exit 1

- name: Check shell scripts for x-bit
run: |
set -e
find . -name 'distiller' -prune -o -type f -name \*.sh \! -perm -1 -print0 | xargs -0 grep . || exit 0
exit 1

- name: Lint code
uses: super-linter/super-linter/slim@v5
env:
Expand Down
160 changes: 28 additions & 132 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -1,140 +1,36 @@
---
name: auto-testing
name: Trigger External Workflow

on:
pull_request:
branches:
- develop
pull_request_target:
types: [opened, edited, synchronize]

jobs:
eval:
runs-on: self-hosted
timeout-minutes: 345600
trigger_dispatch:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Checkout PR
run: |
fork_repo=$(jq -r .pull_request.head.repo.clone_url $GITHUB_EVENT_PATH)
git clone $fork_repo --recursive
- name: Checkout synthesis
uses: actions/checkout@v2
with:
repository: MaximIntegratedAI/ai8x-synthesis
ref: develop
path: ai8x-synthesis
- name: Setup Pyenv and Install Dependencies
uses: gabrielfalcao/pyenv-action@v13
with:
default: 3.8.11
- name: Create Venv
run: |
pyenv local 3.8.11
python -m venv venv --prompt ai8x-training
- name: Activate Venv
run: source venv/bin/activate
- name: Install Dependencies
run: |
pip3 install -U pip wheel setuptools
pip3 install -r requirements-cu11.txt
- name: Create Evaluation Scripts
run: python ./regression/create_eval_script.py --testconf ./regression/test_config.yaml --testpaths ./regression/paths.yaml
- name: Run Evaluation Scripts
run: bash ./scripts/evaluation_file.sh
- name: Save Evaluation Log Files
run: cp -r /home/test/actions-runner/_work/ai8x-training/ai8x-training/logs/ /home/test/max7800x/evaluation_logs/
- name: Evaluation Results
run: python ./regression/eval_pass_fail.py --testpaths ./regression/paths.yaml

build:
runs-on: self-hosted
needs: [eval]
timeout-minutes: 345600
steps:
- name: Checkout last-dev
uses: actions/checkout@v2
with:
repository: MaximIntegratedAI/ai8x-training
ref: develop
submodules: recursive
- name: Setup Pyenv and Install Dependencies
uses: gabrielfalcao/pyenv-action@v13
with:
default: 3.8.11
- name: Create Venv
run: |
pyenv local 3.8.11
python -m venv venv --prompt ai8x-training
- name: Activate Venv
run: source venv/bin/activate
- name: Install Dependencies
- name: Check repository
run: |
pip3 install -U pip wheel setuptools
pip3 install -r requirements-cu11.txt
- name: Last Develop Check
run: python ./regression/last_dev.py --testconf ./regression/test_config.yaml --testpaths ./regression/paths.yaml
echo "IS_SPECIFIC_REPOSITORY=${{ github.repository == 'analogdevicesinc/ai8x-training' }}" >> $GITHUB_ENV
echo "IS_DEVELOP_BRANCH=${{ github.ref == 'refs/heads/develop' }}" >> $GITHUB_ENV

new-code:
runs-on: self-hosted
needs: [build]
timeout-minutes: 345600
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Checkout PR
run: |
fork_repo=$(jq -r .pull_request.head.repo.clone_url $GITHUB_EVENT_PATH)
git clone $fork_repo --recursive
- name: Setup Pyenv and Install Dependencies
uses: gabrielfalcao/pyenv-action@v13
with:
default: 3.8.11
- name: Create Venv
run: |
pyenv local 3.8.11
python -m venv venv --prompt ai8x-training
- name: Activate Venv
run: source venv/bin/activate
- name: Install Dependencies
run: |
pip3 install -U pip wheel setuptools
pip3 install -r requirements-cu11.txt
- name: Create Test Script
run: python ./regression/create_test_script.py --testconf ./regression/test_config.yaml --testpaths ./regression/paths.yaml
- name: Run Training Scripts
run: bash /home/test/actions-runner/_work/ai8x-training/ai8x-training/scripts/output_file.sh
- name: Save Log Files
run: cp -r /home/test/actions-runner/_work/ai8x-training/ai8x-training/logs/ /home/test/max7800x/test_logs/$(date +%Y-%m-%d_%H-%M-%S)
- name: Save Test Scripts
run: cp -r /home/test/actions-runner/_work/ai8x-training/ai8x-training/scripts/output_file.sh /home/test/max7800x/test_scripts/
- name: Create and run ONNX script
run: python ./regression/create_onnx_script.py --testconf ./regression/test_config.yaml --testpaths ./regression/paths.yaml
- name: Set up environment
if: env.IS_SPECIFIC_REPOSITORY == 'true' && env.IS_DEVELOP_BRANCH == 'true'
run: |
PR_Branch=${{ github.event.pull_request.head.ref }}
Repository=${{ github.event.pull_request.head.repo.full_name }}
PR_Number=${{ github.event.pull_request.number }}
PR_Sha=${{ github.event.pull_request.head.sha }}
echo "PR_Branch: $PR_Branch"
echo "Repository: $Repository"
echo "PR_Number: $PR_Number"
echo "PR_Sha: $PR_Sha"

test-results:
runs-on: self-hosted
needs: [new-code]
timeout-minutes: 345600
steps:
- uses: actions/checkout@v2
name: Checkout Test Code
with:
repository: MaximIntegratedAI/ai8x-training
ref: develop
submodules: recursive
- name: Setup Pyenv and Install Dependencies
uses: gabrielfalcao/pyenv-action@v13
with:
default: 3.8.11
- name: Create Venv
run: |
pyenv local 3.8.11
python -m venv venv --prompt ai8x-training
- name: Activate Venv
run: source venv/bin/activate
- name: Install Dependencies
run: |
pip3 install -U pip wheel setuptools
pip3 install -r requirements-cu11.txt
- name: Log Diff
run: python ./regression/log_comparison.py --testconf ./regression/test_config.yaml --testpaths ./regression/paths.yaml
- name: Test Results
run: python ./regression/pass_fail.py --testconf ./regression/test_config.yaml --testpaths ./regression/paths.yaml
- name: Dispatch event
if: env.IS_SPECIFIC_REPOSITORY == 'true' && env.IS_DEVELOP_BRANCH == 'true'
run: |
curl -X POST \
-H "Authorization: Bearer ${{ secrets.REGRESSION_TEST }}" \
-H "Accept: application/vnd.github.v3+json" \
"https://api.github.com/repos/MaximIntegratedAI/ai8x-regression/dispatches" \
-d '{"event_type": "repo-pull-request", "client_payload": {"PR_Branch": "${{ github.event.pull_request.head.ref }}", "Repository": "${{ github.event.pull_request.head.repo.full_name }}","PR_Number": "${{ github.event.pull_request.number }}","PR_Sha": "${{ github.event.pull_request.head.sha }}" }'
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,16 @@
*.mem
*.prof
/.mypy_cache/
/.venv/
/.vscode/
**/build/
/data/
/data
/latest_log_dir
/latest_log_file
/logs/
/ninja-python-distributions
/pip-selfcheck.json
/pretrained/
/sensitivity.csv
/sensitivity.png
/tensorflow/
Expand Down
3 changes: 0 additions & 3 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,3 @@
path = distiller
url = https://github.com/MaximIntegratedAI/distiller.git
branch = pytorch-1.8
[submodule "datasets/face_id/facenet_pytorch"]
path = datasets/face_id/facenet_pytorch
url = https://github.com/MaximIntegratedAI/facenet-pytorch.git
4 changes: 2 additions & 2 deletions .pylintrc
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@ ignored-classes = ModelProto
max-line-length = 99
[DESIGN]
max-locals=100
max-statements=300
max-statements=350
min-public-methods=1
max-branches=100
max-branches=120
max-module-lines=5000
max-args=20
max-returns=10
Expand Down
3 changes: 3 additions & 0 deletions .yamllint
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,6 @@
extends: default
rules:
line-length: {max: 1024}
new-lines:
type: platform
new-line-at-end-of-file: enable
33 changes: 0 additions & 33 deletions LICENSE.md

This file was deleted.

Loading