Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
02/08/18 14:16:39 (6 years ago)
Author:
gkronber
Message:

#2891: fixed bug in NN and NN ensemble using a simple lock for processing an input.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/HeuristicLab.Algorithms.DataAnalysis/3.4/NeuralNetwork/NeuralNetworkEnsembleModel.cs

    r15583 r15739  
    102102          x[column] = inputData[row, column];
    103103        }
    104         alglib.mlpeprocess(mlpEnsemble, x, ref y);
     104        // mlpeprocess writes data in mlpEnsemble and is therefore not thread-safe
     105        lock (mlpEnsemble) {
     106          alglib.mlpeprocess(mlpEnsemble, x, ref y);
     107        }
    105108        yield return y[0];
    106109      }
     
    119122          x[column] = inputData[row, column];
    120123        }
    121         alglib.mlpeprocess(mlpEnsemble, x, ref y);
     124        // mlpeprocess writes data in mlpEnsemble and is therefore not thread-safe
     125        lock (mlpEnsemble) {
     126          alglib.mlpeprocess(mlpEnsemble, x, ref y);
     127        }
    122128        // find class for with the largest probability value
    123129        int maxProbClassIndex = 0;
Note: See TracChangeset for help on using the changeset viewer.