protected override void OnStart(IDictionary <SetType, List <Tomato> > imageSets) { //traning phase var trainSet = TomatoSetHelper.Expand(imageSets[SetType.TRANING]); classifier.Train(trainSet.Item1, trainSet.Item2, trainSet.Item3, trainSet.Item4); //load test images var testImages = new ImageLoaderHelper(base.ComputePath(this.indexName)); //the classifier predicts the class label for each image in the test set. var lines = ExportClassificationResult(classifier, testImages.Images); File.WriteAllLines(base.ComputePath("submission" + DateTime.Now.ToFileTime() + ".txt"), lines.ToArray()); log.LogNewLine("evaluation done, output in submission<timestamp>.txt"); }
protected override void OnStart(IDictionary <SetType, List <Tomato> > imageSets) { var mappedTrain = TomatoSetHelper.Expand(imageSets[SetType.TRANING]); var mappedVal = TomatoSetHelper.Expand(imageSets[SetType.VALIDATION]); log.LogNewLine("Extract feature on train..."); var train = extractor.ExtractDescriptors(mappedTrain.Item1, mappedTrain.Item2, mappedTrain.Item3, mappedTrain.Item4); log.LogNewLine(""); log.LogNewLine("Extract feature on validation..."); var validation = extractor.ExtractDescriptors(mappedVal.Item1, mappedVal.Item2, mappedVal.Item3, mappedVal.Item4); WriteCsvOn(train, "Train.csv"); WriteCsvOn(validation, "Validation.csv"); }
protected override void OnStart(IDictionary <SetType, List <Tomato> > imageSets) { var train = TomatoSetHelper.Expand(imageSets[SetType.TRANING]); var i = 0; foreach (TomatoClassifier classifier in classifiers) { log.LogNewLine("Classifier : " + i++); log.LogNewLine("___________________"); stopWatch.Start(); classifier.Train(train.Item1, train.Item2, train.Item3, train.Item4); stopWatch.Stop(); log.LogNewLine("train time : " + stopWatch.Elapsed.TotalSeconds + " seconds"); EvalPerformance(classifier, imageSets[SetType.VALIDATION]); log.LogNewLine("___________________"); } Console.ReadLine(); }
private void ExtractFeature(TomatoDescriptorExtractor extractor, List <Tomato> tomatoes) { var adapted = TomatoSetHelper.Expand(tomatoes); extractor.ExtractDescriptors(adapted.Item1, adapted.Item2, adapted.Item3, adapted.Item4); }
private void Train(TomatoClassifier classifier, List <Tomato> tomatoes) { var adapted = TomatoSetHelper.Expand(tomatoes); classifier.Train(adapted.Item1, adapted.Item2, adapted.Item3, adapted.Item4); }