public async Task Resume() { await Parallelizer.Resume(); AnsiConsole.MarkupLine($"[greenyellow]resume at {Parallelizer.StartTime}[/]"); _ = StartUpdatingRecordAsync(); }
public List <ImageRepresentation> RecognizeImage(List <ImageRepresentation> Images) { Model MnistModel = new Model(ModelPath: Directory.GetParent(Directory.GetCurrentDirectory()).Parent.FullName + "\\Backend\\RecognitionModel\\mnist-8.onnx"); Parallelizer <ImageRepresentation, ImageRepresentation> ModelParallelizer = new Parallelizer <ImageRepresentation, ImageRepresentation>(MnistModel, UseServer: true); List <ImageRepresentation> result = ModelParallelizer.Run(Images); return(result); }
public override void RunParty() { isOptimized = Config.isOptimized; if (isOptimized) { Optimizer optimizer = new Parallelizer(); optimizer.Optimize(program); int icNum = program.icList.Count; while (icNum > program.evaluatedIC.Count) { //for (int i = program.icList.Count - 1; i >= 0; --i) //{ // if (program.IsIndependent(program.icList[i])) // { // //code.hasBeenOrIsBeeningEvaluated = true; // ThreadPool.QueueUserWorkItem(Evaluate, program.icList[i]); // program.icList.RemoveAt(i); // } //} foreach (var code in program.icList.GetCodes()) { if (code.hasBeenOrIsBeingEvaluated) { continue; } else { if (program.IsIndependent(code)) { code.hasBeenOrIsBeingEvaluated = true; ThreadPool.QueueUserWorkItem(Evaluate, code); //Thread thread = new Thread(() => Evaluate(code)); //thread.Name = "KH_" + code.index; //thread.Start(); } } } } } else { foreach (var code in program.icList.GetCodes()) { //if (code is ICAssignment && ((ICAssignment)code).op != OperationType.Return) //{ // System.Diagnostics.Debug.WriteLine("KH: " + code); //} Evaluate(code); while (!program.evaluatedIC.ContainsKey(code)) { Thread.Sleep(1); } System.Diagnostics.Debug.WriteLineIf(program.vTable.ContainsKey(Config.watchVar), "k: " + program.vTable[Config.watchVar]); } } }
public async Task DownDegreeOfParallelism() { if (Stats.DegreeOfParallelism <= 1) { return; } Stats.DegreeOfParallelism--; await Parallelizer.ChangeDegreeOfParallelism(Stats.DegreeOfParallelism); }
public async Task UpDegreeOfParallelism() { if (Stats.DegreeOfParallelism >= Parallelizer.MaxDegreeOfParallelism) { return; } Stats.DegreeOfParallelism++; await Parallelizer.ChangeDegreeOfParallelism(Stats.DegreeOfParallelism); }
private void DeleteReplicas(object filterEntity, PropertyInfo[] entityProps) { ParallelParam parallelParam = new ParallelParam() { Param1 = filterEntity, Param2 = PersistenceAction.Delete }; var replicationParallelDelegate = new ParameterizedThreadStart(PersistReplicasAsync); Parallelizer.StartNewProcess(replicationParallelDelegate, parallelParam); }
public async Task StartAsync() { await Parallelizer.Start(); AnsiConsole.MarkupLine($"started at {Parallelizer.StartTime}"); _ = StartUpdatingRecordAsync(); await Parallelizer.WaitCompletion(); AnsiConsole.MarkupLine($"[red3]aborted at {Parallelizer.EndTime}[/]"); }
private void EditReplicas(object entity, object filterEntity, PropertyInfo[] entityProps, bool persistComposition) { ParallelParam parallelParam = new ParallelParam() { Param1 = entity, Param2 = PersistenceAction.Edit, Param3 = persistComposition, Param4 = filterEntity }; var replicationParallelDelegate = new ParameterizedThreadStart(PersistReplicasAsync); Parallelizer.StartNewProcess(replicationParallelDelegate, parallelParam); }
static int Main(string[] args) { Model MnistModel = new Model(); Parallelizer <ImageRepresentation, ImageRepresentation> ModelParallelizer = new Parallelizer <ImageRepresentation, ImageRepresentation>(MnistModel); ModelParallelizer.OutputEvent += ConsoleOutput; string[] Files = null; try { Files = Directory.GetFiles(args.FirstOrDefault() ?? "images", "*.*").Where(s => s.EndsWith(".bmp") || s.EndsWith(".jpg") || s.EndsWith(".png") || s.EndsWith(".jpeg")).ToArray(); // 0 images found after LINQ filtering if (Files == null) { throw new ArgumentNullException("Files == NULL"); } if (Files.Length == 0) { throw new Exception("There is no images in the directory"); } } catch (Exception ex) { Console.WriteLine("Wrong input" + ex.Message); } List <ImageRepresentation> Images = new List <ImageRepresentation>(); foreach (string FilePath in Files) { byte[] ByteImage = File.ReadAllBytes(FilePath); Images.Add(new ImageRepresentation { ImageName = FilePath, Base64Image = Convert.ToBase64String(ByteImage) }); } ModelParallelizer.Run(Images); return(0); }
private void CreateReplicas(object entity, PropertyInfo[] entityProps, int lastInsertedId, bool persistComposition) { var entityColumnKey = EntityReflector.GetKeyColumn(entityProps); if (entityColumnKey != null) { entityColumnKey.SetValue(entity, lastInsertedId, null); } ParallelParam parallelParam = new ParallelParam() { Param1 = entity, Param2 = PersistenceAction.Create, Param3 = persistComposition }; var replicationParallelDelegate = new ParameterizedThreadStart(PersistReplicasAsync); Parallelizer.StartNewProcess(replicationParallelDelegate, parallelParam); }
public async Task Abort() => await Parallelizer.Abort();
public async Task Stop() => await Parallelizer.Stop();
public async Task Pause() { await Parallelizer.Pause(); AnsiConsole.MarkupLine($"[darkorange]pause at {Parallelizer.StartTime}[/]"); }
public Checker(Parallelizer <BotInput, bool> parallelizer, CheckerStats checkerStats, Record record) { Parallelizer = parallelizer; Stats = checkerStats; _record = record; }