generateLearnerDataTypeFcn
Generate函数,为定点代码生成定义数据类型
描述
生成定点C/ c++代码预测
一个机器学习模型的功能,使用generateLearnerDataTypeFcn
,saveLearnerForCoder
,loadLearnerForCoder
,codegen
(MATLAB编码器).
训练一个机器学习模型后,保存使用的模型
saveLearnerForCoder
.通过使用生成的函数来创建定义定点数据类型的结构
generateLearnerDataTypeFcn
.定义一个入口点函数,通过使用两者来加载模型
loadLearnerForCoder
这个结构,然后调用预测
函数。使用生成代码
codegen
,然后验证生成的代码。
的generateLearnerDataTypeFcn
函数需要定点设计器™,生成定点C/ c++代码需要MATLAB®编码器™和定点设计师。
的定点代码生成工作流预测
机器学习模型的功能。使用generateLearnerDataTypeFcn
对于高亮显示的步骤。
例子
输入参数
更多关于
提示
为了提高生成的定点代码的精度,可以调优定点数据类型。修改定点数据类型数据类型的函数(
myMdl_datatype
)并创建一个新结构,然后使用新结构重新生成代码。你可以更新myMdl_datatype
有以下两种功能:重新生成
myMdl_datatype
通过使用函数generateLearnerDataTypeFcn
及其名值对参数。方法增加字的长度
“字”
名称-值对的论点。减小安全裕度
“PercentSafetyMargin”
名称-值对的论点。
如果增加单词长度或减少安全裕度,该软件可以提出更长的分数长度,从而提高基于给定数据集生成的代码的精度。
手动修改函数文件中的定点数据类型(
myMdl_datatype.m
).对于每个变量,您可以调优字长度和分数长度,并使用fimath
(定点设计师)对象。
在生成的定点代码中,与相应的浮点代码相比,大量的操作或较大的变量范围会导致精度损失。在训练支持向量机模型时,请记住以下提示,以避免在生成的定点代码中损失精度:
数据标准化(
“标准化”
) -为了避免支持向量机模型中支持向量的模型属性值溢出,可以对预测器数据进行标准化。而不是使用“标准化”
参数训练模型时,在将数据传递给拟合函数和预测
函数,以便定点代码不包含用于标准化的操作。内核函数(
“KernelFunction”
) -使用高斯核或线性核优于使用多项式核。多项式核比其他核需要更高的计算复杂度,并且多项式核函数的输出是无界的。内核规模(
“KernelScale”
)—如果的值,则使用内核规模需要额外的操作“KernelScale”
不是1。单类分类问题的预测,如果预测的类分值范围较大,可能会失去预测精度。
版本历史
介绍了R2019b另请参阅
loadLearnerForCoder
|saveLearnerForCoder
|buildInstrumentedMex
(定点设计师)|showInstrumentationResults
(定点设计师)|codegen
(MATLAB编码器)|fi
(定点设计师)