主要内容

coder.DeepLearningCodeConfig

用于配置不依赖第三方库的深度学习代码生成的参数

自 R2021a 起

说明

coder.DeepLearningCodeConfig 对象包含 codegen 函数用于为深度神经网络生成泛型 C 或 C++ 代码的参数。

创建对象

通过使用 coder.DeepLearningConfig 函数并将目标库设置为 'none' 来创建 DeepLearningCodeConfig 配置对象。

属性

全部展开

压缩类型,指定为 "none""bfloat16"。要启用可学习参数压缩,请使用 "bfloat16"。有关详细信息,请参阅可学习参数压缩

目标库的名称,指定为字符向量。

示例

全部折叠

创建一个入口函数 resnet50,该入口函数使用 imagePretrainedNetwork 函数加载包含 ResNet-50 网络的 dlnetwork 对象。有关详细信息,请参阅Code Generation for dlarray

function out = resnet_predict(in)

dlIn = dlarray(in, 'SSCB');
persistent dlnet;
if isempty(dlnet)
    dlnet = imagePretrainedNetwork('resnet50');
end

dlOut = predict(dlnet, dlIn);
out = extractdata(dlOut);

为 MEX 代码生成创建一个 coder.config 配置对象。

cfg = coder.config('mex');

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

cfg.TargetLang = 'C++';

创建一个 coder.DeepLearningCodeConfig 深度学习配置对象。将其赋给 cfg 配置对象的 DeepLearningConfig 属性。

dlcfg = coder.DeepLearningConfig(TargetLibrary = 'none');
cfg.DeepLearningConfig = dlcfg;

使用 codegen 函数的 -config 选项来指定 cfg 配置对象。codegen 函数必须确定 MATLAB® 函数输入的大小、类和复/实性。使用 -args 选项指定入口函数的输入大小。

codegen -args {ones(224,224,3,'single')} -config cfg resnet_predict

codegen 命令将生成的文件放在 codegen 文件夹中。此文件夹包含入口函数 resnet_predict.cpp 的 C++ 代码、包含神经网络、权重和偏置文件的 C++ 类定义的头文件和源文件。

版本历史记录

在 R2021a 中推出

全部展开