예제 #1
0
        void ReportCmd(Guid session, string[] args)
        {
            string path       = string.Empty;
            string labelsPath = string.Empty;
            string modelPath  = string.Empty;

            if (args.Length == 3)
            {
                path = IOConsole.ParseDir(args[1]);

                string trainedDir = IOConsole.ParseDir(args[2]);
                labelsPath = IOConsole.ParseFile($"{trainedDir}/labels.txt");
                modelPath  = IOConsole.ParseFile($"{trainedDir}/mobile.bytes");
            }
            else if (args.Length == 4)
            {
                path       = IOConsole.ParseDir(args[1]);
                labelsPath = IOConsole.ParseFile(args[2]);
                modelPath  = IOConsole.ParseFile(args[3]);
            }
            else
            {
                Console.Write("Target image: ");
                path = IOConsole.ReadAndParseDir();

                Console.Write("Trained dir: ");
                string trainedDir = IOConsole.ReadAndParseDir();
                labelsPath = IOConsole.ParseFile($"{trainedDir}/labels.txt");
                modelPath  = IOConsole.ParseFile($"{trainedDir}/mobile.bytes");
            }

            var    sheets    = new GSheets();
            string sheetName = new System.IO.DirectoryInfo(path).Name;

            sheets.AddExcelSheet(sheetName);

            var finalReport = Eval.ReportEvalDir(path, labelsPath, modelPath);

            Console.WriteLine("=========================");

            int excelIndex = 2;

            foreach (Report report in finalReport)
            {
                Console.WriteLine($"{report.Name}: {report.Successes}/{report.Size}, Avg Confidence: {report.AvgConfidence}");
                sheets.AddReportExcel(sheetName, report, excelIndex);
                excelIndex++;
            }
        }
예제 #2
0
        void TrainCmd(string[] args)
        {
            string trainingDir = string.Empty;
            bool   distort     = false;

            if (args.Length <= 3 && args.Length > 1)
            {
                trainingDir = IOConsole.ParseDir(args[1]);
            }
            if (args.Length == 3)
            {
                distort = args[2].ToLower() == "true";
            }
            // ...
        }
예제 #3
0
        void EvalCmd(string[] args)
        {
            bool isDir = false;

            string path       = string.Empty;
            string labelsPath = string.Empty;
            string modelPath  = string.Empty;

            if (args.Length == 3)
            {
                path  = args[1];
                isDir = DIO.Directory.Exists(path);

                string trainedDir = IOConsole.ParseDir(args[2]);
                labelsPath = IOConsole.ParseFile($"{trainedDir}/labels.txt");
                modelPath  = IOConsole.ParseFile($"{trainedDir}/mobile.bytes");
            }
            else if (args.Length == 4)
            {
                path  = args[1];
                isDir = DIO.Directory.Exists(path);

                labelsPath = IOConsole.ParseFile(args[2]);
                modelPath  = IOConsole.ParseFile(args[3]);
            }
            else
            {
                Console.Write("Target image: ");
                path  = IOConsole.ReadAndParsePath();
                isDir = DIO.Directory.Exists(path);

                Console.Write("Trained dir: ");
                string trainedDir = IOConsole.ReadAndParseDir();
                labelsPath = IOConsole.ParseFile($"{trainedDir}/labels.txt");
                modelPath  = IOConsole.ParseFile($"{trainedDir}/mobile.bytes");
            }

            if (isDir)
            {
                Eval.EvalDir(path, labelsPath, modelPath);
            }
            else
            {
                Eval.EvalFile(path, labelsPath, modelPath);
            }
        }