Пример #1
0
        public void Start()
        {
            //template method, each program choose its application logic.
            var imageLoader = new ImageLabelledLoaderHelper(indexFilePath, '\t');

            OnStart(splitStrategy.Invoke(imageLoader));
        }
Пример #2
0
        public static Dictionary <SetType, List <Tomato> > SplitAll(ImageLabelledLoaderHelper helper)
        {
            var splitted = splitClasses(helper.Images);
            var trainOk  = splitted[TomatoType.GOOD];
            var trainBad = splitted[TomatoType.BAD];
            var result   = new Dictionary <SetType, List <Tomato> >();

            result.Add(SetType.TRANING, trainOk.Concat(trainBad).ToList());
            result.Add(SetType.VALIDATION, new List <Tomato>());
            return(result);
        }
Пример #3
0
        public static Dictionary <SetType, List <Tomato> > SplitExact(
            int trainOkCount,
            int trainBadCount,
            ImageLabelledLoaderHelper helper)
        {
            var splitted      = splitClasses(helper.Images);
            var trainOk       = splitted[TomatoType.GOOD].Take(trainOkCount);
            var trainBad      = splitted[TomatoType.BAD].Take(trainBadCount);
            var validationOk  = splitted[TomatoType.GOOD].Skip(trainOkCount).Take(helper.GoodTomatoCount - trainOkCount);
            var validationBad = splitted[TomatoType.BAD].Skip(trainBadCount).Take(helper.BadTomatoCount - trainBadCount);
            var result        = new Dictionary <SetType, List <Tomato> >();

            result.Add(SetType.TRANING, trainOk.Concat(trainBad).ToList());
            result.Add(SetType.VALIDATION, validationOk.Concat(validationBad).ToList());
            return(result);
        }