public int Predict(IModelDetails modelDetails, params float[] xValues) { var yValue = -1; ManualResetEvent wait = new ManualResetEvent(false); _producerConsumer.Add(() => { /*var x = np.array(np.array(xValues)).reshape(new Shape(1, xValues.Length)); * * var y = ((ModelDetails)modelDetails).BaseModel.Predict(x)[0]; * * // Get which index is highest * for (var i = 0; i < y.size; i++) * { * if ((float)y[i] > 0.9 && (yValue == -1 || (float)y[i] > (float)y[yValue])) yValue = i; * }*/ wait.Set(); }); wait.WaitOne(); return(yValue); }