这是什么意思,我怎样才能摆脱它?

15次浏览(过去30天)
马尔吉安
马尔吉安 2019年5月7日
回答: MathWorks定点团队 2020年1月16日
我已经建立了一个神经网络,一切都很好,直到我用LUT替换我的tanh函数。我尝试了不同的方法,但错误不断出现。这就是我如何替换它,但我真的不知道哪里出了问题。
...
定义定点转换的系统行为约束
选择= fxpOptimizationOptions ();
opts.MaxIterations = 25;
opts.addTolerance (system_under_design 1“RelTol”, 0.05);
opts.addTolerance (system_under_design 1“AbsTol”, 50)
opts.AllowableWordLengths = 32;
优化数据类型
解决方案= fxpopt(模型、system_under_design选择);
best_solution = solution.explore;
将激活函数替换为优化的LUT
Subsystem_path = [system_under_design .' /图层1 / tansig /双曲正切];
p = FunctionApproximation.Problem(subsystem_path);
p.p options . wordlength = 8:32;
p.InputTypes = fixdt(10) 1, 16日;
p.OutputType = fixdt(15) 1, 16日;
p.Options.BreakpointSpecification =“EvenPow2Spacing”
求解并替换tanh
解= p.solve;
fxpneuralnetworks。replaceWithLUT (subsystem_path、解决方案);
set_param ([subsystem_path' /附近地区的),“UseLastTableValue”1);
set_param ([subsystem_path' /附近地区的),“DiagnosticForOutOfRangeInput”“没有”);
在查找表替换后验证模型的准确性
Sim_out = sim(model_to_convert,“SaveFormat”“数据集”);%这里不罚款!!!!
%%辅助函数
创建一个函数来绘制回归数据
函数plotRegression(sim_out, baseline_path, neural_network_output_path, plotTitle)
Nn_out = find(sim_out.logsout,“BlockPath”, neural_network_output_path);
Yarr_out = find(sim_out.logsout,“BlockPath”, baseline_path);
ypred = nn_out{1}.Values.Data;
实际= yarr_out{1}.Values.Data;
图;
plotregresion (double(ypred), actual, plotTitle);
结束
%%replaceWithLUT函数——我的LUT替换文件只是复制和粘贴实际上是很好的!
函数replaceWithLUT (activationFunctionSubsystem functionApproximationResult)
destinationBlk = activationFunctionSubsystem;
functionApproximationResult.approximate;
sourceBlk = gcb;
approate_model_name = gcs;
获取原始块位置
pos = get_param(destinationBlk,“位置”);
删除原始块
delete_block (destinationBlk);
在原来的地方添加近似
add_block (sourceBlk destinationBlk,“位置”、pos);
确保被替换的块是未注释的
set_param (destinationBlk“评论”“关闭”);
close_system (approximate_model_name 0);
结束
这是出现误差的特定区域的模型。:
所以事情是在我用LUT Ι替换tanh块后得到这个错误
"端口1的数值不一致".......DTC1"输出端口值(fi(-8.16......,1,16,10))在主要时间步骤17小于SigSpec1的最大值(fi(-8,1,16,10))。这发生在元素(5)上。”
提前提一下,

答案(1)

MathWorks定点团队
MathWorks定点团队 2020年1月16日
您好,请参考 这个答案 有关此错误含义的详细信息。您是否可以添加您使用的模型和脚本,以便我们尝试重现问题?谢谢!

社区寻宝

在MATLAB Central中找到宝藏,并发现社区如何帮助您!

开始狩猎!