In the TensorRT-Developer-Guide.pdf ,it claimed that DLA supports Deconvolution layer.
But when we implement our cnn with DLAcore enabled,it warns us “Internal DLA error for Deconvolution layer”,and then falling back to GPU.
We did the following simple test to detail this problem.
With a cnn net deconvolution_dla_test.prototxt:
input: "data"
input_shape {
dim: 1
dim: 3
dim: 368
dim: 640
}
layer {
name: "264"
type: "Deconvolution"
bottom: "data"
top: "264"
convolution_param {
num_output: 12
bias_term: true
group: 1
pad_h: 2
pad_w: 2
kernel_h: 3
kernel_w: 3
stride_h: 2
stride_w: 2
}
}
And benchmark tool command:
./trtexec --avgRuns=100 --deploy=deconvolution_dla_test.prototxt --fp16 --batch=1 --iterations=10 --output=264 --useDLACore=0 --useSpinWait
We got:
avgRuns: 100
deploy: deconvolution_dla_test_prototxt
fp16
batch: 1
iterations: 10
output: 264
useDLACore: 0
useSpinWait
Input "data": 3x368x640
Output "264": 6x735x1279
Internal DLA error for layer 264. Use allowGPUFallback() to enable GPU fallback.
name=data, bindingIndex=0, buffers.size()=2
name=264, bindingIndex=1, buffers.size()=2
Our tensorrt verison:
tensorrt 5.0.3.2-1+cuda10.0 arm64 Meta package of TensorRT
Our question is 1.what’s could be wrong and 2.what should we do to enable DLA Deconvolution layer?
Yours sincerely