主要内容

编码器。CuDNNConfig

参数来配置深度学习代码生成CUDA深度神经网络库

描述

编码器。CuDNNConfig对象包含了英伟达®cuDNN的具体参数codegen用于生成CUDA®深度神经网络代码。

使用一个编码器。CuDNNConfig对象,将其分配给DeepLearningConfig财产的coder.gpuConfig对象codegen

创建

的方法创建一个cuDNN配置对象编码器。DeepLearningConfig函数的目标库设置为“cudnn”

属性

全部展开

启用或禁用自动调优功能。启用自动调优允许cuDNN库找到最快的卷积算法。这将提高大型网络的性能,例如SegNetResNet

指定支持层推论计算的精度。金宝app在32位浮点数中执行推断时,使用“fp32”.对于8位整数,使用“int8”.默认值是“fp32”

INT8精度要求CUDA GPU最小计算能力为6.1。不支持6.2的计算能力金宝appINT8精度。使用ComputeCapability财产的GpuConfig对象设置相应的计算能力值。

请注意

在进行推理时INT8使用cuDNN 8.1.0版本的精度,NVIDIA库中的问题可能会导致性能的显著下降。

包含校准数据的mat文件的位置。默认值是.此选项仅适用于以下情况数据类型被设置为“int8”

在对深度卷积神经网络进行量化的过程中,对深度卷积神经网络进行量化校准(深度学习工具箱)函数对网络进行操作,并在网络的卷积和全连接层中收集权重和偏差的动态范围,以及在网络的所有层中激活的动态范围。为量化网络生成代码,将结果保存在校准函数,并使用此属性将此mat文件的位置指定给代码生成器。有关更多信息,请参见量化深度学习网络的代码生成

指定目标库名称的只读值。

例子

全部折叠

创建一个入口点函数resnet_predict使用coder.loadDeepLearningNetwork函数来加载resnet50(深度学习工具箱)SeriesNetwork对象。

函数= resnet_predict(中)持续的mynet;如果isempty(mynet) mynet = code . loaddeeplearningnetwork (“resnet50”“myresnet”);结束=预测(mynet,);

创建一个coder.gpuConfig配置对象,用于生成MEX代码。

cfg = coder.gpuConfig (墨西哥人的);

将目标语言设置为c++。

cfg。TargetLang =“c++”

创建一个编码器。CuDNNConfig的深度学习配置对象,并将其分配给DeepLearningConfig财产的cfg配置对象。

cfg。DeepLearningConfig =编码器。DeepLearningConfig (“cudnn”);

使用配置选择的codegen函数传递cfg配置对象。的codegen函数必须确定MATLAB的大小、类和复杂性®函数的输入。使用arg游戏选项指定入口点函数的输入大小。

codegenarg游戏{(224224 3,“单”)}配置cfgresnet_predict

codegen命令将所有生成的文件放入codegen文件夹中。该文件夹包含入口点函数的CUDA代码resnet_predict.cu,头文件和源文件,其中包含用于卷积神经网络(CNN)、权重和偏差文件的c++类定义。

介绍了R2018b