diff options
Diffstat (limited to 'frontend/src/app/training')
-rw-r--r-- | frontend/src/app/training/training.component.html | 4 | ||||
-rw-r--r-- | frontend/src/app/training/training.component.ts | 33 |
2 files changed, 24 insertions, 13 deletions
diff --git a/frontend/src/app/training/training.component.html b/frontend/src/app/training/training.component.html index 0849d0c3..25a29828 100644 --- a/frontend/src/app/training/training.component.html +++ b/frontend/src/app/training/training.component.html @@ -33,9 +33,7 @@ <h2 class="mt-5">Rezultati treniranja</h2> <div class="m-3" *ngIf="trainingResult"> <h2 class="my-2">Rezultati treniranja:</h2> - <p> - {{trainingResult}} - </p> + <app-metric-view *ngIf="trainingResult" [metrics]="trainingResult"></app-metric-view> </div> </div> diff --git a/frontend/src/app/training/training.component.ts b/frontend/src/app/training/training.component.ts index bff3304f..a0bec8e2 100644 --- a/frontend/src/app/training/training.component.ts +++ b/frontend/src/app/training/training.component.ts @@ -3,6 +3,7 @@ import { ActivatedRoute } from '@angular/router'; import Shared from '../Shared'; import Experiment from '../_data/Experiment'; import Model, { ProblemType } from '../_data/Model'; +import { MetricViewComponent } from '../_elements/metric-view/metric-view.component'; import { ModelLoadComponent } from '../_elements/model-load/model-load.component'; import { AuthService } from '../_services/auth.service'; import { ExperimentsService } from '../_services/experiments.service'; @@ -19,6 +20,7 @@ export class TrainingComponent implements OnInit { @ViewChild(ModelLoadComponent) modelLoadComponent?: ModelLoadComponent; @ViewChild("trainButton") trainButtonRef!: ElementRef; + @ViewChild(MetricViewComponent) metricViewComponent!: MetricViewComponent; myExperiments?: Experiment[]; selectedExperiment?: Experiment; @@ -26,16 +28,11 @@ export class TrainingComponent implements OnInit { trainingResult: any; + history: any[] = []; + term: string = ""; constructor(private modelsService: ModelsService, private route: ActivatedRoute, private experimentsService: ExperimentsService, private authService: AuthService, private signalRService: SignalRService) { - if (this.signalRService.hubConnection) { - this.signalRService.hubConnection.on("NotifyEpoch", (mName: string, mId: string, stat: string, totalEpochs: number, currentEpoch: number) => { - if (this.selectedModel?._id == mId) { - this.trainingResult = stat; - } - }); - } } ngOnInit(): void { @@ -47,16 +44,32 @@ export class TrainingComponent implements OnInit { this.authService.loggedInEvent.subscribe(_ => { this.fetchExperiments(experimentId); - this.signalRService.startConnection() + this.signalRService.startConnection(); }); + + console.log(this.signalRService.hubConnection); + if (this.signalRService.hubConnection) { + this.signalRService.hubConnection.on("NotifyEpoch", (mName: string, mId: string, stat: string, totalEpochs: number, currentEpoch: number) => { + console.log(this.selectedModel?._id, mId); + if (this.selectedModel?._id == mId) { + stat = stat.replace(/'/g, '"'); + this.trainingResult = JSON.parse(stat); + //console.log('JSON', this.trainingResult); + this.history.push(this.trainingResult); + this.metricViewComponent.update(this.history); + } + }); + } }); } fetchExperiments(andSelectWithId: string | null = '') { this.experimentsService.getMyExperiments().subscribe((experiments) => { - this.myExperiments = experiments; + this.myExperiments = experiments.reverse(); this.selectedExperiment = this.myExperiments.filter(x => x._id == andSelectWithId)[0]; + if (this.modelLoadComponent) + this.modelLoadComponent.newModel.type = this.selectedExperiment.type; }); } @@ -85,7 +98,7 @@ export class TrainingComponent implements OnInit { this.modelsService.trainModel(this.selectedModel._id, this.selectedExperiment._id).subscribe((response: any) => { //console.log('Train model complete!', response); this.trainButtonRef.nativeElement.disabled = false; - Shared.openDialog("Obaveštenje", "Treniranje modela je uspešno završeno!"); + Shared.openDialog("Obaveštenje", "Treniranje modela je počelo!"); this.trainingResult = response; }); } |