Skip to content

Commit b3051c0

Browse files
authored
Merge branch 'main' into QNN_Qwen_Coder
2 parents cadbc04 + bd578ec commit b3051c0

125 files changed

Lines changed: 8050 additions & 366 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.aitk/configs/checks.json

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
{
2-
"configCheck": 163,
3-
"copyCheck": 177,
2+
"configCheck": 167,
3+
"copyCheck": 182,
44
"extensionCheck": 2,
5-
"gitignoreCheck": 41,
5+
"gitignoreCheck": 44,
66
"inferenceModelCheck": 25,
7-
"ipynbCheck": 40,
8-
"licenseCheck": 38,
9-
"modelProjectCheck": 43,
7+
"ipynbCheck": 44,
8+
"licenseCheck": 41,
9+
"modelProjectCheck": 46,
1010
"oliveCheck": 60,
11-
"oliveJsonCheck": 163,
12-
"pathCheck": 1372,
11+
"oliveJsonCheck": 167,
12+
"pathCheck": 1423,
1313
"requirementsCheck": 37,
1414
"templateCheck": 3,
15-
"venvRequirementsCheck": 16
15+
"venvRequirementsCheck": 17
1616
}

.aitk/configs/config_schema.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"$schema": "https://json-schema.org/draft/2020-12/schema",
33
"$id": "config_schema.json",
44
"title": "ModelParameter",
5-
"description": "Model parameter configuration schema for olive-recipes AI Toolkit",
5+
"description": "Model parameter configuration schema for Foundry Toolkit recipes",
66
"type": "object",
77
"required": ["name"],
88
"additionalProperties": false,

.aitk/configs/model_list.json

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -471,6 +471,38 @@
471471
"text-generation"
472472
]
473473
},
474+
{
475+
"displayName": "facebook/sam-vit-base",
476+
"icon": "meta",
477+
"modelLink": "https://huggingface.co/facebook/sam-vit-base",
478+
"id": "huggingface/facebook/sam-vit-base",
479+
"runtimes": [
480+
"QNN"
481+
],
482+
"architecture": "Transformer",
483+
"status": "Hide",
484+
"relativePath": "sam-vit-base/aitk",
485+
"version": 1,
486+
"pipeline_tags": [
487+
"fill-mask"
488+
]
489+
},
490+
{
491+
"displayName": "facebook/sam2.1-hiera-small",
492+
"icon": "meta",
493+
"modelLink": "https://huggingface.co/facebook/sam2.1-hiera-small",
494+
"id": "huggingface/facebook/sam2.1-hiera-small",
495+
"runtimes": [
496+
"QNN"
497+
],
498+
"architecture": "Transformer",
499+
"status": "Hide",
500+
"relativePath": "sam2.1-hiera-small/aitk",
501+
"version": 1,
502+
"pipeline_tags": [
503+
"fill-mask"
504+
]
505+
},
474506
{
475507
"displayName": "meta-llama/Llama-3.1-8B-Instruct",
476508
"icon": "meta",
@@ -800,6 +832,24 @@
800832
"text-generation"
801833
]
802834
},
835+
{
836+
"displayName": "sd2-community/stable-diffusion-2-1",
837+
"icon": "HuggingFace",
838+
"modelLink": "https://huggingface.co/sd2-community/stable-diffusion-2-1",
839+
"id": "huggingface/sd2-community/stable-diffusion-2-1",
840+
"runtimes": [
841+
"QNN",
842+
"IntelCPU",
843+
"IntelGPU"
844+
],
845+
"architecture": "Transformer",
846+
"status": "Hide",
847+
"relativePath": "sd2-community-stable-diffusion-2-1/aitk",
848+
"version": 1,
849+
"pipeline_tags": [
850+
"text-to-image"
851+
]
852+
},
803853
{
804854
"displayName": "stable-diffusion-v1-5/stable-diffusion-v1-5",
805855
"icon": "HuggingFace",
@@ -907,6 +957,7 @@
907957
"AIMClab-RUC/COCO-CN": "https://huggingface.co/datasets/AIMClab-RUC/COCO-CN",
908958
"librispeech_asr": "https://huggingface.co/datasets/openslr/librispeech_asr",
909959
"phiyodr/coco2017": "https://huggingface.co/datasets/phiyodr/coco2017",
960+
"nielsr/coco-panoptic-val2017": "https://huggingface.co/datasets/nielsr/coco-panoptic-val2017",
910961
"pileval_for_awq_benchmark": "https://huggingface.co/datasets/mit-han-lab/pile-val-backup"
911962
},
912963
"LoginRequiredDatasets": [

.aitk/docs/contribute/GetStarted.md

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,18 @@
22

33
## Overview
44

5-
In general, the following steps should be done to submit recipes to AITK and these are summary of what they do
5+
In general, the following steps should be done to submit recipes to Foundry Toolkit and these are summary of what they do
66

77

88
| Name | Summary |
99
|-|-|
1010
| Create Folder | Create folder for new model |
1111
| Create Olive recipes | Add Olive recipes for converting the model |
1212
| Create Requirements file (optional) | Create file to configure stand-alone Python venv |
13-
| Create info.yml | Info.yml is used to describe the olive recipes and AITK project |
13+
| Create info.yml | Info.yml is used to describe the olive recipes and Foundry Toolkit project |
1414
| Update version (for update) | Update version if necessary for updating project |
15-
| Run sanitize.py | Sanitize.py will help to validate and generate additional files for AITK |
16-
| Test in AITK | Do E2E test |
15+
| Run sanitize.py | Sanitize.py will help to validate and generate additional files for Foundry Toolkit |
16+
| Test in Foundry Toolkit | Do E2E test |
1717
| Submit pr | Include necessary files, changes and metrics |
1818

1919
### Demo
@@ -28,10 +28,10 @@ Then inside it, create
2828

2929
- LICENSE: the model license
3030
- Subfolders: could be any name. For example
31-
- aitk: all aitk maintained recipes.
31+
- aitk: all Foundry Toolkit maintained recipes.
3232
- NvTensorRtRtx: recipes for NVIDIA TensorRT for RTX
3333

34-
In this case, since it is a new model and we want to show it in AITK, we use aitk
34+
In this case, since it is a new model and we want to show it in Foundry Toolkit, we use aitk
3535

3636

3737
## Create Olive recipes
@@ -46,7 +46,7 @@ In the aitk folder, create the following files to do the conversion and inferenc
4646

4747
## Create Requirements file (optional)
4848

49-
In AITK, the recipe conversion and evaluation process are separated. They could use same venv or totally different ones.
49+
In Foundry Toolkit, the recipe conversion and evaluation process are separated. They could use same venv or totally different ones.
5050

5151
- For P0 models, these venvs will be maintained by MS and whenever they have updates, P0 recipes will also be verified.
5252
- For other models, a venv setup for conversion is required. So once verified and checked in, end users could always reliably convert the model.
@@ -74,8 +74,8 @@ Explanations
7474
- recipes.ep / eps: the list of Eps that recipe supports
7575
- recipes.aitk.requirements: requirement file explained above
7676
- recipes.aitk.requirementsPatches: patch file explained above
77-
- aitk.modelInfo.id: a unique name in aitk. Usually huggingface/ORG/MODEL_NAME
78-
- aitk.modelInfo.version: when config or inference sample has breaking updates, increase this number and AITK will ask user to upgrade their recipes. Start from 1.
77+
- aitk.modelInfo.id: a unique name in Foundry Toolkit. Usually huggingface/ORG/MODEL_NAME
78+
- aitk.modelInfo.version: when config or inference sample has breaking updates, increase this number and Foundry Toolkit will ask user to upgrade their recipes. Start from 1.
7979
- aitk.modelInfo.groupId: (optional) If we want to group multiple models together like for different size, we could set it
8080
- aitk.modelInfo.groupItemName: (optional) the name shown in dropdown
8181

@@ -93,15 +93,15 @@ When we are updating the project, we may need to increase version. See [Versioni
9393

9494
Version is designed to be an increasing integer for model scope to simplify version management.
9595

96-
For end user, the version could bump more than 1 between each AITK update because AITK release and recipe update are two different processes. This is transparent to end user and they just see update no matter the gap is.
96+
For end user, the version could bump more than 1 between each Foundry Toolkit update because Foundry Toolkit release and recipe update are two different processes. This is transparent to end user and they just see update no matter the gap is.
9797

9898
## Run sanitize.py
9999

100-
Run .aitk/scripts/sanitize.py to config and generate AITK specific files. These files are optional for pr creator as they are auto-generated (but need to commit for AITK).
100+
Run .aitk/scripts/sanitize.py to config and generate Foundry Toolkit specific files. These files are optional for pr creator as they are auto-generated (but need to commit for Foundry Toolkit).
101101

102102
- checks.json: sanity check for changes
103103
- model_list.json: you could see that new model is correctly added
104-
- .gitignore: default pattern for AITK project files
104+
- .gitignore: default pattern for Foundry Toolkit project files
105105
- model_project.config: list recipes same as info.yml
106106
- xxx.json.config: UX definition file for xxx.json. Automatically generated for llm model now
107107
- For new recipes, we may need to work together for generation
@@ -110,7 +110,7 @@ You could also see warnings for your project:
110110

111111
- requirements.txt not exists: This file is optional. If provided, we will install the packages in it in our default venv. The purpose of this file is to enable user to add packages he needed for updated inference sample or olive json
112112
- This file is not the config for conversion or inference venv
113-
- inference_model.json not exists: this is for adding converted model to AITK catalog. If tested, we could add that
113+
- inference_model.json not exists: this is for adding converted model to Foundry Toolkit catalog. If tested, we could add that
114114

115115
Now the changed files are
116116

@@ -120,17 +120,17 @@ Now the changed files are
120120

121121
[UxConfig.md](./UxConfig.md)
122122

123-
## Test in AITK
123+
## Test in Foundry Toolkit
124124

125-
Run `.aitk/scripts/pack_to_extension.py` and it will pack current local olive-recipes repo into installed AITK extension. So you could test in your local branch first before pushing to olive-recipes.
125+
Run `.aitk/scripts/pack_to_extension.py` and it will pack current local olive-recipes repo into installed Foundry Toolkit extension. So you could test in your local branch first before pushing to olive-recipes.
126126

127-
After the script, reopen VS Code to restart the AITK, you should see it in the model list
127+
After the script, reopen VS Code to restart the Foundry Toolkit, you should see it in the model list
128128

129129
![In list](./GetStarted/inlist.png)
130130

131-
It will be converted via your specified environment and run in current WCR environment from AITK.
131+
It will be converted via your specified environment and run in current WCR environment from Foundry Toolkit.
132132

133-
### Test in AITK source code
133+
### Test in Foundry Toolkit source code
134134

135135
Run `npm run zip-template`. It will pack olive-recipes into windows-ai-studio-templates first then pack windows-ai-studio-templates into resources/template.zip for extension debugging.
136136

.aitk/docs/contribute/Versioning.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Versioning
22

3-
Given AITK contains every recipe and is versioned, we could safely version our recipes and do not care backward compatiblity.
3+
Given Foundry Toolkit contains every recipe and is versioned, we could safely version our recipes and do not care backward compatibility.
44

55
So there will be two cases:
66

@@ -15,7 +15,7 @@ We will notify user that there is new version of recipe and user could:
1515
### When developer should increase the version
1616

1717
Developers don't need to increase the version until release, they should do it whenever they changes needed files in pr.
18-
(So in AITK release, version could jump from 1 to 7 like so)
18+
(So in Foundry Toolkit release, version could jump from 1 to 7 like so)
1919

2020
Should increase:
2121

.aitk/docs/guide/HowToSetupVenvManually.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
# How to setup venv manually
22

3-
Sometimes, you may want to setup venv and convert model via olive recipe yourselves without AITK. Here is how to do that.
3+
Sometimes, you may want to setup venv and convert model via olive recipe yourselves without Foundry Toolkit. Here is how to do that.
44

55
## Venv Creation
66

77
We recommend using [uv](https://docs.astral.sh/uv/reference/cli/#uv-venv) to manage venv and now our venvs are using python 3.12.9.
88

99
## Requirements installation
1010

11-
When AITK setups a venv, we usually install 3 kinds of requirements in order.
11+
When Foundry Toolkit setups a venv, we usually install 3 kinds of requirements in order.
1212

1313
- Base requirements: the fundamental requirements including all packages
1414
- Patch (feature) requirements: the additional requirements for the recipe that are installed after base

.aitk/docs/guide/ProjectUpdate.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,15 @@
33
When your project needs update, it means that
44

55
- We have updated the olive json or inference sample that is not compatible with previous version
6-
- The config file version inside AITK is different from your project.
6+
- The config file version inside Foundry Toolkit is different from your project.
77

88
## What should you do
99

1010
Basically you have 3 options
1111

1212
- Replace your project with latest project automatically
1313
- Create a new project and migrate your changes into that project
14-
- Downgrade AITK to continue use previous version
14+
- Downgrade Foundry Toolkit to continue use previous version
1515

1616
### Replace your project with latest project automatically
1717

@@ -23,7 +23,7 @@ This is recommended when you have changes. You could either migrate your changes
2323

2424
The reverse direction is more complex but you may be still able to use olive cache.
2525

26-
### Downgrade AITK to continue use previous version
26+
### Downgrade Foundry Toolkit to continue use previous version
2727

2828
It is a workaround, but it will not allow you to use new recipes or new features.
2929

@@ -35,6 +35,6 @@ The UX for showing the parameters may not working and in this case, you could ch
3535

3636
## About version
3737

38-
When you see the version, you may notice that they are not continuous. This is caused by AITK release and recipe update are two different processes.
38+
When you see the version, you may notice that they are not continuous. This is caused by Foundry Toolkit release and recipe update are two different processes.
3939

40-
The recipes could be updated multiple times between two AITK releases.
40+
The recipes could be updated multiple times between two Foundry Toolkit releases.
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
# This file will be installed together with AITK runtime requirements
2-
# For the full requirements, see AITK
1+
# This file will be installed together with Foundry Toolkit runtime requirements
2+
# For the full requirements, see Foundry Toolkit
33
olive-ai

.aitk/requirements/requirements-Profiling.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ onnxruntime-genai-winml==0.12.1
2727
# uvpip:uninstall onnxruntime-windowsml;pre
2828
onnxruntime-windowsml==1.23.2.202512041916
2929
packaging==24.2
30+
pandas==2.2.3
3031
parso==0.8.5
3132
platformdirs==4.4.0
3233
prompt-toolkit==3.0.52
@@ -42,6 +43,7 @@ stack-data==0.6.3
4243
sympy==1.14.0
4344
tornado==6.5.5
4445
traitlets==5.14.3
46+
tzdata==2025.2
4547
wasdk-Microsoft.Windows.AI.MachineLearning==1.8.251106002
4648
wasdk-Microsoft.Windows.ApplicationModel.DynamicDependency.Bootstrap==1.8.251106002
4749
wcwidth==0.2.13
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
onnxsim==0.6.2
2+
sam2==1.1.0
3+
transformers==4.56.2

0 commit comments

Comments
 (0)