aboutsummaryrefslogtreecommitdiff
path: root/frontend/src/app/_pages/add-model
diff options
context:
space:
mode:
Diffstat (limited to 'frontend/src/app/_pages/add-model')
-rw-r--r--frontend/src/app/_pages/add-model/add-model.component.html169
-rw-r--r--frontend/src/app/_pages/add-model/add-model.component.ts7
2 files changed, 154 insertions, 22 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 a14411e5..bc292bb9 100644
--- a/frontend/src/app/_pages/add-model/add-model.component.html
+++ b/frontend/src/app/_pages/add-model/add-model.component.html
@@ -1,4 +1,4 @@
-<div class="container p-3" style="background-color: rgb(249, 251, 253);">
+<div class="container p-3" style="background-color: rgb(249, 251, 253); min-height: 100%;">
<h2 class="my-4 text-primary"> Nov model: </h2>
<div class="form-group row align-items-center">
@@ -9,7 +9,8 @@
</div>
<div class="col-sm-3">
-
+ <input type="text" class="form-control-plaintext text-center" id="dateCreated" placeholder="--/--/--"
+ value="{{newModel.dateCreated | date: 'dd/MM/yyyy'}}" readonly>
</div>
</div>
@@ -20,16 +21,6 @@
</div>
</div>
- <div style="flex-direction: column; align-items: center; justify-items: center;">
- <label for="type">Tip: </label>
- <select id=typeOptions class="form-control" name="type" [(ngModel)]="newModel.type">
- <option *ngFor="let option of Object.keys(ANNType); let optionName of Object.values(ANNType)"
- [value]="option">
- {{ optionName }}
- </option>
- </select>
- </div>
-
<!--<div class="form-group row">
<label for="value" class="col-4">Vrednost</label>
<div class="input-group">
@@ -41,22 +32,158 @@
<input type="number" min="1" class="form-control" name="count" placeholder="Br." [(ngModel)]="newModel.count">
<input type="text" class="form-control" name="sum" placeholder="Suma"
value="=({{newModel.value * newModel.count}})" readonly>
- </div>
-</div>-->
+ </div>
+ </div>-->
<div class="my-4">
<label for="dataset">Izvor podataka:</label>
- <!--<app-upload-dataset id="dataset"></app-upload-dataset>-->
+ <app-dataset-load id="dataset"></app-dataset-load>
+ </div>
+
+ <div class="form-group row my-2">
+ <div class="col-sm-2 col-form-label">
+ <label for="type" class="form-check-label">Podela test skupa:
+ <input class="mx-3 form-check-input" type="checkbox" [checked]="newModel.randomTestSet"
+ (change)="newModel.randomTestSet = !newModel.randomTestSet">
+ </label>
+
+ </div>
+ <div>
+ <input type="range" min="0.1" max="0.9" step="0.1" class="form-control" name="randomTestSetDistribution"
+ [disabled]="!newModel.randomTestSet" [(ngModel)]="newModel.randomTestSetDistribution">
+ </div>
+ </div>
+
+ <h3> Parametri treniranja </h3>
+
+ <div class="form-group row my-2">
+ <label for="type" class="col-sm-2 col-form-label">Tip mreže: </label>
+ <div class="col-sm-10">
+ <select id=typeOptions class="form-control" name="type" [(ngModel)]="newModel.type">
+ <option *ngFor="let option of Object.keys(ANNType); let optionName of Object.values(ANNType)"
+ [value]="option">
+ {{ optionName }}
+ </option>
+ </select>
+ </div>
</div>
- <div class="form-group row">
+ <div class="form-group row my-2">
+ <label for="encoding" class="col-sm-2 col-form-label">Enkoding: </label>
+ <div class="col-sm-10">
+ <select id=encodingOptions class="form-control" name="encoding" [(ngModel)]="newModel.encoding">
+ <option *ngFor="let option of Object.keys(Encoding); let optionName of Object.values(Encoding)"
+ [value]="option">
+ {{ optionName }}
+ </option>
+ </select>
+ </div>
+ </div>
+
+ <div class="form-group row my-2">
+ <label for="optimizer" class="col-sm-2 col-form-label">Optimizacija: </label>
+ <div class="col-sm-10">
+ <select id=optimizerOptions class="form-control" name="optimizer" [(ngModel)]="newModel.optimizer">
+ <option *ngFor="let option of Object.keys(Optimizer); let optionName of Object.values(Optimizer)"
+ [value]="option">
+ {{ optionName }}
+ </option>
+ </select>
+ </div>
+ </div>
+
+ <div class="form-group row my-2">
+ <label for="lossFunction" class="col-sm-2 col-form-label">Funkcija obrade gubitka: </label>
+ <div class="col-sm-10">
+ <select id=lossFunctionOptions class="form-control" name="lossFunction" [(ngModel)]="newModel.lossFunction">
+ <option *ngFor="let option of Object.keys(LossFunction); let optionName of Object.values(LossFunction)"
+ [value]="option">
+ {{ optionName }}
+ </option>
+ </select>
+ </div>
+ </div>
+
+ <div class="form-group row my-2">
+ <label for="inputNeurons" class="col-sm-2 col-form-label">Broj ulaznih neurona: </label>
+ <div class="col-sm-10">
+ <input type="number" min="1" class="form-control" name="inputNeurons" [(ngModel)]="newModel.inputNeurons">
+ </div>
+ </div>
+
+ <div class="form-group row my-2">
+ <label for="inputLayerActivationFunction" class="col-sm-2 col-form-label">Funkcija aktivacije ulaznog sloja:
+ </label>
+ <div class="col-sm-10">
+ <select id=inputLayerActivationFunctionOptions class="form-control" name="inputLayerActivationFunction"
+ [(ngModel)]="newModel.inputLayerActivationFunction">
+ <option
+ *ngFor="let option of Object.keys(ActivationFunction); let optionName of Object.values(ActivationFunction)"
+ [value]="option">
+ {{ optionName }}
+ </option>
+ </select>
+ </div>
+ </div>
+
+ <div class="form-group row my-2">
+ <label for="hiddenLayerNeurons" class="col-sm-2 col-form-label">Broj neurona skrivenih slojeva: </label>
+ <div class="col-sm-10">
+ <input type="number" min="1" class="form-control" name="hiddenLayerNeurons"
+ [(ngModel)]="newModel.hiddenLayerNeurons">
+ </div>
+ </div>
+
+ <div class="form-group row my-2">
+ <label for="hiddenLayerActivationFunction" class="col-sm-2 col-form-label">Funkcija aktivacije skrivenih
+ slojeva:
+ </label>
+ <div class="col-sm-10">
+ <select id=hiddenLayerActivationFunctionOptions class="form-control" name="hiddenLayerActivationFunction"
+ [(ngModel)]="newModel.hiddenLayerActivationFunction">
+ <option
+ *ngFor="let option of Object.keys(ActivationFunction); let optionName of Object.values(ActivationFunction)"
+ [value]="option">
+ {{ optionName }}
+ </option>
+ </select>
+ </div>
+ </div>
+
+ <div class="form-group row my-2">
+ <label for="hiddenLayers" class="col-sm-2 col-form-label">Broj skrivenih slojeva: </label>
+ <div class="col-sm-10">
+ <input type="number" min="1" class="form-control" name="hiddenLayers" [(ngModel)]="newModel.hiddenLayers">
+ </div>
+ </div>
+
+ <div class="form-group row my-2">
+ <label for="outputLayerActivationFunction" class="col-sm-2 col-form-label">Funkcija aktivacije izlaznog
+ sloja:
+ </label>
+ <div class="col-sm-10">
+ <select id=outputLayerActivationFunctionOptions class="form-control" name="outputLayerActivationFunction"
+ [(ngModel)]="newModel.outputLayerActivationFunction">
+ <option
+ *ngFor="let option of Object.keys(ActivationFunction); let optionName of Object.values(ActivationFunction)"
+ [value]="option">
+ {{ optionName }}
+ </option>
+ </select>
+ </div>
+ </div>
+
+ <div class="form-group row my-2">
+ <label for="batchSize" class="col-sm-2 col-form-label">Broj uzorka po iteraciji: </label>
+ <div class="col-sm-10">
+ <input type="number" min="1" class="form-control" name="batchSize" [(ngModel)]="newModel.batchSize">
+ </div>
+ </div>
+
+ <div class=" form-group row my-4">
<div class="col-4"></div>
<button class="btn btn-lg btn-primary col-4" (click)="addModel();">Dodaj</button>
- <div class="col-1"></div>
- <div class="col-3">
- <input type="text" class="form-control-plaintext text-center" id="dateCreated" placeholder="--/--/--"
- value="{{newModel.dateCreated | date: 'dd/MM/yyyy'}}" readonly>
- </div>
+ <div class="col-4"></div>
</div>
</div> \ No newline at end of file
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 1836af52..3cb47d61 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 } from '@angular/core';
import Model from 'src/app/_data/Model';
-import { ANNType } from 'src/app/_data/Model';
+import { ANNType, Encoding, ActivationFunction, LossFunction, Optimizer } from 'src/app/_data/Model';
@Component({
selector: 'app-add-model',
@@ -10,7 +10,12 @@ import { ANNType } from 'src/app/_data/Model';
export class AddModelComponent implements OnInit {
newModel: Model
+
ANNType = ANNType;
+ Encoding = Encoding;
+ ActivationFunction = ActivationFunction;
+ LossFunction = LossFunction;
+ Optimizer = Optimizer;
Object = Object;
constructor() {