📄 trainlm.c
字号:
/*
* end
*/
}
/*
*
* % CALCULATION
* % ===========
*
* % Parameters
* epochs = net.trainParam.epochs;
*/
mlfAssign(&epochs, mlfIndexRef(mclVa(net, "net"), ".trainParam.epochs"));
/*
* goal = net.trainParam.goal;
*/
mlfAssign(&goal, mlfIndexRef(mclVa(net, "net"), ".trainParam.goal"));
/*
* max_fail = net.trainParam.max_fail;
*/
mlfAssign(
&max_fail, mlfIndexRef(mclVa(net, "net"), ".trainParam.max_fail"));
/*
* mem_reduc = net.trainParam.mem_reduc;
*/
mlfAssign(
&mem_reduc, mlfIndexRef(mclVa(net, "net"), ".trainParam.mem_reduc"));
/*
* min_grad = net.trainParam.min_grad;
*/
mlfAssign(
&min_grad, mlfIndexRef(mclVa(net, "net"), ".trainParam.min_grad"));
/*
* mu = net.trainParam.mu;
*/
mlfAssign(&mu, mlfIndexRef(mclVa(net, "net"), ".trainParam.mu"));
/*
* mu_inc = net.trainParam.mu_inc;
*/
mlfAssign(&mu_inc, mlfIndexRef(mclVa(net, "net"), ".trainParam.mu_inc"));
/*
* mu_dec = net.trainParam.mu_dec;
*/
mlfAssign(&mu_dec, mlfIndexRef(mclVa(net, "net"), ".trainParam.mu_dec"));
/*
* mu_max = net.trainParam.mu_max;
*/
mlfAssign(&mu_max, mlfIndexRef(mclVa(net, "net"), ".trainParam.mu_max"));
/*
* show = net.trainParam.show;
*/
mlfAssign(&show, mlfIndexRef(mclVa(net, "net"), ".trainParam.show"));
/*
* time = net.trainParam.time;
*/
mlfAssign(&time, mlfIndexRef(mclVa(net, "net"), ".trainParam.time"));
/*
*
* % Parameter Checking
* if (~isa(epochs,'double')) | (~isreal(epochs)) | (any(size(epochs)) ~= 1) | ...
*/
{
mxArray * a_
= mclInitialize(
mclNot(mlfIsa(mclVv(epochs, "epochs"), _mxarray32_)));
if (mlfTobool(a_)) {
mlfAssign(&a_, mlfScalar(1));
} else {
mlfAssign(
&a_, mclOr(a_, mclNot(mlfIsreal(mclVv(epochs, "epochs")))));
}
if (mlfTobool(a_)) {
mlfAssign(&a_, mlfScalar(1));
} else {
mlfAssign(
&a_,
mclOr(
a_,
mclNe(
mlfAny(
mlfSize(mclValueVarargout(), mclVv(epochs, "epochs"), NULL),
NULL),
_mxarray20_)));
}
if (mlfTobool(a_)) {
mlfAssign(&a_, mlfScalar(1));
} else {
mlfAssign(
&a_, mclOr(a_, mclLt(mclVv(epochs, "epochs"), _mxarray20_)));
}
if (mlfTobool(a_)
|| mlfTobool(
mclOr(
a_,
mclNe(
mlfRound(mclVv(epochs, "epochs")),
mclVv(epochs, "epochs"))))) {
mxDestroyArray(a_);
/*
* (epochs < 1) | (round(epochs) ~= epochs)
* error('Epochs is not a positive integer.')
*/
mlfError(_mxarray30_, NULL);
} else {
mxDestroyArray(a_);
}
/*
* end
*/
}
/*
* if (~isa(goal,'double')) | (~isreal(goal)) | (any(size(goal)) ~= 1) | ...
*/
{
mxArray * a_
= mclInitialize(mclNot(mlfIsa(mclVv(goal, "goal"), _mxarray32_)));
if (mlfTobool(a_)) {
mlfAssign(&a_, mlfScalar(1));
} else {
mlfAssign(&a_, mclOr(a_, mclNot(mlfIsreal(mclVv(goal, "goal")))));
}
if (mlfTobool(a_)) {
mlfAssign(&a_, mlfScalar(1));
} else {
mlfAssign(
&a_,
mclOr(
a_,
mclNe(
mlfAny(
mlfSize(mclValueVarargout(), mclVv(goal, "goal"), NULL),
NULL),
_mxarray20_)));
}
if (mlfTobool(a_)
|| mlfTobool(mclOr(a_, mclLt(mclVv(goal, "goal"), _mxarray19_)))) {
mxDestroyArray(a_);
/*
* (goal < 0)
* error('Goal is not zero or a positive real value.')
*/
mlfError(_mxarray34_, NULL);
} else {
mxDestroyArray(a_);
}
/*
* end
*/
}
/*
* if (~isa(max_fail,'double')) | (~isreal(max_fail)) | (any(size(max_fail)) ~= 1) | ...
*/
{
mxArray * a_
= mclInitialize(
mclNot(mlfIsa(mclVv(max_fail, "max_fail"), _mxarray32_)));
if (mlfTobool(a_)) {
mlfAssign(&a_, mlfScalar(1));
} else {
mlfAssign(
&a_, mclOr(a_, mclNot(mlfIsreal(mclVv(max_fail, "max_fail")))));
}
if (mlfTobool(a_)) {
mlfAssign(&a_, mlfScalar(1));
} else {
mlfAssign(
&a_,
mclOr(
a_,
mclNe(
mlfAny(
mlfSize(
mclValueVarargout(), mclVv(max_fail, "max_fail"), NULL),
NULL),
_mxarray20_)));
}
if (mlfTobool(a_)) {
mlfAssign(&a_, mlfScalar(1));
} else {
mlfAssign(
&a_, mclOr(a_, mclLt(mclVv(max_fail, "max_fail"), _mxarray20_)));
}
if (mlfTobool(a_)
|| mlfTobool(
mclOr(
a_,
mclNe(
mlfRound(mclVv(max_fail, "max_fail")),
mclVv(max_fail, "max_fail"))))) {
mxDestroyArray(a_);
/*
* (max_fail < 1) | (round(max_fail) ~= max_fail)
* error('Max_fail is not a positive integer.')
*/
mlfError(_mxarray36_, NULL);
} else {
mxDestroyArray(a_);
}
/*
* end
*/
}
/*
* if (~isa(mem_reduc,'double')) | (~isreal(mem_reduc)) | (any(size(mem_reduc)) ~= 1) | ...
*/
{
mxArray * a_
= mclInitialize(
mclNot(mlfIsa(mclVv(mem_reduc, "mem_reduc"), _mxarray32_)));
if (mlfTobool(a_)) {
mlfAssign(&a_, mlfScalar(1));
} else {
mlfAssign(
&a_, mclOr(a_, mclNot(mlfIsreal(mclVv(mem_reduc, "mem_reduc")))));
}
if (mlfTobool(a_)) {
mlfAssign(&a_, mlfScalar(1));
} else {
mlfAssign(
&a_,
mclOr(
a_,
mclNe(
mlfAny(
mlfSize(
mclValueVarargout(), mclVv(mem_reduc, "mem_reduc"), NULL),
NULL),
_mxarray20_)));
}
if (mlfTobool(a_)) {
mlfAssign(&a_, mlfScalar(1));
} else {
mlfAssign(
&a_,
mclOr(a_, mclLt(mclVv(mem_reduc, "mem_reduc"), _mxarray20_)));
}
if (mlfTobool(a_)
|| mlfTobool(
mclOr(
a_,
mclNe(
mlfRound(mclVv(mem_reduc, "mem_reduc")),
mclVv(mem_reduc, "mem_reduc"))))) {
mxDestroyArray(a_);
/*
* (mem_reduc < 1) | (round(mem_reduc) ~= mem_reduc)
* error('Mem_reduc is not a positive integer.')
*/
mlfError(_mxarray38_, NULL);
} else {
mxDestroyArray(a_);
}
/*
* end
*/
}
/*
* if (~isa(min_grad,'double')) | (~isreal(min_grad)) | (any(size(min_grad)) ~= 1) | ...
*/
{
mxArray * a_
= mclInitialize(
mclNot(mlfIsa(mclVv(min_grad, "min_grad"), _mxarray32_)));
if (mlfTobool(a_)) {
mlfAssign(&a_, mlfScalar(1));
} else {
mlfAssign(
&a_, mclOr(a_, mclNot(mlfIsreal(mclVv(min_grad, "min_grad")))));
}
if (mlfTobool(a_)) {
mlfAssign(&a_, mlfScalar(1));
} else {
mlfAssign(
&a_,
mclOr(
a_,
mclNe(
mlfAny(
mlfSize(
mclValueVarargout(), mclVv(min_grad, "min_grad"), NULL),
NULL),
_mxarray20_)));
}
if (mlfTobool(a_)
|| mlfTobool(
mclOr(a_, mclLt(mclVv(min_grad, "min_grad"), _mxarray19_)))) {
mxDestroyArray(a_);
/*
* (min_grad < 0)
* error('Min_grad is not zero or a positive real value.')
*/
mlfError(_mxarray40_, NULL);
} else {
mxDestroyArray(a_);
}
/*
* end
*/
}
/*
* if (~isa(mu,'double')) | (~isreal(mu)) | (any(size(mu)) ~= 1) | ...
*/
{
mxArray * a_
= mclInitialize(mclNot(mlfIsa(mclVv(mu, "mu"), _mxarray32_)));
if (mlfTobool(a_)) {
mlfAssign(&a_, mlfScalar(1));
} else {
mlfAssign(&a_, mclOr(a_, mclNot(mlfIsreal(mclVv(mu, "mu")))));
}
if (mlfTobool(a_)) {
mlfAssign(&a_, mlfScalar(1));
} else {
mlfAssign(
&a_,
mclOr(
a_,
mclNe(
mlfAny(
mlfSize(mclValueVarargout(), mclVv(mu, "mu"), NULL), NULL),
_mxarray20_)));
}
if (mlfTobool(a_)
|| mlfTobool(mclOr(a_, mclLe(mclVv(mu, "mu"), _mxarray19_)))) {
mxDestroyArray(a_);
/*
* (mu <= 0)
* error('Mu is not a positive real value.')
*/
mlfError(_mxarray42_, NULL);
} else {
mxDestroyArray(a_);
}
/*
* end
*/
}
/*
* if (~isa(mu_dec,'double')) | (~isreal(mu_dec)) | (any(size(mu_dec)) ~= 1) | ...
*/
{
mxArray * a_
= mclInitialize(
mclNot(mlfIsa(mclVv(mu_dec, "mu_dec"), _mxarray32_)));
if (mlfTobool(a_)) {
mlfAssign(&a_, mlfScalar(1));
} else {
mlfAssign(
&a_, mclOr(a_, mclNot(mlfIsreal(mclVv(mu_dec, "mu_dec")))));
}
if (mlfTobool(a_)) {
mlfAssign(&a_, mlfScalar(1));
} else {
mlfAssign(
&a_,
mclOr(
a_,
mclNe(
mlfAny(
mlfSize(mclValueVarargout(), mclVv(mu_dec, "mu_dec"), NULL),
NULL),
_mxarray20_)));
}
if (mlfTobool(a_)) {
mlfAssign(&a_, mlfScalar(1));
} else {
mlfAssign(
&a_, mclOr(a_, mclLt(mclVv(mu_dec, "mu_dec"), _mxarray19_)));
}
if (mlfTobool(a_)
|| mlfTobool(
mclOr(a_, mclGt(mclVv(mu_dec, "mu_dec"), _mxarray20_)))) {
mxDestroyArray(a_);
/*
* (mu_dec < 0) | (mu_dec > 1)
* error('Mu_dec is not a real value between 0 and 1.')
*/
mlfError(_mxarray44_, NULL);
} else {
mxDestroyArray(a_);
}
/*
* end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -