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