为定点代码生成定义数据类型的Generate函数
为。生成定点C/ c++代码预测
一个机器学习模型的功能,使用generateLearnerDataTypeFcn
,saveLearnerForCoder
,loadlearnerforcoder.
, 和Codegen.
(MATLAB编码器).
培训机器学习模型后,使用模型使用saveLearnerForCoder
.
通过使用生成的函数创建定义定点数据类型的结构generateLearnerDataTypeFcn
.
定义通过使用两者加载模型的入口点函数loadlearnerforcoder.
和结构,然后拨打电话预测
函数。
使用生成代码Codegen.
,然后验证生成的代码。
的generateLearnerDataTypeFcn
功能需要固定点Designer™,并生成固定点C / C ++代码需要马铃薯®编码器™和定点设计师。
此流程图显示了固定点代码生成工作流程预测
机器学习模型的功能。使用generateLearnerDataTypeFcn
为突出显示的步骤。
为了提高生成的定点代码的精度,您可以调整定点数据类型。通过更新来修改固定点数据类型数据类型功能(myMdl_datatype
),创建新结构,然后使用新结构重新生成代码。你可以更新myMdl_datatype
以两种方式之一函数:
重新生成myMdl_datatype
通过使用函数generateLearnerDataTypeFcn
及其名称值对参数。
通过使用使用来增加单词长度“字”
名称-值对的论点。
通过使用“PercentSafetyMargin”
名称-值对的论点。
如果增加单词长度或减少安全裕度,软件可以提出更长的分数长度,从而提高基于给定数据集生成的代码的精度。
手动修改函数文件中的定点数据类型(myMdl_datatype.m
).对于每个变量,您可以调优单词长度和分数长度并使用FIMATH.
(定点设计师)目的。
在所生成的固定点代码中,与相应浮点码的精度相比,大量操作或大的可变范围可能导致精度丢失。培训SVM模型时,请记住以下提示,以避免生成的定点代码中的精度丢失:
数据标准化(“标准化”
) - 为避免SVM模型中支持向量的模型属性值中的溢出,可以标准化预测器数据。金宝app而不是使用“标准化”
名称 - 值对参数在培训模型时,在将数据传递给拟合功能之前标准化预测器数据预测
功能使固定点代码不包括标准化的操作。
内核函数('骨箱'
) - 使用高斯内核或线性内核优选使用多项式内核。多项式内核需要比其他内核更高的计算复杂性,并且多项式内核函数的输出是无限的。
内核刻度('kernelscale'
) - 如果值的值,使用内核比例需要额外的操作'kernelscale'
不是1。
对于一类分类问题的预测,如果预测的类得分值有很大的范围,那么预测的精度可能会降低。
loadlearnerforcoder.
|saveLearnerForCoder
|buildInstrumentedMex
(定点设计师)|fi
(定点设计师)|showinstumastation.cresults.
(定点设计师)|Codegen.
(MATLAB编码器)