Comments (16)
Hi xiaoyu1004,
thank you for your question. Could you please provide us with your input/output tensor sizes if the convolution you're running?
Thanks,
Eleanor
from ethos-n-driver-stack.
The pad and convolution in the picture are fused during grath optimization, and NPU does not support it. The input size of pad is 1 x 320 x 320 x 32.
from ethos-n-driver-stack.
Hi xiaoyu1004,
Looking at the input, kernel sizes and striding you provided it seems that some of the padding will not be used. The driver stack checks for that so that might be the reason why the convolution comes out as unsupported together with the padding.
The solution might be to remove the padding on the right and bottom.
Let us know if that helps,
Eleanor
from ethos-n-driver-stack.
Hi xiaoyu1004,
Looking at the input, kernel sizes and striding you provided it seems that some of the padding will not be used. The driver stack checks for that so that might be the reason why the convolution comes out as unsupported together with the padding.
The solution might be to remove the padding on the right and bottom.
Let us know if that helps, Eleanor
Shouldn't you remove the left and top pad? tensorflow's SAME pattern is on the right and bottom. We don't know how armnn works, right
from ethos-n-driver-stack.
Either way should work. We think that the issue is caused by a check that only checks whether all the padding is used considering tensor sizes. Removing padding from top and left to avoid superfluous padding should work too.
from ethos-n-driver-stack.
xiaoyu1004 Are you happy with the answer?
from ethos-n-driver-stack.
Why do the operators in the figure above have different results on Arm CPU and NPU?
from ethos-n-driver-stack.
Hi xiaoyu1004,
Thank you for sending the image. Could you please elaborate on your question a bit? Where do you see the difference between CPU and NPU?
from ethos-n-driver-stack.
Hi xiaoyu1004,
Thank you for sending the image. Could you please elaborate on your question a bit? Where do you see the difference between CPU and NPU?
I calculated the Euclidean distance between the CPU and the NPU result and found that the convolution of the same pattern was different.
from ethos-n-driver-stack.
Hi xiaoyu1004,
Could you please also share how you're getting these results? Are you using SPA, or running on an FPGA?
Thank you
from ethos-n-driver-stack.
Hi xiaoyu1004,
Could you please also share how you're getting these results? Are you using SPA, or running on an FPGA?
Thank you
I am comparing the last output of the network on CPU and NPU,After debugging the latest results, we found that it is not because of the convolution SAME mode, but because of the error in the calculation of the resize bilinear interpolation. The RESIZE nearest neighbor interpolation has no problem, while the bilinear interpolation NPU calculation has problems. The test network structure is as follows:
from ethos-n-driver-stack.
Hi xiaoyu1004,
We suspect this is a bug in the current version of the software and planned to get this fixed in the 22.08 release.
from ethos-n-driver-stack.
Hi xiaoyu1004,
We suspect this is a bug in the current version of the software and planned to get this fixed in the 22.08 release.
Ok, thank you. I want to know when will 22.08 be released?
from ethos-n-driver-stack.
Hello xiaoyu1004,
Please accept an update to my previous message.
RESIZE bilinear with align_corners=false and half_pixel_centers=true is currently only supported with reduced accuracy due to hardware limitations. Resize in other configuration is possible without a loss in accuracy. We are planning to update the documentation to reflect this soon.
Despite this loss of accuracy in the resize layer, is the overall accuracy of your network acceptable?
from ethos-n-driver-stack.
Hello xiaoyu1004,
Please accept an update to my previous message. RESIZE bilinear with align_corners=false and half_pixel_centers=true is currently only supported with reduced accuracy due to hardware limitations. Resize in other configuration is possible without a loss in accuracy. We are planning to update the documentation to reflect this soon.
Despite this loss of accuracy in the resize layer, is the overall accuracy of your network acceptable?
Ok, thank you. I tried other configurations, but the result of resize with reduced accuracy is unacceptable
from ethos-n-driver-stack.
I see that the test network has half_pixel_centers set to true. It should be more accurate if that is turned off. Would that be a possibility for you to try?
from ethos-n-driver-stack.
Related Issues (17)
- [BUG]Unable to build tvm with ethos-n-driver-stack support HOT 2
- Conv2D could not be estimated HOT 2
- Best practise to create a quantized tflite model HOT 1
- An exception occurred using the cache network function HOT 2
- Error message while executing inference with NPU HOT 2
- Ethos-N driver + simulated Ethos-N NPU? HOT 1
- Kernel support HOT 1
- Orange Pi 5B no driver file created after initializing the kernel module HOT 4
- Support for Raspberry or jetson nano ? HOT 1
- Build fails on Centos7/manylinux2014 and Ubuntu:latest HOT 5
- compilation error with scons HOT 5
- Which type of quantization does ARM NPU support? HOT 1
- Support of elementwise mulitiplication HOT 2
- SPA test generates warning "Layer of type is not supported" HOT 5
- Inference result of int8 model on NPU HOT 4
- Execution error of Convolution2d on EthosNAcc mode HOT 7
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 ethos-n-driver-stack.