MATLAB: Internal error in deep neural network quantification

Deep Learning Toolboxdeeplearningdlquantize

my env:
  • win10 x64
  • matlab2020a
  • cuda version:11.0
nvcc –version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2020 NVIDIA Corporation
Built on Wed_May__6_19:10:02_Pacific_Daylight_Time_2020
Cuda compilation tools, release 11.0, V11.0.167
Build cuda_11.0_bu.relgpu_drvr445TC445_37.28358933_0
  • cudnn version:8.0.0
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0\include\cudnn_version.h
#define CUDNN_MAJOR 8
#define CUDNN_MINOR 0
#define CUDNN_PATCHLEVEL 0
#define CUDNN_VERSION (CUDNN_MAJOR * 1000 + CUDNN_MINOR * 100 + CUDNN_PATCHLEVEL)
#endif /* CUDNN_VERSION_H */
repruduce error:
When I use the "dlquantizer" function, the following unexpected error occurs. Why?
dlquantizer(resnet50);
Unable to resolve the name dltargets.cudnn.SupportedLayerImpl.m_sourceFiles.
Error in coder.internal.getSupportedLayerTypes
Error in dlquantization.internal.utils.datavalidators.NetworkValidator/checkUnsupportedLayers
Error in dlquantization.internal.utils.datavalidators.NetworkValidator/validate
Error in dlquantizer (line 95)
netValidator.validate();
check my env:
coder.checkGpuInstall('full')
Compatible GPU : PASSED
CUDA Environment : PASSED
Runtime : PASSED
cuFFT : PASSED
cuSOLVER : PASSED
cuBLAS : PASSED
cuDNN Environment : PASSED (Warning: Deep learning code generation has been tested with cuDNN v7.5. The provided cuDNN library v8.0 may not be fully compatible.)
TensorRT Environment : FAILED (Unable to find the 'NVIDIA_TENSORRT' environment variable. Set 'NVIDIA_TENSORRT' to point to the root directory of a TensorRT installation.)
Profiling Environment : PASSED
Basic Code Generation : FAILED (Test GPU code generation failed with the error 'emlc:compilationError'. View report for further information: View report)
ans =
struct with fields:
gpu: 1
cuda: 1
cudnn: 1
tensorrt: 0
basiccodegen: 0
basiccodeexec: 0
deepcodegen: 0
deepcodeexec: 0
tensorrtdatatype: 0
profiling: 1
Then I open the above wrong report:
Do I have to install the old version of cuda10?

Best Answer

To avoid a ‘coder.internal.getSupportedLayerTypes’ error on creation of a dlquantizer object, install the ‘GPU Coder Interface for Deep Learning Libraries’. https://www.mathworks.com/matlabcentral/fileexchange/68642-gpu-coder-interface-for-deep-learning-libraries
You can verify that the addon is installed and enabled by executing in the MATLAB command window:
addons = matlab.addons.installedAddons