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.

回答(2 个)

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);
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.

类别

帮助中心File Exchange 中查找有关 Deep Learning Toolbox 的更多信息

产品

版本

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by