Custom cost function in deep learning toolbox

조회 수: 14 (최근 30일)
Sourav Sinha
Sourav Sinha 2020년 8월 6일
답변: Abbott Von 2020년 8월 12일
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개)

Abbott Von
Abbott Von 2020년 8월 12일
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 2020년 8월 12일
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.

카테고리

Help CenterFile 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