Comments (7)
Hi, maybe v1.2.1 time statistics contains wam up time, we will run some times before real inference. and v1.3.0 may not contains warmup time, only contains real inference time.
If you don't want to use warm up, you can set parameter -w to 0.
from bolt.
Thank you for your answer. The warmup option was the answer to question 1.
Meanwhile, can I get an answer or hint for question 2? It's an error that is blocking my progress.
from bolt.
Thank you for your answer. The warmup option was the answer to question 1. Meanwhile, can I get an answer or hint for question 2? It's an error that is blocking my progress.
can you show me your command and all log?
from bolt.
All logs and related necessary information are summarized in the following link:
https://sweetsour.notion.site/Bolt-9eea4d1a73694203a64b26f21b4e8cb6
I've been debugging this issue a bit more and I'm guessing it's a MemoryReuseOptimizer related issue. https://github.com/huawei-noah/bolt/blob/master/model_tools/include/OPOptimizers/MemoryReuseOptimizer.hpp
According to the log of X2bolt, it was confirmed that the reuse_position of the data to be reused was overridden by other data.
from bolt.
- this is caused by bolt's onnx model converter, https://github.com/huawei-noah/bolt/blob/master/model_tools/src/onnx/onnx_adaptee.h, we map C = A * B to Scale operator, we assume that Scale operator's weight is tensor B, so if tensor A is weight, there will be an error. can not find an valid input tensor.
xxx OT_Scale | -> output
So maybe you can swap your mul order C = weight * input => C = input * weight
- Scale operator's performance is better than Eltwise in bolt, because there is a redundant code to process Eltwise’s bcast mode. From firgure we can see that in v1.3 version, more operators is mapped to Eltwise, maybe we can fix it in bolt's onnx model converter or bolt's tensor_computing or inference engine module(switch some Eltwise to Scale computation). https://github.com/huawei-noah/bolt/blob/master/inference/engine/include/cpu/eltwise_cpu.hpp
from bolt.
Sorry, I am a little late to reply, maybe you can joint Bolt's QQ group 833345709 or contact my wechat cos_wave.
from bolt.
- this is caused by bolt's onnx model converter, https://github.com/huawei-noah/bolt/blob/master/model_tools/src/onnx/onnx_adaptee.h, we map C = A * B to Scale operator, we assume that Scale operator's weight is tensor B, so if tensor A is weight, there will be an error. can not find an valid input tensor.
xxx OT_Scale | -> outputSo maybe you can swap your mul order C = weight * input => C = input * weight
- Scale operator's performance is better than Eltwise in bolt, because there is a redundant code to process Eltwise’s bcast mode. From firgure we can see that in v1.3 version, more operators is mapped to Eltwise, maybe we can fix it in bolt's onnx model converter or bolt's tensor_computing or inference engine module(switch some Eltwise to Scale computation). https://github.com/huawei-noah/bolt/blob/master/inference/engine/include/cpu/eltwise_cpu.hpp
Thanks, this solved the problem.
I never expected the order of operands to be an issue.
Again, thanks for providing a useful library :)
from bolt.
Related Issues (20)
- Elewise算子耗时较大 HOT 2
- android平台编译失败 HOT 6
- 如何设置运行时浮点精度为fp16 HOT 4
- 展开OCL kernel中的标量dot操作可以获得更高的GFLOPs HOT 2
- arm cpu dilated conv遇到nchw类型的输入会出错
- 是否支持BGEMM? HOT 3
- TinyBert模型经过post_training_quantization进行INT8量化后,在Linux_X86-64平台推理报错 HOT 4
- x86_64编译报错 HOT 5
- I have a problem. Does bolt quantization support x86? HOT 2
- x2bolt转化工具报错 HOT 3
- 请问bolt有1.3.1的发布计划吗? HOT 2
- BNN 只支持conv算子么? HOT 1
- binary conv arm中input bit-packing像素顺序问题 HOT 6
- Kotlin MultiPlatform Library HOT 1
- 声音克隆的demo可以参考一下吗? HOT 1
- Unable to compile jpeg on Windows HOT 1
- 请问支持mips架构的板子吗 HOT 1
- Can't convert model to int8 precision with post_training_quantization HOT 3
- C API ducument don't exsit
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from bolt.