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 Center および File ExchangeDeep Learning Toolbox についてさらに検索

製品


リリース

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by