diff options
Diffstat (limited to 'frontend/src/app/_pages')
-rw-r--r-- | frontend/src/app/_pages/add-model/add-model.component.html | 59 | ||||
-rw-r--r-- | frontend/src/app/_pages/add-model/add-model.component.ts | 23 |
2 files changed, 46 insertions, 36 deletions
diff --git a/frontend/src/app/_pages/add-model/add-model.component.html b/frontend/src/app/_pages/add-model/add-model.component.html index 62468b2d..97b35b7a 100644 --- a/frontend/src/app/_pages/add-model/add-model.component.html +++ b/frontend/src/app/_pages/add-model/add-model.component.html @@ -287,6 +287,8 @@ </div> <div class="row p-2"> + <!--***********************************ENKODER*********************************************--> + <div class="col-1"> </div> <div class="col-3"> @@ -300,6 +302,9 @@ </option> </select> </div> + + <!--***********************************BROJ NEURONA SKRIVENOG SLOJA*********************************************--> + <div class="col-1"> </div> <div class="col-3"> @@ -310,6 +315,7 @@ [(ngModel)]="newModel.hiddenLayerNeurons"> </div> </div> + <!--***********************************OPTIMIZACIJA*********************************************--> <div class="row p-2"> <div class="col-1"> @@ -335,7 +341,6 @@ <input type="number" min="1" class="form-control" name="batchSize" [(ngModel)]="newModel.batchSize"> </div> </div> - <!--***********************************LOSS FUNCTION*********************************************--> <div class="row p-2"> <div class="col-1"> </div> @@ -344,7 +349,7 @@ </div> <div class="col-2"> <select id=lossFunctionOptions class="form-control" name="lossFunction" - [(ngModel)]="newModel.lossFunction"> + [(ngModel)]="newModel.lossFunction" aria-checked="true"> <option *ngFor="let option of Object.keys(lossFunction); let optionName of Object.values(lossFunction)" [value]="option"> @@ -352,40 +357,14 @@ </option> </select> </div> - <div class="col-1"> - </div> - - <!-- ************************************************************************************************** --> + <div class="col-1"></div> <div class="col-3 mt-2"> <label for="type" class="form-check-label">Nasumičan redosled podataka?</label> <input class="mx-3 form-check-input" type="checkbox" [(ngModel)]="newModel.randomOrder" type="checkbox" value="" checked> </div> - <div class="col-1"> - </div> </div> - - <!--<div class="row p-2"> - <div class="col-3"></div> - <div class="col-3"> - <label for="hiddenLayerActivationFunction" class="col-form-label">Funkcija aktivacije skrivenih - slojeva:</label> - </div> - <div class="col-3"> - <div *ngFor="let item of [].constructor(newModel.hiddenLayers); let i = index"> - <select [id]="'hiddenLayerActivationFunctionOption_'+i" class="form-control" - [(ngModel)]="newModel.hiddenLayerActivationFunctions[i]"> - <option - *ngFor="let option of Object.keys(ActivationFunction); let optionName of Object.values(ActivationFunction)" - [value]="option"> - {{ optionName }} - </option> - </select> - </div> - </div> - <div class="col-3"></div> - </div> - --> + <!--************************************************************************************************* --> <div class="border m-3"> <div class="row p-2 m-2"> <div class="col-4"> @@ -465,10 +444,26 @@ </div> </div> - <br><br> + <!--**********************************************METRIKE ZA KOMPAJLER I GRAFIKE***********************************************--> + + <hr> + <div class="form-check form-check-inline overflow-auto " style="width: max-content;"> + <h3>Izaberite metrike:</h3> + <div id="divMetricsinput"> + + <div *ngFor="let option of Object.keys(metrics); let optionName of Object.values(metrics) " + class="form-check form-check-inline"> + + <input name="cbmetrics" class="form-check-input" type="checkbox" value="{{option}}" + id="metrics_{{option}}" style="float: left;"> + <label class="form-check-label" for="metrics_{{option}}" for="inlineCheckbox2"> + {{optionName}} + </label> + </div> + </div> + </div> <!--<app-annvisual [model]="newModel"></app-annvisual>--> - <br><br> <div class="form-group row mt-5 mb-3"> <div class="col"></div> <button class="btn btn-lg col-4" style="background-color:#003459; color:white;" diff --git a/frontend/src/app/_pages/add-model/add-model.component.ts b/frontend/src/app/_pages/add-model/add-model.component.ts index ec64a3b7..b35b9fa4 100644 --- a/frontend/src/app/_pages/add-model/add-model.component.ts +++ b/frontend/src/app/_pages/add-model/add-model.component.ts @@ -1,6 +1,6 @@ import { Component, OnInit, ViewChild } from '@angular/core'; import Model, { LossFunctionBinaryClassification, LossFunctionMultiClassification, LossFunctionRegression, NullValReplacer, ReplaceWith } from 'src/app/_data/Model'; -import { ProblemType, Encoding, ActivationFunction, LossFunction, Optimizer, NullValueOptions } from 'src/app/_data/Model'; +import { ProblemType, Encoding, ActivationFunction, LossFunction, Optimizer, NullValueOptions, Metrics, MetricsRegression, MetricsBinaryClassification, MetricsMultiClassification } from 'src/app/_data/Model'; import { DatasetLoadComponent } from 'src/app/_elements/dataset-load/dataset-load.component'; import { ModelsService } from 'src/app/_services/models.service'; import shared from 'src/app/Shared'; @@ -10,6 +10,7 @@ import { DatasetsService } from 'src/app/_services/datasets.service'; import { NgxCsvParser } from 'ngx-csv-parser'; import { CsvParseService } from 'src/app/_services/csv-parse.service'; + @Component({ selector: 'app-add-model', templateUrl: './add-model.component.html', @@ -27,7 +28,7 @@ export class AddModelComponent implements OnInit { ProblemType = ProblemType; Encoding = Encoding; ActivationFunction = ActivationFunction; - activationFunction: any = ActivationFunction + metrics: any = Metrics; LossFunction = LossFunction; lossFunction: any = LossFunction; Optimizer = Optimizer; @@ -54,10 +55,10 @@ export class AddModelComponent implements OnInit { term: string = ""; selectedProblemType: string = ''; + selectedMetrics = []; trainingResult: string | undefined; - constructor(private models: ModelsService, private datasets: DatasetsService, private csv: CsvParseService) { this.newModel = new Model(); @@ -112,6 +113,7 @@ export class AddModelComponent implements OnInit { this.getCheckedInputCols(); this.getCheckedOutputCol(); + this.getMetrics(); if (this.validationInputsOutput()) { console.log('ADD MODEL: STEP 1 - UPLOAD FILE'); @@ -159,7 +161,7 @@ export class AddModelComponent implements OnInit { if (this.selectedDataset) { //dataset je izabran this.getCheckedInputCols(); this.getCheckedOutputCol(); - + this.getMetrics(); if (this.validationInputsOutput()) { this.newModel.datasetId = this.selectedDataset._id; @@ -475,17 +477,30 @@ export class AddModelComponent implements OnInit { switch (this.newModel.type) { case 'regresioni': this.lossFunction = LossFunctionRegression; + this.metrics = MetricsRegression; break; case 'binarni-klasifikacioni': this.lossFunction = LossFunctionBinaryClassification; + this.metrics = MetricsBinaryClassification; break; case 'multi-klasifikacioni': this.lossFunction = LossFunctionMultiClassification; + this.metrics = MetricsMultiClassification; break; default: break; } } + getMetrics() { + this.newModel.metrics = []; + let cb = document.getElementsByName("cbmetrics"); + for (let i = 0; i < cb.length; i++) { + let chb = <HTMLInputElement>cb[i]; + if (chb.checked == true) + this.newModel.metrics.push(chb.value); + } + + } } |