* Add CPU implementation for FastGelu operator
* Update optimization script to fuse Gelu or FastGelu according to Elf or Tanh is used in graph.
* Merge BiasGelu and FastGelu into one class
* Enable FastGelu Fusion optimizer for CPU Execution Provider.
Add opt_level option for graph optimization level in bert perf test.
Support BERT models that output each layer, where SkipLayerNormalization has more than 4 children.
Check weight and bias are 1D for layer norm fusion.
Add a dummy class Gpt2OnnxModel for further changes of GPT2 model.
An ExternOp's input needs buffers, so we cannot add compute_inline
schedule on it even if it's a scalar tensor. Instead, we need to
schedule it as compute_root.
* Rework SVMClassifier
- use GEMM for initial scoring
- minimize data allocations and copies
- parallelize the second half of the scoring for larger batches
1. Fix a bug in FunctionImpl::FunctionImpl. It set wrong name for the new attribute.
2. Set error code to NOT_IMPLEMENTED if a function contains a not implemented op.
Advance ONNX commit to pickup the latest ArgMax, ArgMin,
ReduceMax/ReduceMin, MaxPool
Declare new versions for CPU/CUDA.
Implement infrastructure support for int8/uint8.
Adust GatherOp test for a new error.
Adjust Scan9.BadShape test.
Add exclusions for index out of bounds checks.
Rework result verification for SVDTransformer.
* Add benchmark script and notebook for GPT2
* Update Reshape fusion for GPT2 model
* Add opt_level option for bert_model_optimization to disable onnxruntime by setting --opt_level 0
* Fix keras optimization
1. Support the new fields for Constant in opset 12
2. Support SparseTensor in the Constant node by converting to dense tensor when lifting the Constant to an initializer. Will make a model with a sparse tensor in a Constant work but isn't an overly efficient approach.
* added support for ios crosscompilation under linux
* reverted cmake generator change
* if --ios is added protoc can be compiled for host system
* accidently reverted change to compile protoc for host system for ios if protoc exe is not set
* wdata is now used
* accidentally pasted CMAKE_OSX_ARCHITECTURES into CmakeLists.txt, also made bad merge on build.py previously
* removed print
* fixed typeo, deleted commented statements for earlier debugging
* reverted accidental delete
* added asmmacro.h for aarch64 asm
now MlasSgemmKernel**** gets underscore added if needed
no need anymote to differentiate between iOS arm64 and normal amr64 build
onnxruntime.cmake: added check if iOSCross is set to properly set RPATH
* removed 2 spaces
* fix: logcial error fixed, now protoc gets compiled if not supplied with --path_to_protoc_exe
* removed unecessarily added spaces
* removed some more spaces
Fix 3 bugs:
node names duplicate in calibration augment_graph if the name of node to quantize is empty.
If output nodes are quantized, output value are quantized and not dequantized back
Gather with data type int64 should not be quantized
* Avoid "infinite" loop in optimizer
When symbolic dimensions are present and can be overridden,
FreeDimensionOverrideTransformer always sets modified flag to true. As a
consequence, the optimizer loops until the iteration limit is reached.
1. Copy tensorflow's thread pool class to ORT, so that we can get a better implementation of thread pool based parallelfor
2. Copy Eigen's thread pool class to ORT
3. Support thread affinity
4. Remove RNN kernel’s private thread pool
5. Modify pool kernels to use the thread pool when openmp is disabled.
* skip optional inputs for scan subgraphs
We may have cases where the subgraph has optionial inputs that appear
in both subgraph's input and initializer, but not in the node's input.
In such cases, the input model might be invalid, but let's not choke
on it. Instead, let's issue a warning, skip the optional inputs,
and keep going forward.
* address CR feedback
* Fixed two issues in symbolic_shape_infer script
This change addressed #3293
There were two issues in the script:
* We need to handle a special case for infer_Reshape, where input_shape
is empty and target shape_value is [-1]. In such case, we need to
get sympy data for the output dim (or create one if it doesn't exist).
* We need to update computed dims for newly-created shape for Range op
* also call _update_computed_dims for _infer_Expand
addressed CR feedback
* added ai.onnx into opset list
* instead of manipulating _infer_Reshape, call _update_computed_dims
from _infer_Expand to update newly-computed dims