From de6a6714f97de58fd8fe10644280702b1cfe02ac Mon Sep 17 00:00:00 2001 From: kunal-vaishnavi <115581922+kunal-vaishnavi@users.noreply.github.com> Date: Thu, 5 Sep 2024 15:18:03 -0700 Subject: [PATCH 01/67] Fix MatMulNBits accuracy level for already-quantized models (#879) ### Description This PR fixes a bug with setting the `accuracy_level` for the `MatMulNBits` op when building ONNX models from already-quantized PyTorch models. ### Motivation and Context For already-quantized PyTorch models, the model builder creates the `MatMulNBits` op directly instead of invoking ONNX Runtime's 4-bit quantization tool to create the `MatMulNBits` ops. When creating the op, the accuracy level should be specified. --- src/python/py/models/builder.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/python/py/models/builder.py b/src/python/py/models/builder.py index 8579cc3fb..1a845cd7c 100644 --- a/src/python/py/models/builder.py +++ b/src/python/py/models/builder.py @@ -275,7 +275,7 @@ def __init__(self, config, io_dtype, onnx_dtype, ep, cache_dir, extra_options): self.quant_attrs = { "int4": { "block_size": int(extra_options["int4_block_size"]) if "int4_block_size" in extra_options else 32, - "accuracy_level": int(extra_options["int4_accuracy_level"]) if "int4_accuracy_level" in extra_options else None, + "accuracy_level": int(extra_options["int4_accuracy_level"]) if "int4_accuracy_level" in extra_options else 0, # Default is 0 for non-QDQ formats, default is 4 for QDQ formats } } if self.quant_type is not None: @@ -695,6 +695,7 @@ def make_matmul_int4(self, matmul, basename, root_input, **kwargs): output = "logits" if kwargs.get("logits", False) else f"{name}/output_0" self.make_node( "MatMulNBits", inputs=inputs, outputs=[output], name=name, domain="com.microsoft", + accuracy_level=self.quant_attrs["int4"]["accuracy_level"], bits=matmul.bits, block_size=matmul.group_size, K=matmul.in_features, N=matmul.out_features, ) self.make_value_info(output, self.io_dtype, shape=['batch_size', 'sequence_length', matmul.out_features]) @@ -770,6 +771,7 @@ def __init__(self): output = "logits" if kwargs.get("logits", False) else f"{name}/output_0" self.make_node( "MatMulNBits", inputs=inputs, outputs=[output], name=name, domain="com.microsoft", + accuracy_level=self.quant_attrs["int4"]["accuracy_level"], bits=matmul.bits, block_size=matmul.group_size, K=matmul.in_features, N=matmul.out_features, ) self.make_value_info(output, self.io_dtype, shape=['batch_size', 'sequence_length', matmul.out_features]) From dac90d557dbd90c816cb4a44f39367346bca1c1c Mon Sep 17 00:00:00 2001 From: Chester Liu <4710575+skyline75489@users.noreply.github.com> Date: Mon, 9 Sep 2024 13:20:37 +0800 Subject: [PATCH 02/67] Added build.py change for ROCm EP (#811) Added option in `build.py` for ROCm --- src/python/py/models/builder.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/python/py/models/builder.py b/src/python/py/models/builder.py index 1a845cd7c..1887ff5cb 100644 --- a/src/python/py/models/builder.py +++ b/src/python/py/models/builder.py @@ -225,6 +225,7 @@ def __init__(self, config, io_dtype, onnx_dtype, ep, cache_dir, extra_options): valid_gqa_configurations = [ ("cpu", TensorProto.FLOAT), ("cuda", TensorProto.FLOAT16), + ("rocm", TensorProto.FLOAT16), ("dml", TensorProto.FLOAT16), ] if (self.ep, self.io_dtype) in valid_gqa_configurations: @@ -2742,7 +2743,7 @@ def get_args(): "-e", "--execution_provider", required=True, - choices=["cpu", "cuda", "dml", "web"], + choices=["cpu", "cuda", "rocm", "dml", "web"], help="Execution provider to target with precision of model (e.g. FP16 CUDA, INT4 CPU, INT4 WEB)", ) From ad6a02ff0509feb068d72503152f5b5e27d7fe3f Mon Sep 17 00:00:00 2001 From: "Nat Kershaw (MSFT)" Date: Tue, 10 Sep 2024 14:41:11 -0700 Subject: [PATCH 03/67] Add GetOutput to C example and update versions (#857) --- examples/c/.gitignore | 6 + examples/c/README.md | 168 +++++++++++++++++++---- examples/c/src/main.cpp | 13 ++ examples/csharp/Genny/Genny/Genny.csproj | 6 +- examples/csharp/HelloPhi/HelloPhi.csproj | 7 +- examples/csharp/HelloPhi/HelloPhi.sln | 18 +++ 6 files changed, 182 insertions(+), 36 deletions(-) diff --git a/examples/c/.gitignore b/examples/c/.gitignore index 8bcf73af8..6f8fabd2e 100644 --- a/examples/c/.gitignore +++ b/examples/c/.gitignore @@ -1,3 +1,9 @@ build include/* lib/* +*.vcxproj +*.vcxproj.filters +*.sln +*.zip +*.tar.gz + diff --git a/examples/c/README.md b/examples/c/README.md index fe4d8952c..866b45145 100644 --- a/examples/c/README.md +++ b/examples/c/README.md @@ -9,45 +9,55 @@ git clone https://github.com/microsoft/onnxruntime-genai.git cd onnxruntime-genai/examples/c ``` -## Download a model +## Phi-3 mini -This example uses the [Phi-3 mini model](https://huggingface.co/microsoft/Phi-3-mini-4k-instruct) and the [Phi-3 vision model](https://huggingface.co/microsoft/Phi-3-mini-4k-instruct) optimized to run on CPU. You can clone this entire model repository or download individual model variants. To download individual variants, you need to install the HuggingFace CLI. For example: +### Download model + +This example uses the [Phi-3 mini model](https://huggingface.co/microsoft/Phi-3-mini-4k-instruct). + +You can clone this entire model repository or download individual model variants. To download individual variants, you need to install the HuggingFace CLI. ```bash huggingface-cli download microsoft/Phi-3-mini-4k-instruct-onnx --include cpu_and_mobile/cpu-int4-rtn-block-32-acc-level-4/* --local-dir . ``` -## Install the onnxruntime and onnxruntime-genai binaries +### Install the onnxruntime and onnxruntime-genai binaries -### Windows +#### Windows ``` -curl -L https://github.com/microsoft/onnxruntime/releases/download/v1.18.1/onnxruntime-win-x64-1.18.1.zip -o onnxruntime-win-x64-1.18.1.zip -tar xvf onnxruntime-win-x64-1.18.1.zip -copy onnxruntime-win-x64-1.18.1\include\* include -copy onnxruntime-win-x64-1.18.1\lib\* lib -curl -L https://github.com/microsoft/onnxruntime-genai/releases/download/v0.3.0/onnxruntime-genai-0.3.0-win-x64.zip -o onnxruntime-genai-0.3.0-win-x64.zip -tar xvf onnxruntime-genai-0.3.0-win-x64.zip -copy onnxruntime-genai-0.3.0-win-x64\include\* include -copy onnxruntime-genai-0.3.0-win-x64\lib\* lib +curl -L https://github.com/microsoft/onnxruntime/releases/download/v1.19.0/onnxruntime-win-x64-1.19.0.zip -o onnxruntime-win-x64-1.19.0.zip +tar xvf onnxruntime-win-x64-1.19.0.zip +copy onnxruntime-win-x64-1.19.0\include\* include +copy onnxruntime-win-x64-1.19.0\lib\* lib +curl -L https://github.com/microsoft/onnxruntime-genai/releases/download/v0.4.0/onnxruntime-genai-win-cpu-x64-capi.zip -o onnxruntime-genai-win-cpu-x64-capi.zip +tar xvf onnxruntime-genai-win-cpu-x64-capi.zip +cd onnxruntime-genai-win-cpu-x64-capi +tar xvf onnxruntime-genai-0.4.0-win-x64.zip +copy onnxruntime-genai-0.4.0-win-x64\include\* ..\include +copy onnxruntime-genai-0.4.0-win-x64\lib\* ..\lib +cd .. ``` -### Linux +#### Linux ``` -curl -L https://github.com/microsoft/onnxruntime/releases/download/v1.18.1/onnxruntime-linux-x64-gpu-1.18.1.tgz -o onnxruntime-linux-x64-gpu-1.18.1.tgz -tar xvzf onnxruntime-linux-x64-gpu-1.18.1.tgz -cp onnxruntime-linux-x64-gpu-1.18.1/include/* include -cp onnxruntime-linux-x64-gpu-1.18.1/lib/* lib -curl -L https://github.com/microsoft/onnxruntime-genai/releases/download/v0.3.0/onnxruntime-genai-0.3.0-linux-x64.tar.gz -o onnxruntime-genai-0.3.0-linux-x64.tar.gz -tar xvzf onnxruntime-genai-0.3.0-linux-x64.tar.gz -cp onnxruntime-genai-0.3.0-linux-x64/include/* include -cp onnxruntime-genai-0.3.0-linux-x64/lib/* lib +curl -L https://github.com/microsoft/onnxruntime/releases/download/v1.19.0/onnxruntime-linux-x64-1.19.0.tgz -o onnxruntime-linux-x64-1.19.0.tgz +tar xvzf onnxruntime-linux-x64-1.19.0.tgz +cp onnxruntime-linux-x64-1.19.0/include/* include +cp onnxruntime-linux-x64-1.19.0/lib/* lib +curl -L https://github.com/microsoft/onnxruntime-genai/releases/download/v0.4.0/onnxruntime-genai-linux-cpu-x64-capi.zip -o onnxruntime-genai-linux-cpu-x64-capi.zip +unzip onnxruntime-genai-linux-cpu-x64-capi.zip +cd onnxruntime-genai-linux-cpu-x64-capi +tar xvzf onnxruntime-genai-0.4.0-linux-x64.tar.gz +cp onnxruntime-genai-0.4.0-linux-x64/include/* ../include +cp onnxruntime-genai-0.4.0-linux-x64/lib/* ../lib +cd .. ``` -## Build this sample +### Build this sample -### Windows +#### Windows ```bash cmake -G "Visual Studio 17 2022" -A x64 -S . -B build @@ -55,7 +65,7 @@ cd build cmake --build . --config Release ``` -### Linux +#### Linux Build with CUDA: @@ -69,25 +79,123 @@ cmake --build . --config Release Build for CPU: ```bash -mkdir build +cmake . cd build -cmake ../ cmake --build . --config Release ``` -## Run the sample - -### Run the language model +### Run the sample ```bash cd build\\Release .\phi3.exe path_to_model ``` -### Run the vision model +## Phi-3 vision + +### Download model + +You can use one of the following models for this sample: +* [Phi-3 vision model for CPU](https://huggingface.co/microsoft/Phi-3-vision-128k-instruct-onnx-cpu) +* [Phi-3 vision model for CUDA](https://huggingface.co/microsoft/Phi-3-vision-128k-instruct-onnx-cuda) +* [Phi-3 vision model for DirectML](https://huggingface.co/microsoft/Phi-3-vision-128k-instruct-onnx-directml) + +Clone one of the models above. + +### Run on Windows + +#### Install the required headers and binaries + +Change into the onnxruntime-genai folder. + +1. Install onnxruntime + +```cmd +cd examples\c +curl -L https://github.com/microsoft/onnxruntime/releases/download/v1.19.0/onnxruntime-win-x64-1.19.0.zip -o onnxruntime-win-x64-1.19.0.zip +tar xvf onnxruntime-win-x64-1.19.0.zip +copy onnxruntime-win-x64-1.19.0\include\* include +copy onnxruntime-win-x64-1.19.0\lib\* lib +``` + +2. Install onnxruntime-genai + +This example requires onnxruntime-genai to be built from source. + +```cmd +cd ..\.. +python build.py --config Release --ort_home examples\c +copy src\ort_genai.h examples\c\include +copy src\ort_genai_c.h examples\c\include +copy build\Windows\Release\Release\*.dll examples\c\lib +cd examples\c +``` + +#### Build this sample + +```bash +cmake -G "Visual Studio 17 2022" -A x64 -S . -B build +cd build +cmake --build . --config Release +``` + +#### Run the sample ```bash cd build\\Release .\phi3v.exe path_to_model ``` +### Run on Linux + +#### Install the required headers and binaries + +Change into the onnxruntime-genai directory. + +1. Install onnxruntime + +```bash +cd examples/c +curl -L https://github.com/microsoft/onnxruntime/releases/download/v1.19.0/onnxruntime-linux-x64-1.19.0.tgz -o onnxruntime-linux-x64-1.19.0.tgz +tar xvzf onnxruntime-linux-x64-1.19.0.tgz +cp onnxruntime-linux-x64-1.19.0/include/* include +cp onnxruntime-linux-x64-1.19.0/lib/* lib +cd ../.. +``` + +2. Build onnxruntime-genai from source and install + +```bash +# This should be run from the root of the onnxruntime-genai folder +python build.py --config Release --ort_home examples\c +cp src/ort_genai.h examples/c/include +cp src/ort_genai_c.h examples/c/include +cp build/Linux/release cd libonnxruntime-genai.so examples/c/lib +cd examples/c +``` + +#### Build this sample + +Build to run with CUDA: + +```bash +cmake . -B build -DCMAKE_CUDA_COMPILER=/usr/local/cuda/bin/nvcc -DCMAKE_CUDA_ARCHITECTURES=80 -DUSE_CUDA=ON +cd build +cmake --build . --config Release +``` + +Build for CPU: + +```bash +cmake . -B build +cd build +cmake --build . --config Release +``` + +#### Run the sample + +```bash +cd build/Release +./phi3v path_to_model +``` + diff --git a/examples/c/src/main.cpp b/examples/c/src/main.cpp index 5017108e6..669dedebc 100644 --- a/examples/c/src/main.cpp +++ b/examples/c/src/main.cpp @@ -35,6 +35,19 @@ void CXX_API(const char* model_path) { generator->ComputeLogits(); generator->GenerateNextToken(); + // Show usage of GetOutput + std::unique_ptr output_logits = generator->GetOutput("logits"); + + // Assuming output_logits.Type() is float as it's logits + // Assuming shape is 1 dimensional with shape[0] being the size + auto logits = reinterpret_cast(output_logits->Data()); + + // Print out the logits using the following snippet, if needed + //auto shape = output_logits->Shape(); + //for (size_t i=0; i < shape[0]; i++) + // std::cout << logits[i] << " "; + //std::cout << std::endl; + const auto num_tokens = generator->GetSequenceCount(0); const auto new_token = generator->GetSequenceData(0)[num_tokens - 1]; std::cout << tokenizer_stream->Decode(new_token) << std::flush; diff --git a/examples/csharp/Genny/Genny/Genny.csproj b/examples/csharp/Genny/Genny/Genny.csproj index 1aad829e8..357e5190e 100644 --- a/examples/csharp/Genny/Genny/Genny.csproj +++ b/examples/csharp/Genny/Genny/Genny.csproj @@ -13,9 +13,9 @@ - - - + + + diff --git a/examples/csharp/HelloPhi/HelloPhi.csproj b/examples/csharp/HelloPhi/HelloPhi.csproj index 083a2d89e..3cc34b8e9 100644 --- a/examples/csharp/HelloPhi/HelloPhi.csproj +++ b/examples/csharp/HelloPhi/HelloPhi.csproj @@ -6,12 +6,13 @@ enable enable Debug;Release;Debug_Cuda;Release_Cuda;Debug_DirectML;Release_DirectML + AnyCPU;x64 - - - + + + diff --git a/examples/csharp/HelloPhi/HelloPhi.sln b/examples/csharp/HelloPhi/HelloPhi.sln index ed4468ddc..2caee7ca4 100644 --- a/examples/csharp/HelloPhi/HelloPhi.sln +++ b/examples/csharp/HelloPhi/HelloPhi.sln @@ -8,25 +8,43 @@ EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug_Cuda|Any CPU = Debug_Cuda|Any CPU + Debug_Cuda|x64 = Debug_Cuda|x64 Debug_DirectML|Any CPU = Debug_DirectML|Any CPU + Debug_DirectML|x64 = Debug_DirectML|x64 Debug|Any CPU = Debug|Any CPU + Debug|x64 = Debug|x64 Release_Cuda|Any CPU = Release_Cuda|Any CPU + Release_Cuda|x64 = Release_Cuda|x64 Release_DirectML|Any CPU = Release_DirectML|Any CPU + Release_DirectML|x64 = Release_DirectML|x64 Release|Any CPU = Release|Any CPU + Release|x64 = Release|x64 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {89932021-18FC-490C-8675-73F2AD1DEB2A}.Debug_Cuda|Any CPU.ActiveCfg = Debug_Cuda|Any CPU {89932021-18FC-490C-8675-73F2AD1DEB2A}.Debug_Cuda|Any CPU.Build.0 = Debug_Cuda|Any CPU + {89932021-18FC-490C-8675-73F2AD1DEB2A}.Debug_Cuda|x64.ActiveCfg = Debug_Cuda|x64 + {89932021-18FC-490C-8675-73F2AD1DEB2A}.Debug_Cuda|x64.Build.0 = Debug_Cuda|x64 {89932021-18FC-490C-8675-73F2AD1DEB2A}.Debug_DirectML|Any CPU.ActiveCfg = Debug_DirectML|Any CPU {89932021-18FC-490C-8675-73F2AD1DEB2A}.Debug_DirectML|Any CPU.Build.0 = Debug_DirectML|Any CPU + {89932021-18FC-490C-8675-73F2AD1DEB2A}.Debug_DirectML|x64.ActiveCfg = Debug_DirectML|x64 + {89932021-18FC-490C-8675-73F2AD1DEB2A}.Debug_DirectML|x64.Build.0 = Debug_DirectML|x64 {89932021-18FC-490C-8675-73F2AD1DEB2A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {89932021-18FC-490C-8675-73F2AD1DEB2A}.Debug|Any CPU.Build.0 = Debug|Any CPU + {89932021-18FC-490C-8675-73F2AD1DEB2A}.Debug|x64.ActiveCfg = Debug|x64 + {89932021-18FC-490C-8675-73F2AD1DEB2A}.Debug|x64.Build.0 = Debug|x64 {89932021-18FC-490C-8675-73F2AD1DEB2A}.Release_Cuda|Any CPU.ActiveCfg = Release_Cuda|Any CPU {89932021-18FC-490C-8675-73F2AD1DEB2A}.Release_Cuda|Any CPU.Build.0 = Release_Cuda|Any CPU + {89932021-18FC-490C-8675-73F2AD1DEB2A}.Release_Cuda|x64.ActiveCfg = Release_Cuda|x64 + {89932021-18FC-490C-8675-73F2AD1DEB2A}.Release_Cuda|x64.Build.0 = Release_Cuda|x64 {89932021-18FC-490C-8675-73F2AD1DEB2A}.Release_DirectML|Any CPU.ActiveCfg = Release_DirectML|Any CPU {89932021-18FC-490C-8675-73F2AD1DEB2A}.Release_DirectML|Any CPU.Build.0 = Release_DirectML|Any CPU + {89932021-18FC-490C-8675-73F2AD1DEB2A}.Release_DirectML|x64.ActiveCfg = Release_DirectML|x64 + {89932021-18FC-490C-8675-73F2AD1DEB2A}.Release_DirectML|x64.Build.0 = Release_DirectML|x64 {89932021-18FC-490C-8675-73F2AD1DEB2A}.Release|Any CPU.ActiveCfg = Release|Any CPU {89932021-18FC-490C-8675-73F2AD1DEB2A}.Release|Any CPU.Build.0 = Release|Any CPU + {89932021-18FC-490C-8675-73F2AD1DEB2A}.Release|x64.ActiveCfg = Release|x64 + {89932021-18FC-490C-8675-73F2AD1DEB2A}.Release|x64.Build.0 = Release|x64 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE From b49e3b1af0dfd7f07d15d12135c33389599aaecd Mon Sep 17 00:00:00 2001 From: kunal-vaishnavi <115581922+kunal-vaishnavi@users.noreply.github.com> Date: Tue, 10 Sep 2024 16:22:52 -0700 Subject: [PATCH 04/67] Add re-designed support for Phi-3 vision and Phi-3.5 vision (#882) ### Description This PR supports the re-designed export of Phi-3 vision and Phi-3.5 vision. The new design natively supports multi-image and the `select` logic inside the ONNX models. ### Motivation and Context With the re-designed export, some of the logic inside ONNX Runtime GenAI is no longer needed as it is now inside the ONNX model. This allows other models to more easily re-use the vision and embedding components within ONNX Runtime GenAI. --- examples/python/phi3v.py | 4 +- src/config.cpp | 10 +- src/config.h | 6 +- src/models/image_features.cpp | 69 ++ src/models/image_features.h | 39 + src/models/multi_modal_vision_model.cpp | 185 +--- src/models/multi_modal_vision_model.h | 25 +- src/models/prompt_image_processor.cpp | 2 +- test/test_models/create_dummy_model.py | 130 +++ test/test_models/images/10809054.jpg | Bin 0 -> 1559777 bytes .../vision-preprocessing/dummy.onnx | Bin 578141 -> 0 bytes .../vision-preprocessing/dummy_embedding.onnx | Bin 0 -> 49402 bytes .../vision-preprocessing/dummy_text.onnx | Bin 0 -> 611963 bytes .../vision-preprocessing/dummy_vision.onnx | Bin 0 -> 12536 bytes .../vision-preprocessing/genai_config.json | 140 ++- .../processor_config.json | 2 +- .../special_tokens_map.json | 72 +- .../vision-preprocessing/tokenizer.json | 66 +- .../tokenizer_config.json | 820 +++++++++--------- 19 files changed, 861 insertions(+), 709 deletions(-) create mode 100644 src/models/image_features.cpp create mode 100644 src/models/image_features.h create mode 100644 test/test_models/create_dummy_model.py create mode 100644 test/test_models/images/10809054.jpg delete mode 100644 test/test_models/vision-preprocessing/dummy.onnx create mode 100644 test/test_models/vision-preprocessing/dummy_embedding.onnx create mode 100644 test/test_models/vision-preprocessing/dummy_text.onnx create mode 100644 test/test_models/vision-preprocessing/dummy_vision.onnx diff --git a/examples/python/phi3v.py b/examples/python/phi3v.py index df5dddcfb..fd92dbd93 100644 --- a/examples/python/phi3v.py +++ b/examples/python/phi3v.py @@ -8,7 +8,6 @@ import onnxruntime_genai as og - def _complete(text, state): return (glob.glob(text + "*") + [None])[state] @@ -29,9 +28,10 @@ def run(args: argparse.Namespace): "Image Path (comma separated; leave empty if no image): " ).split(",") ] + image_paths = [image_path for image_path in image_paths if len(image_path)] print(image_paths) - image = None + images = None prompt = "<|user|>\n" if len(image_paths) == 0: print("No image provided") diff --git a/src/config.cpp b/src/config.cpp index 00708faae..ec426e5ce 100644 --- a/src/config.cpp +++ b/src/config.cpp @@ -137,10 +137,6 @@ struct Inputs_Element : JSON::Element { v_.position_ids = value; } else if (name == "attention_mask") { v_.attention_mask = value; - } else if (name == "seqlens_k") { - v_.seqlens_k = value; - } else if (name == "total_seq_len") { - v_.total_sequence_length = value; } else if (name == "past_key_names") { v_.past_key_names = value; } else if (name == "past_value_names") { @@ -248,8 +244,8 @@ struct VisionOutputs_Element : JSON::Element { explicit VisionOutputs_Element(Config::Model::Vision::Outputs& v) : v_{v} {} void OnString(std::string_view name, std::string_view value) override { - if (name == "visual_features") { - v_.visual_features = value; + if (name == "image_features") { + v_.image_features = value; } else throw JSON::unknown_value_error{}; } @@ -312,6 +308,8 @@ struct EmbeddingInputs_Element : JSON::Element { void OnString(std::string_view name, std::string_view value) override { if (name == "input_ids") { v_.input_ids = value; + } else if (name == "image_features") { + v_.image_features = value; } else throw JSON::unknown_value_error{}; } diff --git a/src/config.h b/src/config.h index 7263dbda3..f511c0885 100644 --- a/src/config.h +++ b/src/config.h @@ -12,6 +12,7 @@ struct Config { static constexpr std::string_view InputIdsName = "input_ids"; static constexpr std::string_view PixelValuesName = "pixel_values"; static constexpr std::string_view ImageSizesName = "image_sizes"; + static constexpr std::string_view ImageFeaturesName = "image_features"; }; fs::path config_path; // Path of the config directory @@ -62,6 +63,7 @@ struct Config { struct Inputs { std::string input_ids{Defaults::InputIdsName}; + std::string image_features{Defaults::ImageFeaturesName}; } inputs; struct Outputs { @@ -78,7 +80,7 @@ struct Config { } inputs; struct Outputs { - std::string visual_features{"visual_features"}; + std::string image_features{Defaults::ImageFeaturesName}; } outputs; } vision; @@ -97,8 +99,6 @@ struct Config { std::string embeddings{"inputs_embeds"}; std::string position_ids{"position_ids"}; std::string attention_mask{"attention_mask"}; - std::string seqlens_k{"seqlens_k"}; - std::string total_sequence_length{"total_seq_len"}; std::string past_key_names{"past_key_values.%d.key"}, past_value_names{"past_key_values.%d.value"}; std::string past_names; // When key/value pairs are combined std::string cross_past_key_names, cross_past_value_names; diff --git a/src/models/image_features.cpp b/src/models/image_features.cpp new file mode 100644 index 000000000..b5693a10a --- /dev/null +++ b/src/models/image_features.cpp @@ -0,0 +1,69 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +#include "../generators.h" +#include "model.h" +#include "image_features.h" + +namespace Generators { + +ImageFeatures::ImageFeatures(const Model& model, State& state, ImageFeatures::Mode mode, const std::string& name, int64_t num_image_tokens) + : model_{model}, + state_{state}, + shape_{num_image_tokens, state_.params_->hidden_size}, + type_{mode == ImageFeatures::Mode::Input + ? model_.session_info_->GetInputDataType(name) + : model_.session_info_->GetOutputDataType(name)}, + mode_{mode}, + name_{name} { + // There are four cases for ImageFeatures: + // 1) Created as an output for vision model (num_image_tokens > 0) + // The tensor needs to be pre-allocated to store the output. + // It will be transferred to an input for the embedding model. + // 2) Created as an output for vision model (num_image_tokens = 0) + // The tensor will be pre-allocated to store the empty output. + // It will be transferred to an input for the embedding model. + // 3) Created as an input for embedding model (num_image_tokens > 0) + // The tensor does not need to be pre-allocated because it will be created during (1). + // 4) Created as an input for embedding model (num_image_tokens = 0) + // The tensor does not need to be pre-allocated because it will be created during (2). + if (mode == ImageFeatures::Mode::Output) { + image_features_ = OrtValue::CreateTensor(*model_.allocator_device_, shape_, type_); + } +} + +void ImageFeatures::Add() { + if (mode_ == ImageFeatures::Mode::Input) { + // In case the image_features are an input to a model, they are added + // as a nullptr to reserve a slot in the inputs. The image_features + // input will be overwritten when ReuseImageFeaturesBuffer is invoked. + index_ = state_.inputs_.size(); + state_.inputs_.push_back(nullptr); + state_.input_names_.push_back(name_.c_str()); + } else { + index_ = state_.outputs_.size(); + state_.outputs_.push_back(image_features_.get()); + state_.output_names_.push_back(name_.c_str()); + } +} + +void ImageFeatures::Update() { + // Initialize empty image_features tensor for after-prompt input scenarios + // num_image_tokens will be 0 when no image is provided + if (shape_[0] > 0) { // if num_image_tokens > 0 + shape_[0] = 0; + image_features_ = OrtValue::CreateTensor(*model_.allocator_device_, shape_, type_); + state_.inputs_[index_] = image_features_.get(); + } +} + +void ImageFeatures::ReuseImageFeaturesBuffer(ImageFeatures& other) { + if (mode_ == ImageFeatures::Mode::Output || other.mode_ == ImageFeatures::Mode::Input) { + throw std::runtime_error("Incorrect usage of the ImageFeatures inputs and outputs."); + } + + // Share the output ImageFeatures OrtValue* from other with the input ImageFeatures for this. + image_features_ = std::move(other.image_features_); + state_.inputs_[index_] = other.state_.outputs_[other.index_]; +} + +} // namespace Generators diff --git a/src/models/image_features.h b/src/models/image_features.h new file mode 100644 index 000000000..f75d8dfc0 --- /dev/null +++ b/src/models/image_features.h @@ -0,0 +1,39 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +#pragma once + +namespace Generators { + +struct ImageFeatures { + enum struct Mode { + Input = 0, + Output + }; + + ImageFeatures(const Model& model, State& state, ImageFeatures::Mode mode, const std::string& name, int64_t num_image_tokens); + ImageFeatures(const ImageFeatures&) = delete; + ImageFeatures& operator=(const ImageFeatures&) = delete; + + void Add(); + void Update(); + void ReuseImageFeaturesBuffer(ImageFeatures& other); + + auto& GetShape() const { return shape_; } + OrtValue* Get() { return image_features_.get(); } + + private: + const Model& model_; + State& state_; + + std::array shape_{}; // [num_image_tokens, hidden_size] + ONNXTensorElementDataType type_; + + const Mode mode_{}; + const std::string name_; + + std::unique_ptr image_features_; + size_t index_{~0U}; +}; + +} // namespace Generators diff --git a/src/models/multi_modal_vision_model.cpp b/src/models/multi_modal_vision_model.cpp index ecfc01e6d..ddd5f2618 100644 --- a/src/models/multi_modal_vision_model.cpp +++ b/src/models/multi_modal_vision_model.cpp @@ -12,90 +12,16 @@ RoamingArray MakeDummy() { return RoamingArray(); } -#pragma warning(push) -#pragma warning(disable : 4189) // local variable is initialized but not referenced - -void Select(const Model& model, std::span input_ids, OrtValue* hidden_states, - OrtValue* visual_features, int32_t num_img_tokens, int32_t hidden_size, DeviceType device_type, - cudaStream_t cuda_stream) { - // Assme batch_size = 1 - constexpr int32_t min_input_id = -1000000000; - constexpr int64_t expected_batch_size = 1; - - // Find the position in the input_ids that corresponds to the start of the image tokens. - // Image tokens are represented by negative values in the input_ids. - const int64_t sequence_length = input_ids.size(); - int32_t image_position_start{}; - for (int64_t idx = 0; idx < sequence_length; ++idx) { - if (input_ids[idx] < 0 && input_ids[idx] > min_input_id) { - image_position_start = static_cast(idx); - break; - } - } - - // Replace the positions in the hidden_states tensor that correspond to the image tokens - // with the visual features tensor. - const int32_t start_pos = image_position_start * hidden_size; - const int32_t element_count = num_img_tokens * hidden_size; - const int32_t hidden_states_element_count = static_cast(sequence_length) * hidden_size; - - switch (device_type) { - case DeviceType::CPU: { - auto target = cpu_span(hidden_states->GetTensorMutableData(), hidden_states_element_count) - .subspan(start_pos, element_count); - auto source = cpu_span(visual_features->GetTensorMutableData(), element_count); - std::copy(source.begin(), source.end(), target.begin()); - break; - } -#if USE_CUDA - case DeviceType::CUDA: { - auto target = gpu_span(hidden_states->GetTensorMutableData(), hidden_states_element_count) - .subspan(start_pos, element_count); - auto source = gpu_span(visual_features->GetTensorMutableData(), element_count); - CudaCheck() == cudaMemcpyAsync(target.data(), source.data(), source.size_bytes(), - cudaMemcpyDeviceToDevice, cuda_stream); - break; - } -#endif - -#if USE_DML - case DeviceType::DML: { - ComPtr source_resource; - Ort::ThrowOnError(model.GetOrtDmlApi()->GetD3D12ResourceFromAllocation(model.allocator_device_, visual_features->GetTensorMutableRawData(), &source_resource)); - - ComPtr target_resource; - Ort::ThrowOnError(model.GetOrtDmlApi()->GetD3D12ResourceFromAllocation(model.allocator_device_, hidden_states->GetTensorMutableRawData(), &target_resource)); - - model.GetDmlExecutionContext()->CopyBufferRegion( - target_resource.Get(), - start_pos * sizeof(uint16_t), - D3D12_RESOURCE_STATE_UNORDERED_ACCESS, - source_resource.Get(), - 0, - D3D12_RESOURCE_STATE_UNORDERED_ACCESS, - element_count * sizeof(uint16_t)); - - // Execute the cached command list - ComPtr fence; - uint64_t completion_value; - model.GetDmlExecutionContext()->ExecuteCommandList(nullptr, &fence, &completion_value); - break; - } -#endif - default: - throw std::runtime_error("Unsupported device type for Select."); - } -} - -#pragma warning(pop) - int64_t GetNumImageTokens(const std::vector& extra_inputs, + const std::string& pixel_values_name, const std::string& image_sizes_name) { + std::shared_ptr pixel_values; std::shared_ptr image_sizes; for (size_t i = 0; i < extra_inputs.size(); ++i) { - if (extra_inputs[i].name == image_sizes_name) { + if (extra_inputs[i].name == pixel_values_name) { + pixel_values = extra_inputs[i].tensor; + } else if (extra_inputs[i].name == image_sizes_name) { image_sizes = extra_inputs[i].tensor; - break; } } @@ -104,41 +30,26 @@ int64_t GetNumImageTokens(const std::vector& extra_input return 0; } - if (image_sizes->ort_tensor_->GetTensorTypeAndShapeInfo()->GetShape() != std::vector{1, 2}) { - throw std::runtime_error("image_sizes tensor must have 2 elements"); + auto image_sizes_shape = image_sizes->ort_tensor_->GetTensorTypeAndShapeInfo()->GetShape(); + auto num_images = pixel_values->ort_tensor_->GetTensorTypeAndShapeInfo()->GetShape()[0]; + if (image_sizes_shape != std::vector{num_images, 2}) { + std::string wrong_image_sizes_shape = "("; + for (int i = 0; i < image_sizes_shape.size(); i++) { + wrong_image_sizes_shape += std::to_string(image_sizes_shape[i]); + std::string eos = (i != image_sizes_shape.size() - 1) ? ", " : ")"; + wrong_image_sizes_shape += eos; + } + throw std::runtime_error("image_sizes tensor must be of shape (num_images, 2), got " + wrong_image_sizes_shape); } auto image_sizes_data = image_sizes->ort_tensor_->GetTensorMutableData(); - const int64_t h = image_sizes_data[0] / 336; - const int64_t w = image_sizes_data[1] / 336; - return ((h * w + 1) * 144) + 1 + ((h + 1) * 12); -} - -std::unique_ptr GetVisualFeatures(OrtAllocator& device_allocator, const SessionInfo& session_info, - const std::string& visual_features_name, int32_t hidden_size, - int64_t num_image_tokens) { - constexpr int32_t batch_size = 1; - if (!session_info.HasOutput(visual_features_name)) { - throw std::runtime_error("Visual features output not found in the model"); - } - - auto type = session_info.GetOutputDataType(visual_features_name); - - std::vector shape = {batch_size, num_image_tokens, hidden_size}; - std::unique_ptr visual_features; - - switch (type) { - case ONNX_TENSOR_ELEMENT_DATA_TYPE_FLOAT: - visual_features = OrtValue::CreateTensor(device_allocator, shape); - break; - case ONNX_TENSOR_ELEMENT_DATA_TYPE_FLOAT16: - visual_features = OrtValue::CreateTensor(device_allocator, shape); - break; - default: - throw std::runtime_error("Unsupported data type for visual features: " + std::to_string(type)); + int64_t num_image_tokens = 0; + for (int i = 0; i < num_images; i++) { + int64_t h = image_sizes_data[i * num_images] / 336; + int64_t w = image_sizes_data[i * num_images + 1] / 336; + num_image_tokens += ((h * w + 1) * 144) + 1 + ((h + 1) * 12); } - - return visual_features; + return num_image_tokens; } } // namespace @@ -165,16 +76,19 @@ std::unique_ptr MultiModalVisionModel::CreateState(RoamingArray return std::make_unique(*this, sequence_lengths, params); } -EmbeddingState::EmbeddingState(const MultiModalVisionModel& model, const GeneratorParams& params, const CapturedGraphInfo* captured_graph_info) +EmbeddingState::EmbeddingState(const MultiModalVisionModel& model, const GeneratorParams& params, const CapturedGraphInfo* captured_graph_info, const int64_t num_image_tokens) : State{params, model}, model_{model}, - captured_graph_info_{captured_graph_info} { + captured_graph_info_{captured_graph_info}, + num_image_tokens_{num_image_tokens} { input_ids_.Add(); + image_features_.Add(); inputs_embeds_.Add(); } void EmbeddingState::UpdateInputsAndOutputs(RoamingArray next_tokens) { input_ids_.Update(next_tokens); + image_features_.Update(); inputs_embeds_.UpdateSequenceLength(); } @@ -185,22 +99,17 @@ RoamingArray EmbeddingState::Run(int current_length, RoamingArray(GetNumImageTokens(params_->extra_inputs, model_.config_->model.vision.inputs.image_sizes)); - if (num_image_tokens_ > 0) { - visual_features_ = GetVisualFeatures(*model_.allocator_device_, *model_.session_info_, - model_.config_->model.vision.outputs.visual_features, - params_->hidden_size, num_image_tokens_); - output_names_.push_back(model_.config_->model.vision.outputs.visual_features.c_str()); - outputs_.push_back(visual_features_.get()); - } + image_features_.Add(); } RoamingArray VisionState::Run(int current_length, RoamingArray next_tokens, RoamingArray next_indices) { - State::Run(*model_.vision_session_, *model_.run_options_, 1); + const int num_images = static_cast(inputs_[0]->GetTensorTypeAndShapeInfo()->GetShape()[0]); + State::Run(*model_.vision_session_, *model_.run_options_, num_images); return MakeDummy(); } @@ -233,33 +142,29 @@ MultiModalPipelineState::MultiModalPipelineState(const MultiModalVisionModel& mo const GeneratorParams& params) : State{params, model}, model_{model}, - captured_graph_info_{model.GetCapturedGraphPool()->ReserveCapturedGraph(model, params)}, - embedding_state_{std::make_unique(model, params, captured_graph_info_.get())}, - vision_state_{std::make_unique(model_, params)}, - decoder_state_{std::make_unique(model_, sequence_lengths_unk, params, captured_graph_info_.get())} { + num_image_tokens_{GetNumImageTokens(params_->extra_inputs, model_.config_->model.vision.inputs.pixel_values, model_.config_->model.vision.inputs.image_sizes)}, + captured_graph_info_{model.GetCapturedGraphPool()->ReserveCapturedGraph(model, params)} { + embedding_state_ = std::make_unique(model, params, captured_graph_info_.get(), num_image_tokens_); + vision_state_ = std::make_unique(model_, params, num_image_tokens_); + decoder_state_ = std::make_unique(model_, sequence_lengths_unk, params, captured_graph_info_.get()); } RoamingArray MultiModalPipelineState::Run(int current_length, RoamingArray next_tokens, RoamingArray next_indices) { // Pipeline state defines the pipeline of the execution of the models // Prompt stage: - // - input_ids -> |embeddings_model| -> |inputs_embeds| - // - pixel_values, img_sizes -> |vision_model| -> |inputs_embeds| - // - inputs_embeds, visual_features -> |Select| -> |inputs_embeds| - // - inputs_embeds -> |decoder_model| -> |logits| + // - pixel_values, image_sizes -> |vision_model| -> image_features + // - input_ids, image_features -> |embeddings_model| -> inputs_embeds + // - inputs_embeds -> |decoder_model| -> logits // Generation stage: - // - input_ids -> |embeddings_model| -> |inputs_embeds| - // - inputs_embeds -> |decoder_model| -> |logits| + // - input_ids, image_features -> |embeddings_model| -> inputs_embeds + // - inputs_embeds -> |decoder_model| -> logits if (is_prompt_) { - embedding_state_->Run(current_length, next_tokens, next_indices); - if (vision_state_->num_image_tokens_ > 0) { + if (num_image_tokens_ > 0) { vision_state_->Run(current_length, next_tokens, next_indices); - - // Run the select logic - Select(model_, params_->input_ids, embedding_state_->inputs_embeds_.Get(), - vision_state_->visual_features_.get(), vision_state_->num_image_tokens_, - params_->hidden_size, params_->device_type, params_->cuda_stream); } + embedding_state_->image_features_.ReuseImageFeaturesBuffer(vision_state_->image_features_); + embedding_state_->Run(current_length, next_tokens, next_indices); decoder_state_->inputs_embeds_.ReuseEmbeddingsBuffer(embedding_state_->inputs_embeds_); auto logits = decoder_state_->Run(current_length, next_tokens, next_indices); diff --git a/src/models/multi_modal_vision_model.h b/src/models/multi_modal_vision_model.h index 9b3e62646..34111c8b3 100644 --- a/src/models/multi_modal_vision_model.h +++ b/src/models/multi_modal_vision_model.h @@ -4,6 +4,7 @@ #pragma once #include "model.h" #include "input_ids.h" +#include "image_features.h" #include "embeddings.h" #include "extra_inputs.h" #include "logits.h" @@ -20,13 +21,13 @@ struct MultiModalVisionModel : Model { std::unique_ptr CreateState(RoamingArray sequence_lengths, const GeneratorParams& params) const override; - std::unique_ptr embedding_session_; // input_ids -> inputs_embeds - std::unique_ptr vision_session_; // pixel_values, img_sizes -> visual_features + std::unique_ptr vision_session_; // pixel_values, image_sizes -> image_features + std::unique_ptr embedding_session_; // input_ids, image_features -> inputs_embeds std::unique_ptr decoder_session_; // inputs_embeds, attention_mask, kv_cache -> logits }; struct EmbeddingState : State { - EmbeddingState(const MultiModalVisionModel& model, const GeneratorParams& params, const CapturedGraphInfo* captured_graph_info); + EmbeddingState(const MultiModalVisionModel& model, const GeneratorParams& params, const CapturedGraphInfo* captured_graph_info, const int64_t num_image_tokens); EmbeddingState(const EmbeddingState&) = delete; EmbeddingState& operator=(const EmbeddingState&) = delete; @@ -42,13 +43,18 @@ struct EmbeddingState : State { const MultiModalVisionModel& model_; const CapturedGraphInfo* captured_graph_info_; - InputIDs input_ids_{model_, *this}; // Model input + int64_t num_image_tokens_; + + InputIDs input_ids_{model_, *this}; // Model input + ImageFeatures image_features_{model_, *this, ImageFeatures::Mode::Input, // Optional model input + model_.config_->model.embedding.inputs.image_features, + num_image_tokens_}; Embeddings inputs_embeds_{model_, *this, Embeddings::Mode::Output, // Model output model_.config_->model.embedding.outputs.embeddings}; }; struct VisionState : State { - VisionState(const MultiModalVisionModel& model, const GeneratorParams& params); + VisionState(const MultiModalVisionModel& model, const GeneratorParams& params, const int64_t num_image_tokens); VisionState(const VisionState&) = delete; VisionState& operator=(const VisionState&) = delete; @@ -59,9 +65,11 @@ struct VisionState : State { friend struct MultiModalPipelineState; const MultiModalVisionModel& model_; - ExtraInputs extra_inputs_{model_, *this}; // Model inputs - std::unique_ptr visual_features_; // Model output - int32_t num_image_tokens_{}; + int64_t num_image_tokens_; + ExtraInputs extra_inputs_{model_, *this}; // Model inputs + ImageFeatures image_features_{model_, *this, ImageFeatures::Mode::Output, // Model output + model_.config_->model.vision.outputs.image_features, + num_image_tokens_}; }; struct DecoderState : State { @@ -103,6 +111,7 @@ struct MultiModalPipelineState : State { int current_length); const MultiModalVisionModel& model_; + int64_t num_image_tokens_{0}; const CapturedGraphInfoPtr captured_graph_info_; std::unique_ptr embedding_state_; std::unique_ptr vision_state_; diff --git a/src/models/prompt_image_processor.cpp b/src/models/prompt_image_processor.cpp index 8b791af1e..a56a66362 100644 --- a/src/models/prompt_image_processor.cpp +++ b/src/models/prompt_image_processor.cpp @@ -15,7 +15,7 @@ std::unique_ptr ProcessImagePrompt(const Generators::Tokenizer& tokeni const size_t num_images = num_img_tokens ? num_img_tokens->NumberOfElement() : 0U; auto* num_img_tokens_data = num_img_tokens ? num_img_tokens->Data() : nullptr; - // Split the prompt string based on the occurrences of the pattern "<|image_|>" + // Split the prompt string based on the occurrences of the pattern "<|image_|>" // Here the represents the image id. const std::regex pattern("<\\|image_\\d+\\|>"); const std::vector prompt_chunks( diff --git a/test/test_models/create_dummy_model.py b/test/test_models/create_dummy_model.py new file mode 100644 index 000000000..117354115 --- /dev/null +++ b/test/test_models/create_dummy_model.py @@ -0,0 +1,130 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- +""" +Create dummy ONNX models that contain only inputs and outputs. +This is helpful for creating ONNX models to run simple API tests (e.g. pre-processing) +where the contents of the ONNX models don't matter. + +Example usage: +1) python3 create_dummy_model.py \ + --inputs "pixel_values; TensorProto.FLOAT16; ['num_images', 'max_num_crops', 3, 'height', 'width']" "image_sizes; TensorProto.INT64; ['num_images', 2]" \ + --outputs "image_features; TensorProto.FLOAT16; ['num_image_tokens', 3072]" \ + --filename "dummy_vision.onnx" +2) python3 create_dummy_model.py \ + --inputs "input_ids; TensorProto.INT64; ['batch_size', 'sequence_length']" "image_features; TensorProto.FLOAT16; ['num_image_tokens', 3072]" \ + --outputs "inputs_embeds; TensorProto.FLOAT; ['batch_size', 'sequence_length', 3072]" \ + --filename "dummy_embedding.onnx" +3) python3 create_dummy_model.py \ + --inputs "inputs_embeds; TensorProto.FLOAT; ['batch_size', 'sequence_length', 3072]" "attention_mask; TensorProto.INT64; ['batch_size', 'total_sequence_length']" "past_key_values.0.key; TensorProto.FLOAT; ['batch_size', 32, 'past_sequence_length', 96]" "past_key_values.0.value; TensorProto.FLOAT; ['batch_size', 32, 'past_sequence_length', 96]" \ + --outputs "logits; TensorProto.FLOAT; ['batch_size', 'sequence_length', 32064]" "present.0.key; TensorProto.FLOAT; ['batch_size', 32, 'total_sequence_length', 96]" "present.0.value; TensorProto.FLOAT; ['batch_size', 32, 'total_sequence_length', 96]" \ + --filename "dummy_text.onnx" +""" + +import argparse +import numpy as np +import onnx +from onnx import helper, numpy_helper, TensorProto + +def get_args(): + parser = argparse.ArgumentParser() + parser.add_argument( + "-i", + "--inputs", + metavar="(NAME; DTYPE; SHAPE)", + nargs='+', + help="Inputs of the form '(input_name; input_dtype; input_shape)' for model" + ) + parser.add_argument( + "-o", + "--outputs", + metavar="(NAME; DTYPE; SHAPE)", + nargs='+', + help="Outputs of the form '(output_name; output_dtype; output_shape)' for model" + ) + parser.add_argument( + "-f", + "--filename", + type=str, + help="Filename to save dummy model as", + ) + + args = parser.parse_args() + return args + +def parse_args(input_or_output): + list_of_inputs_or_outputs = [] + for input_str in input_or_output: + input_or_output_to_add = input_str.split("; ") + input_or_output_to_add = [elm.strip() for elm in input_or_output_to_add] + list_of_inputs_or_outputs.append(input_or_output_to_add) + return list_of_inputs_or_outputs + +def get_input_or_output_value_infos(input_or_outputs): + value_infos = [] + for input_or_output in input_or_outputs: + print(input_or_output) + name, dtype, shape = input_or_output[0], eval(input_or_output[1]), eval(input_or_output[2]) + value_info = helper.make_tensor_value_info(name, dtype, shape) + value_infos.append(value_info) + return value_infos + +def get_dummy_tensor_shape(shape): + np_shape = () + for dim in shape: + if type(dim) == str: + np_shape += (2,) + elif type(dim) == int: + np_shape += (dim,) + else: + raise NotImplementedError(f"Unknown dim type: {type(dim)}") + return np_shape + +def get_output_initializers(outputs): + initializers = [] + for output in outputs: + name, dtype, shape = output[0], eval(output[1]), eval(output[2]) + np_shape = get_dummy_tensor_shape(shape) + np_dtype = to_numpy_dtype[dtype] + tensor = numpy_helper.from_array(np.zeros(np_shape, dtype=np_dtype)) + tensor.name = name + initializers.append(tensor) + return initializers + +def main(): + args = get_args() + args.inputs = parse_args(args.inputs) + args.outputs = parse_args(args.outputs) + + # Create dummy model + model = helper.make_model( + opset_imports=[helper.make_operatorsetid('', 14)], + ir_version=7, + producer_name="onnxruntime-genai", + producer_version="0.0.0", + graph=helper.make_graph( + name="main_graph", + inputs=get_input_or_output_value_infos(args.inputs), + outputs=get_input_or_output_value_infos(args.outputs), + initializer=get_output_initializers(args.outputs), + value_info=[], + nodes=[], + ) + ) + onnx.save_model( + model, + args.filename, + ) + +if __name__ == "__main__": + # Map TensorProto dtypes to NumPy dtypes + to_numpy_dtype = { + TensorProto.INT8: np.uint8, + TensorProto.INT32: np.int32, + TensorProto.INT64: np.int64, + TensorProto.FLOAT16: np.float16, + TensorProto.FLOAT: np.float32, + } + main() diff --git a/test/test_models/images/10809054.jpg b/test/test_models/images/10809054.jpg new file mode 100644 index 0000000000000000000000000000000000000000..117ca64be9fcc2994aa5b3709e090c6992a56855 GIT binary patch literal 1559777 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