From cc3118ecac17539607f34ce3467347abc56f0240 Mon Sep 17 00:00:00 2001 From: Sonja Galovic Date: Thu, 7 Apr 2022 15:10:28 +0200 Subject: Tokom eksperimenta korisnik moze da izabere postojeci model ili da doda novi. Izmenjena model-load i experiment.component. Radi dodavanje dataseta i modela --- .../_elements/model-load/model-load.component.css | 13 + .../_elements/model-load/model-load.component.html | 409 +++++++++++---------- .../_elements/model-load/model-load.component.ts | 35 +- .../src/app/experiment/experiment.component.html | 12 +- .../src/app/experiment/experiment.component.ts | 7 +- 5 files changed, 278 insertions(+), 198 deletions(-) (limited to 'frontend/src/app') diff --git a/frontend/src/app/_elements/model-load/model-load.component.css b/frontend/src/app/_elements/model-load/model-load.component.css index e69de29b..8e9a66f6 100644 --- a/frontend/src/app/_elements/model-load/model-load.component.css +++ b/frontend/src/app/_elements/model-load/model-load.component.css @@ -0,0 +1,13 @@ +.btnType1 { + background-color: #003459; + color: white; +} +.btnType2 { + background-color: white; + color: #003459; + border-color: #003459; +} +.selectedModelClass { + /*border-color: 2px solid #003459;*/ + background-color: lightblue; +} \ No newline at end of file diff --git a/frontend/src/app/_elements/model-load/model-load.component.html b/frontend/src/app/_elements/model-load/model-load.component.html index 0c6735a9..62f0932f 100644 --- a/frontend/src/app/_elements/model-load/model-load.component.html +++ b/frontend/src/app/_elements/model-load/model-load.component.html @@ -1,221 +1,258 @@ +
-
-

Nov model:

+
- - -
-
- -
- -
-
-
-    -
+ +

ili

+
-

Parametri treniranja:

-
-
-
-
-
- -
-
- -
-
-
-
- -
-
- -
+ +
+ +
+
+
+
    +
  • + +
  • +
+
+ +
+
-
-
-
-
- -
-
- -
-
-
+
+
+
- + +
-
- -
-
- -
-
-
-
- +
+ +
+ +
- -
-
-
-
- -
-
- +    +
-
-
-
-
- -
-
- -
-
-
- - +

Parametri treniranja:

+
+
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
-
-
-
-
- + +
+
-
- trening - - - test +
+ +
+
+ +
+ +
+
+
+ +
+
+
-
-
- +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+
+
+
- + +
+
+
+ +
-
-

Aktivacione funkcije:

+
+
+
+ +
+
+ trening + + + test +
+
-
-
- +
+
+ +
+
+ +
+
-
-
-
-
- #{{i+1}} +

Aktivacione funkcije:

+ +
+
+ +
+
+
+
+
+ #{{i+1}} +
+
-
-
-
- -
-
- -
-
+
+ +
+
+ +
+
+
-
-

-
-
-

Izaberite metrike:

-
+

+
+
+

Izaberite metrike:

+
-
+
- - + + +
-
-
-
- -
+
+
+ +
+
\ No newline at end of file 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 1d38de68..6db40916 100644 --- a/frontend/src/app/_elements/model-load/model-load.component.ts +++ b/frontend/src/app/_elements/model-load/model-load.component.ts @@ -2,6 +2,9 @@ import { Component, OnInit } from '@angular/core'; import Shared from 'src/app/Shared'; import Model, { ActivationFunction, Encoding, LossFunction, LossFunctionBinaryClassification, LossFunctionMultiClassification, LossFunctionRegression, Metrics, MetricsBinaryClassification, MetricsMultiClassification, MetricsRegression, NullValueOptions, Optimizer, ProblemType } from 'src/app/_data/Model'; import { ModelsService } from 'src/app/_services/models.service'; +import { Output } from '@angular/core'; +import { EventEmitter } from '@angular/core'; + @Component({ selector: 'app-model-load', @@ -10,7 +13,11 @@ import { ModelsService } from 'src/app/_services/models.service'; }) export class ModelLoadComponent implements OnInit { + @Output() selectedModelChangeEvent = new EventEmitter(); + newModel: Model = new Model(); + myModels?: Model[]; + selectedModel?: Model; ProblemType = ProblemType; Encoding = Encoding; @@ -28,7 +35,13 @@ export class ModelLoadComponent implements OnInit { tempTestSetDistribution = 90; lossFunction: any = LossFunction; - constructor(private models: ModelsService) { } + showMyModels: boolean = true; + + constructor(private modelsService: ModelsService) { + this.modelsService.getMyModels().subscribe((models) => { + this.myModels = models; + }); + } ngOnInit(): void { } @@ -44,17 +57,18 @@ export class ModelLoadComponent implements OnInit { } } - addModel() { + uploadModel() { //console.log(this.selectedModel); this.getMetrics(); this.newModel.randomTestSetDistribution = 1 - Math.round(this.tempTestSetDistribution / 100 * 10) / 10; this.newModel.username = Shared.username; - this.models.addModel(this.newModel).subscribe((response) => { + 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 = }, (error) => { - Shared.openDialog('Greška', 'Model sa unetim nazivom već postoji u Vašoj kolekciji.\nPromenite naziv modela i nastavite sa kreiranim datasetom.'); + Shared.openDialog('Greška', 'Model sa unetim nazivom već postoji u Vašoj kolekciji. Promenite naziv modela i nastavite sa kreiranim datasetom.'); }); } @@ -76,4 +90,17 @@ export class ModelLoadComponent implements OnInit { break; } } + + viewMyModelsForm() { + this.showMyModels = true; + } + viewNewModelForm() { + this.showMyModels = false; + } + + selectThisModel(model: Model) { + this.selectedModel = model; + this.selectedModelChangeEvent.emit(this.selectedModel); + } + } diff --git a/frontend/src/app/experiment/experiment.component.html b/frontend/src/app/experiment/experiment.component.html index ac0735fb..504a1bb0 100644 --- a/frontend/src/app/experiment/experiment.component.html +++ b/frontend/src/app/experiment/experiment.component.html @@ -66,11 +66,9 @@
-
+
- {{column.columnName}} ( - {{column.numNulls}} - null) + {{column.columnName}} ({{column.numNulls}} null) @@ -138,6 +136,7 @@
+ {{ option }} @@ -182,7 +180,7 @@ (change)="emptyFillTextInput(column.columnName)" checked>
- + -->
@@ -190,7 +188,7 @@

3. Podešavanja mreže

- +

4. Treniraj model

diff --git a/frontend/src/app/experiment/experiment.component.ts b/frontend/src/app/experiment/experiment.component.ts index ada0484e..6af5d686 100644 --- a/frontend/src/app/experiment/experiment.component.ts +++ b/frontend/src/app/experiment/experiment.component.ts @@ -29,10 +29,15 @@ export class ExperimentComponent implements OnInit { } updateDataset(dataset: Dataset) { - console.log(dataset); + //console.log(dataset); this.selectedDataset = dataset; } + updateModel(model: Model) { + //console.log(model); + this.selectedModel = model; + } + getInputById(id: string): HTMLInputElement { return document.getElementById(id) as HTMLInputElement; } -- cgit v1.2.3