aboutsummaryrefslogtreecommitdiff
path: root/frontend/src/app/_elements/model-load/model-load.component.ts
diff options
context:
space:
mode:
Diffstat (limited to 'frontend/src/app/_elements/model-load/model-load.component.ts')
-rw-r--r--frontend/src/app/_elements/model-load/model-load.component.ts48
1 files changed, 40 insertions, 8 deletions
diff --git a/frontend/src/app/_elements/model-load/model-load.component.ts b/frontend/src/app/_elements/model-load/model-load.component.ts
index 745dc12e..fb4b3fd0 100644
--- a/frontend/src/app/_elements/model-load/model-load.component.ts
+++ b/frontend/src/app/_elements/model-load/model-load.component.ts
@@ -1,7 +1,10 @@
-import { Component, OnInit, ViewChild, Output, EventEmitter } from '@angular/core';
+import { Component, OnInit, ViewChild, Output, EventEmitter, Input } from '@angular/core';
import Shared from 'src/app/Shared';
+import Experiment from 'src/app/_data/Experiment';
import Model, { ActivationFunction, LossFunction, LossFunctionBinaryClassification, LossFunctionMultiClassification, LossFunctionRegression, Metrics, MetricsBinaryClassification, MetricsMultiClassification, MetricsRegression, NullValueOptions, Optimizer, ProblemType } from 'src/app/_data/Model';
+import { AuthService } from 'src/app/_services/auth.service';
import { ModelsService } from 'src/app/_services/models.service';
+import { SignalRService } from 'src/app/_services/signal-r.service';
import { GraphComponent } from '../graph/graph.component';
@@ -13,6 +16,7 @@ import { GraphComponent } from '../graph/graph.component';
export class ModelLoadComponent implements OnInit {
@ViewChild(GraphComponent) graph!: GraphComponent;
+ @Input() forExperiment?: Experiment;
@Output() selectedModelChangeEvent = new EventEmitter<Model>();
newModel: Model = new Model();
@@ -29,21 +33,44 @@ export class ModelLoadComponent implements OnInit {
shared = Shared;
term: string = "";
- selectedProblemType: string = '';
selectedMetrics = [];
lossFunction: any = LossFunction;
showMyModels: boolean = true;
- constructor(private modelsService: ModelsService) {
+ batchSizePower: number = 2;
+
+ constructor(private modelsService: ModelsService, private authService: AuthService) {
+ //console.log("forExperiment = ", this.forExperiment);
+ this.fetchModels();
+
+ this.authService.loggedInEvent.subscribe(_ => {
+ this.fetchModels();
+ })
+ }
+
+ fetchModels(andSelectWithId: string | null = '') {
+ //if (this.forExperiment == undefined) {
this.modelsService.getMyModels().subscribe((models) => {
- this.myModels = models;
+ this.myModels = models.reverse();
+ this.selectThisModel(this.myModels.filter(x => x._id == andSelectWithId)[0]);
});
+ /*}
+ else {
+ this.modelsService.getMyModelsByType(ProblemType.Regression).subscribe((models) => {
+ this.myModels = models;
+ //console.log("modeli po tipu: ", this.myModels);
+ });
+ }*/
}
ngOnInit(): void {
}
+ updateBatchSize() {
+ this.newModel.batchSize = 2 ** this.batchSizePower;
+ }
+
updateGraph() {
this.graph.update();
}
@@ -62,12 +89,17 @@ export class ModelLoadComponent implements OnInit {
uploadModel() {
this.getMetrics();
- this.newModel.username = Shared.username;
+ this.newModel.uploaderId = Shared.userId;
this.modelsService.addModel(this.newModel).subscribe((response) => {
- Shared.openDialog('Model dodat', 'Model je uspešno dodat u bazu.');
- // treba da se selektuje nov model u listi modela
- //this.selectedModel =
+ console.log(this.newModel);
+ //Shared.openDialog('Model dodat', 'Model je uspešno dodat u bazu.');
+
+ Shared.openYesNoDialog("Model dodat", "Model je uspešno dodat u bazu. Da li želite da nastavite treniranje sa dodatim modelom?", () => {
+ this.fetchModels(response._id);
+ this.showMyModels = true;
+ });
+ this.fetchModels();
}, (error) => {
Shared.openDialog('Greška', 'Model sa unetim nazivom već postoji u Vašoj kolekciji. Promenite naziv modela i nastavite sa kreiranim datasetom.');
});