Exemple #1
0
 public void Init(string modelName)
 {
     try
     {
         using (var env = EnvHelper.NewTestEnvironment())
             engine = new ValueMapperPredictionEngineFloat(env, modelName, "Probability");
     }
     catch (Exception e)
     {
         throw new Exception("erreur", e);
     }
 }
        public void TestValueMapperPredictionEngineMultiThread()
        {
            var name = FileHelper.GetTestFile("bc-lr.zip");

            /*using (*/
            var env = EnvHelper.NewTestEnvironment();

            using (var engine0 = new ValueMapperPredictionEngineFloat(env, name, conc: 1))
            {
                var feat = new float[] { 5, 1, 1, 1, 2, 1, 3, 1, 1 };
                var exp  = new float[100];
                for (int i = 0; i < exp.Length; ++i)
                {
                    feat[0] = i;
                    exp[i]  = engine0.Predict(feat);
                    Assert.IsFalse(float.IsNaN(exp[i]));
                    Assert.IsFalse(float.IsInfinity(exp[i]));
                }

                var dico = new Dictionary <Tuple <int, bool, int>, double>();

                foreach (var each in new[] { false, true })
                {
                    foreach (int th in new int[] { 2, 0, 1, 3 })
                    {
                        var engine = new ValueMapperPredictionEngineFloat(env, name, conc: th);
                        var sw     = new Stopwatch();
                        sw.Start();
                        for (int i = 0; i < exp.Length; ++i)
                        {
                            feat[0] = i;
                            var res = engine.Predict(feat);
                            Assert.AreEqual(exp[i], res);
                        }
                        sw.Stop();
                        dico[new Tuple <int, bool, int>(exp.Length, each, th)] = sw.Elapsed.TotalSeconds;
                    }
                }
                Assert.AreEqual(dico.Count, 8);
                var df         = DataFrameIO.Convert(dico, "N", "number of threads", "time(s)");
                var methodName = System.Reflection.MethodBase.GetCurrentMethod().Name;
                var filename   = FileHelper.GetOutputFile("benchmark_ValueMapperPredictionEngineMultiThread.txt", methodName);
                df.ToCsv(filename);
            }
        }
 public void TestValueMapperPredictionEngine()
 {
     var name = FileHelper.GetTestFile("bc-lr.zip");
     /*using (*/
     var env = EnvHelper.NewTestEnvironment();
     {
         using (var engine = new ValueMapperPredictionEngineFloat(env, name))
         {
             var feat = new float[] { 5, 1, 1, 1, 2, 1, 3, 1, 1 };
             for (int i = 0; i < 1000; ++i)
             {
                 feat[0] = i;
                 var res = engine.Predict(feat);
                 Assert.IsFalse(float.IsNaN(res));
                 Assert.IsFalse(float.IsInfinity(res));
             }
         }
     }
 }
 public void Dispose()
 {
     engine.Dispose();
     engine = null;
 }