主要内容

genFunction

生成MATLAB模拟浅神经网络的函数

描述

这个函数生成一个MATLAB®用于模拟浅神经网络的函数。genFunction不支持深度学习网络金宝app,如卷积或LSTM网络。有关深度学习的代码生成的更多信息,请参见深度学习代码生成

例子

genFunction (路径名生成一个完整的独立MATLAB函数,用于模拟神经网络,包括所有设置、权重和偏差值、模块函数和计算在一个文件中。结果是一个独立的MATLAB函数文件。你也可以使用这个函数MATLAB编译器™MATLAB编码器™工具。

例子

genFunction (___“MatrixOnly”,“是的”)重写默认的单元格/矩阵表示法,并生成一个只使用与MATLAB编码器工具兼容的矩阵参数的函数。对于静态网络,矩阵列被解释为独立的样本。对于动态网络,矩阵列被解释为一系列的时间步长。默认值为“不”

genFunction (___、“ShowLinks”、“不”)禁用显示链接到生成的帮助和源代码的默认行为。默认值是“是的”

例子

全部折叠

这个例子展示了如何从静态神经网络创建一个MATLAB函数和一个mex函数。

首先,训练一个静态网络,并根据训练数据计算其输出。

[x, t] = bodyfat_dataset;bodyfatNet = feedforwardnet (10);bodyfatNet =火车(bodyfatNet x, t);y = bodyfatNet (x);

接下来,生成并测试一个MATLAB函数。然后这个新函数被编译成一个共享/动态链接的库世纪挑战集团

genFunction (bodyfatNet“bodyfatFcn”);y2 = bodyfatFcn (x);精度= max(abs(y-y2)- w自由:libBodyfat- t链接:自由bodyfatFcn

接下来,生成只支持矩阵参数(不支持单元格数组)的MATLAB函数的另一个版本,并测试该函数。金宝app使用MATLAB Coder工具codegen生成mex函数,该函数也进行了测试。

genFunction (bodyfatNet“bodyfatFcn”“MatrixOnly”“是的”);y3 = bodyfatFcn (x);x1Type = code .typeof(double(0),[13 Inf]);%输入1的编码器类型codegenbodyfatFcn.m配置:墨西哥人- obodyfatCodeGenarg游戏{x1Type}y4 = bodyfatodeGen (x);accuracy4 = max (abs (y-y4))

这个例子展示了如何从一个动态神经网络创建一个MATLAB函数和一个mex函数。

首先,训练一个动态网络,并根据训练数据计算其输出。

[x, t] = maglev_dataset;maglevNet = narxnet (1:2, 1:2, 10);[X, Xi,人工智能,T] = preparets (maglevNet, X, {}, T);maglevNet =火车(maglevNet X, T, Xi, Ai);[y, xf,房颤]= maglevNet (X, Xi, Ai);

接下来,生成并测试一个MATLAB函数。使用该函数创建一个共享/动态链接的库世纪挑战集团

genFunction (maglevNet“maglevFcn”);(y2、xf af) = maglevFcn (X, Xi, Ai);精度= max(abs(cell2mat(y)-cell2mat(y2))- w自由:libMaglev- t链接:自由maglevFcn

接下来,生成只支持矩阵参数(不支持单元格数组)的MATLAB函数的另一个版本,并测试该函数。金宝app使用MATLAB Coder工具codegen生成mex函数,该函数也进行了测试。

genFunction (maglevNet“maglevFcn”“MatrixOnly”“是的”);: x1 = cell2mat (X (1));将每个输入转换为矩阵x2 = cell2mat (X (2:));ξ1 = cell2mat(ξ(1:));%将每个输入状态转换为矩阵ξ2)= cell2mat(ξ(2:));[y3, xf1 xf2] = maglevFcn (x1, x2)(ξ1,ξ2));accuracy3 = max(abs(cell2mat(y)-y3)) x1Type = code .typeof(double(0),[1 Inf]);%输入1的编码器类型x2Type = code .typeof(double(0),[1 Inf]);%编码输入类型2xi1Type = code .typeof(double(0),[1 2]);输入1状态的编码器类型xi2Type = code .typeof(double(0),[1 2]);输入2状态的编码器类型codegenmaglevFcn.m配置:墨西哥人- omaglevNetCodeGenarg游戏{x1Type x2Type xi1Type xi2Type}[y4, xf1 xf2] = maglevNetCodeGen (x1, x2)(ξ1,ξ2));dynamic_codegen_accuracy = max (abs (cell2mat (y) y4))

输入参数

全部折叠

神经网络,指定为网络对象。

例子:网= feedforwardnet (10);

生成的函数文件的位置和名称,指定为字符串。如果没有指定文件扩展名00,则会自动追加。如果您没有指定文件的路径,则默认位置是当前工作文件夹。

例子:“myFcn.m”

数据类型:字符

扩展功能

另请参阅

介绍了R2013b