generateLearnerDataTypeFcn
生成函数,为定点代码生成定义数据类型
描述
用于生成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
(定点设计师)对象。
在生成的定点代码中,与相应的浮点代码的精度相比,大量的操作或较大的变量范围会导致精度的损失。在训练SVM模型时,请记住以下技巧,以避免在生成的定点代码中损失精度:
数据标准化(
“标准化”
-为了避免SVM模型中支持向量的模型属性值溢出,可以对预测器数据进行标准化。金宝app而不是使用“标准化”
在训练模型时,对预测器数据进行标准化,然后将数据传递给拟合函数和预测
函数,使定点代码不包括用于标准化的操作。核函数(
“KernelFunction”
-使用高斯核或线性核比使用多项式核更可取。多项式核函数的计算复杂度比其他核函数高,而且输出是无界的。核标度(
“KernelScale”
)—如果的值为“KernelScale”
不是1。对于单类分类问题,如果预测的类分值范围过大,可能会导致预测精度的降低。
兼容性的考虑
另请参阅
loadLearnerForCoder
|saveLearnerForCoder
|buildInstrumentedMex
(定点设计师)|showInstrumentationResults
(定点设计师)|codegen
(MATLAB编码器)|fi
(定点设计师)