Custom cost function in deep learning toolbox

I want to use a custom cost function in neural network that minimizes the mean square error between . I followed the steps mentioned here:
I created a file myfcn.m and +myfcn package.
But when I run thte code with custom cost function
net.performFcn = 'myfcn'
I get the following error:
Error using network/subsasgn>network_subsasgn (line 555)
"performFcn" cannot be set to non-existing function "myfcn".
Error in network/subsasgn (line 14)
net = network_subsasgn(net,subscripts,v,netname);
Error in SDR_exp_customfcn (line 79)
net.performFcn = 'myfcn';
I couldn't figure out what the issue is.

Antworten (2)

Abbott Von
Abbott Von am 12 Aug. 2020

0 Stimmen

Well, maybe this tutorial can help you. The key is that line "Defining custom functions with this approach works only with the non-MEX version of the Neural Network code, so it is necessary to call 'train' using the 'nn7' option."
net = train(net,x,t,nn7);
y = net(x,nn7);
Abbott Von
Abbott Von am 12 Aug. 2020

0 Stimmen

copyfile([matlabroot '\toolbox\nnet\nnet\nnperformance\mse.m'], 'myfcn.m');
copyfile([matlabroot '\toolbox\nnet\nnet\nnperformance\+mse'], '+myfcn');
And pull the necessary functions into your current working directories.

Kategorien

Mehr zu Deep Learning Toolbox finden Sie in Hilfe-Center und File Exchange

Produkte

Version

R2019b

Gefragt:

am 6 Aug. 2020

Beantwortet:

am 12 Aug. 2020

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by