aboutsummaryrefslogtreecommitdiff
path: root/frontend/src/app/_pages/add-model/add-model.component.ts
diff options
context:
space:
mode:
authorNevena Bojovic <nenabojov@gmail.com>2022-03-19 22:38:34 +0100
committerNevena Bojovic <nenabojov@gmail.com>2022-03-19 22:38:34 +0100
commit5f40d4a21a09b481343f894eab7970de895744d7 (patch)
tree3fcfaca394e9a9586bf944c389ffc4e907ec2664 /frontend/src/app/_pages/add-model/add-model.component.ts
parent347ce115be33fce7ce3bd7a91e240f8f4e3fb901 (diff)
parentff5bf81a14d3024f8ff1764db488dec6790ed37e (diff)
Merge branch 'dev' of http://gitlab.pmf.kg.ac.rs/igrannonica/neuronstellar into dev
Diffstat (limited to 'frontend/src/app/_pages/add-model/add-model.component.ts')
-rw-r--r--frontend/src/app/_pages/add-model/add-model.component.ts46
1 files changed, 31 insertions, 15 deletions
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 01e8ade9..a4cabb82 100644
--- a/frontend/src/app/_pages/add-model/add-model.component.ts
+++ b/frontend/src/app/_pages/add-model/add-model.component.ts
@@ -4,6 +4,7 @@ import Model from 'src/app/_data/Model';
import { ANNType, Encoding, ActivationFunction, LossFunction, Optimizer } 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';
@Component({
@@ -24,6 +25,7 @@ export class AddModelComponent implements OnInit {
LossFunction = LossFunction;
Optimizer = Optimizer;
Object = Object;
+ shared = shared;
constructor(private models: ModelsService) {
this.newModel = new Model();
@@ -35,23 +37,37 @@ export class AddModelComponent implements OnInit {
addModel() {
this.saveModel(false); //trajno cuvanje
}
+
trainModel() {
- this.saveModel(true).subscribe((modelId : any) => {
+ this.saveModel(true).subscribe((modelId: any) => {
if (modelId)
this.models.trainModel(modelId);
}); //privremeno cuvanje modela => vraca id sacuvanog modela koji cemo da treniramo sad
}
- saveModel(temporary: boolean) : any {
- if (this.datasetLoadComponent)
- this.models.addDataset(this.datasetLoadComponent?.dataset).subscribe((response) => {//id dataseta je response
- this.newModel.datasetId = response;
- this.getCheckedInputCols();
- this.getCheckedOutputCol();
- if (this.validationInputsOutput())
- return this.models.addModel(this.newModel); //id modela
- return of(null);
- });
+ saveModel(temporary: boolean): any {
+ this.getCheckedInputCols();
+ this.getCheckedOutputCol();
+ if (this.validationInputsOutput()) {
+ console.log('ADD MODEL: STEP 1 - UPLOAD FILE');
+ if (this.datasetLoadComponent) {
+ this.models.uploadData(this.datasetLoadComponent.files[0]).subscribe((file) => {
+ console.log('ADD MODEL: STEP 2 - ADD DATASET WITH FILE ID ' + file._id);
+ if (this.datasetLoadComponent) {
+ this.datasetLoadComponent.dataset.fileId = file._id;
+ this.datasetLoadComponent.dataset.username = shared.username;
+ this.models.addDataset(this.datasetLoadComponent.dataset).subscribe((dataset) => {
+ console.log('ADD MODEL: STEP 3 - ADD MODEL WITH DATASET ID ', dataset._id);
+ this.newModel.datasetId = dataset._id;
+ this.newModel.username = shared.username;
+ this.models.addModel(this.newModel).subscribe((response) => {
+ console.log('ADD MODEL: DONE! REPLY:\n', response);
+ });
+ });
+ }
+ });
+ }
+ }
}
getCheckedInputCols() {
@@ -73,17 +89,17 @@ export class AddModelComponent implements OnInit {
let thatRb = <HTMLInputElement>radiobuttons[i];
if (thatRb.checked) {
this.newModel.columnToPredict = thatRb.value;
- break;
+ break;
}
}
//console.log(this.checkedOutputCol);
}
- validationInputsOutput() : boolean {
+ validationInputsOutput(): boolean {
if (this.newModel.inputColumns.length == 0) {
alert("Molimo Vas da izaberete ulaznu kolonu/kolone za mrežu.")
return false;
- }
- for (let i = 0; i < this.newModel.inputColumns.length; i++) {
+ }
+ for (let i = 0; i < this.newModel.inputColumns.length; i++) {
if (this.newModel.inputColumns[i] == this.newModel.columnToPredict) {
let colName = this.newModel.columnToPredict;
alert("Izabrali ste istu kolonu (" + colName + ") kao ulaznu i izlaznu iz mreže. Korigujte izbor.");