Custom cost function in deep learning toolbox

9 visualizzazioni (ultimi 30 giorni)
Sourav Sinha
Sourav Sinha il 6 Ago 2020
Risposto: Abbott Von il 12 Ago 2020
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.

Risposte (2)

Abbott Von
Abbott Von il 12 Ago 2020
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 il 12 Ago 2020
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.

Categorie

Scopri di più su Deep Learning Toolbox in Help Center e File Exchange

Prodotti


Release

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by