Matlab 神经网络不训练

Matlab 神经网络不训练,matlab,neural-network,Matlab,Neural Network,我试图建立一个自定义神经网络,但当我训练它时,它没有训练:训练过程进行0次迭代!我没有得到任何错误,只是0次迭代,我不知道为什么。(对您来说,架构可能有些奇怪,它应该是一个定制的PNN。但在我们讨论它是否合理之前,我希望能够对其进行培训…) 这是密码 net = network; net.trainFcn = 'trainlm'; net.performFcn = 'mse'; net.numInputs = 1; net.numLayers = (2*nbclasses)+

我试图建立一个自定义神经网络,但当我训练它时,它没有训练:训练过程进行0次迭代!我没有得到任何错误,只是0次迭代,我不知道为什么。(对您来说,架构可能有些奇怪,它应该是一个定制的PNN。但在我们讨论它是否合理之前,我希望能够对其进行培训…)

这是密码

  net = network;
  net.trainFcn = 'trainlm';
  net.performFcn = 'mse';
  net.numInputs = 1;
  net.numLayers = (2*nbclasses)+1; % (one pattern layer + one summation layer per class) + competition layer
  net.inputConnect(1:nbclasses,:) = 1; % connects the input to all pattern layers

    for i = 1:nbclasses % Connect the pattern layers to their corresponding summation layers
        net.layerConnect(i+nbclasses,i) = 1;
        net.layers{i}.size = size(tr_feature,1);
        net.layers{i}.transferFcn = 'radbas';
    end

    for i = (nbclasses+1):(nbclasses*2) % Connect all summation layers to the competition layer
        net.layers{i}.size = 1;
        net.layerConnect(net.numLayers,i) = 1;
    end

    net.layers{net.numLayers}.transferFcn = 'compet';    
    net.outputConnect(1,end) = 1;
    net.view;
    [net, tr] = train(net,tr_feature',tr_true');
    % tr_feature is a 800x2 data matrix, tr_true is the 800x1 corresponding labels
有什么想法吗


提前谢谢

您在哪里定义
nbclass
?前面我在这里跳过了代码的其他部分。我很确定这与这个问题没有关系<代码>1:[]或
1:0
1:-20
全部生成
空矩阵:1-by-0
。我建议设置一个条件断点
isempty(nbclasses)| | nbclasses<1
,然后运行代码。我检查了,正如我所想,nbclass既不是空的,也不是零的。对于我的测试用例,它是2。实际上,如果它是0,网络就不会有所需的结构;但正如net.view所示,结构是正确的。这就是为什么我很确定问题不是从这里来的:nbclass是直接初始化的,网络的结构是正确的。通过“训练过程进行0次迭代”,你指的是
训练(…)
或任何循环?如果是前者,那么您没有提供重现问题的MWE(最小工作示例),这使得(至少对我来说)无法猜测出哪里出了问题。