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