List <Example_106_Data> GenerateExampleData(int nbItems, int nbObservationsInItem, int nbStepsAhead) { List <Example_106_Data> rv = new List <Example_106_Data>(); List <double> dataSeries = GenerateDataSeries(nbItems + nbObservationsInItem + nbStepsAhead).ToList(); for (int i = 0; i < nbItems; i++) { Example_106_Data data = new Example_106_Data(); data.Observations = dataSeries.Skip(i).Take(nbObservationsInItem).ToList(); data.ExpectedPrediction = dataSeries[i + nbObservationsInItem + (nbStepsAhead - 1)]; rv.Add(data); } return(rv); }
private double Evaluate(Function model, Example_106_Data data, Variable input, DeviceDescriptor device) { Value inputData = Value.CreateSequence <double>(input.Shape, data.Observations, device); var inputDic = new Dictionary <Variable, Value>() { { input, inputData } }; var outputDic = new Dictionary <Variable, Value>() { { model.Output, null } }; model.Evaluate(inputDic, outputDic, device); Value outputValue = outputDic[model.Output]; IList <IList <double> > prediction = outputValue.GetDenseData <double>(model.Output); return(prediction.Single().Single()); }