generateLearnerDataTypeFcn
为定点生成函数,定义了数据类型代码生成
描述
生成定点C / c++代码预测
机器学习模型的函数,使用generateLearnerDataTypeFcn
,saveLearnerForCoder
,loadLearnerForCoder
,codegen
。
机器学习模型,训练后保存模型
saveLearnerForCoder
。创建一个结构,定义了定点使用函数生成的数据类型
generateLearnerDataTypeFcn
。定义一个入口点函数,通过使用两个加载模型
loadLearnerForCoder
和结构,然后调用预测
函数。使用生成代码
codegen
,然后验证生成的代码。
的generateLearnerDataTypeFcn
函数需要定点设计师™和生成定点C / c++代码的需要MATLAB®编码器™和定点设计师。
这个流程图显示了定点代码生成的工作流预测
机器学习模型的函数。使用generateLearnerDataTypeFcn
突出显示的步骤。
generateLearnerDataTypeFcn (
生成一个数据类型的函数定义定点所需的变量的数据类型生成预测的定点C / c++代码的机器学习模型。文件名
,X
)文件名
存储机器学习模型,X
包含的预测数据预测
的函数模型。您必须创建文件名
通过使用saveLearnerForCoder
和模型文件名
必须是一个支持向量机分类模型或一个SVM回归模型。
使用生成的函数创建一个结构,定义了定点数据类型。然后,使用结构作为输入参数T
的loadLearnerForCoder
。
例子
输入参数
更多关于
提示
提高精度的定点生成的代码,您可以调整定点数据类型。通过更新修改定点数据类型数据类型的函数(
myMdl_datatype
)和创建一个新的结构,然后重新生成代码使用新的结构。你可以更新myMdl_datatype
函数两种方式中的一种:重新生成
myMdl_datatype
通过使用函数generateLearnerDataTypeFcn
和它的名称-值对参数。增加使用的单词长度
“字”
名称-值对的论点。减少使用的安全裕度
“PercentSafetyMargin”
名称-值对的论点。
如果你增加这个词长度或减少安全裕度,该软件可以提出一个分数长度更长,因此,提高精度的基于给定数据集生成的代码。
手动修改定点数据类型在函数文件(
myMdl_datatype.m
)。为每一个变量,您可以调整长度和长度和指定定点数学设置使用fimath
对象。
定点代码生成,大量的操作或一个大变量范围可能导致丧失精度,而相应的精度浮点代码。当训练支持向量机模式下,牢记下面的建议来避免损失精度的定点生成代码:
数据标准化(
“标准化”
)- - -为了避免溢出模型中属性值的支持向量的SVM模型,可以预测数据标准化。金宝app而不是使用“标准化”
名称-值对参数当训练模型,规范之前预测数据通过数据拟合函数和预测
函数,以便定点代码不包括标准化的操作。内核函数(
“KernelFunction”
)- - -使用高斯内核或线性内核比使用一个多项式内核。一个多项式比其他内核,内核需要较高的计算复杂度和多项式核函数的输出是无界的。内核规模(
“KernelScale”
)- - -使用一个内核规模如果需要额外的操作“KernelScale”
不是1。看到下面成了一个分类问题的预测可能会丧失精度,如果预测类分数值有很大的范围。
另请参阅
buildInstrumentedMex
|codegen
|fi
|loadLearnerForCoder
|saveLearnerForCoder
|showInstrumentationResults