diff options
author | Danijel Anđelković <adanijel99@gmail.com> | 2022-06-06 05:21:05 +0200 |
---|---|---|
committer | Danijel Anđelković <adanijel99@gmail.com> | 2022-06-06 05:21:05 +0200 |
commit | ec46487761e888935411cf4daa9e740913f2ee9b (patch) | |
tree | 21ce4bd508f2063f141c3039e3506ec30a3b81f6 | |
parent | fb12795236f6c3879e448ca1ef844ef7ace52a66 (diff) | |
parent | 0b356a0892d9630d5eaf325f3ef5b1b087500141 (diff) |
Merge branch 'redesign' of http://gitlab.pmf.kg.ac.rs/igrannonica/neuronstellar into redesign
9 files changed, 38 insertions, 25 deletions
diff --git a/backend/api/api/Services/ModelService.cs b/backend/api/api/Services/ModelService.cs index 1c690ca7..07581fc9 100644 --- a/backend/api/api/Services/ModelService.cs +++ b/backend/api/api/Services/ModelService.cs @@ -67,7 +67,7 @@ namespace api.Services public Model GetOneModelById(string userId, string id) { - return _model.Find(model => model.uploaderId == userId && model._id == id).FirstOrDefault(); + return _model.Find(model => (model.uploaderId == userId || model.isPublic || model.accessibleByLink) && model._id == id).FirstOrDefault(); } public Model GetOneModel(string id) diff --git a/frontend/src/app/_elements/column-table/column-table.component.html b/frontend/src/app/_elements/column-table/column-table.component.html index d5273d59..27e0f3bf 100644 --- a/frontend/src/app/_elements/column-table/column-table.component.html +++ b/frontend/src/app/_elements/column-table/column-table.component.html @@ -147,7 +147,7 @@ </div> </td> </tr> - <tr style="padding: 0;"> + <tr style="padding: 0;" *ngIf="experiment.encodings!=undefined"> <th style="background-color: var(--ns-primary);" (click)="openEncodingDialog()"> <span class="verticalAlign">Enkodiranje</span> <span class="material-icons-round verticalAlign rotate">settings</span> diff --git a/frontend/src/app/_elements/folder/folder.component.ts b/frontend/src/app/_elements/folder/folder.component.ts index 418b5a7f..9dfabdb3 100644 --- a/frontend/src/app/_elements/folder/folder.component.ts +++ b/frontend/src/app/_elements/folder/folder.component.ts @@ -63,6 +63,7 @@ export class FolderComponent implements AfterViewInit { this.signalRService.hubConnection.on("NotifyDataset", (dName: string, dId: string) => { if (this.type == FolderType.Dataset) { this.refreshFiles(dId); + this.okPressed.emit(); } this.saveDisabled = false; console.log("Notify dataset ", this.saveDisabled); @@ -298,7 +299,7 @@ export class FolderComponent implements AfterViewInit { this.formNewDataset!.uploadDataset((dataset: Dataset) => { this.newFile = undefined; this.loadingAction = false; - this.okPressed.emit(); + //this.okPressed.emit(); //Shared.openDialog("Obaveštenje", "Uspešno ste dodali novi izvor podataka u kolekciju. Molimo sačekajte par trenutaka da se obradi."); this.refreshFiles(); this.createNewFile(); diff --git a/frontend/src/app/_elements/form-model/form-model.component.html b/frontend/src/app/_elements/form-model/form-model.component.html index 55c802e9..1f0208fa 100644 --- a/frontend/src/app/_elements/form-model/form-model.component.html +++ b/frontend/src/app/_elements/form-model/form-model.component.html @@ -1,4 +1,4 @@ -<div *ngIf="newModel"> +<div *ngIf="newModel!=undefined"> <div id="container"> <div class="ns-row"> diff --git a/frontend/src/app/_elements/form-model/form-model.component.ts b/frontend/src/app/_elements/form-model/form-model.component.ts index f72ce6de..7831f573 100644 --- a/frontend/src/app/_elements/form-model/form-model.component.ts +++ b/frontend/src/app/_elements/form-model/form-model.component.ts @@ -27,11 +27,7 @@ export class FormModelComponent implements AfterViewInit { @Output() editEvent = new EventEmitter(); ngAfterViewInit(): void { - this.lossFunction = this.lossFunctions[this.forProblemType][0]; - this.outputLayerActivationFunction = this.outputLayerActivationFunctions[this.forProblemType][0]; - - this.newModel.lossFunction = this.lossFunction; - this.newModel.outputLayerActivationFunction = this.outputLayerActivationFunction; + } selectFormControl = new FormControl('', Validators.required); @@ -82,10 +78,17 @@ export class FormModelComponent implements AfterViewInit { loadModel(model: Model) { this.newModel = model; this.forProblemType = model.type; + this.lossFunction = this.lossFunctions[this.forProblemType][0]; + this.outputLayerActivationFunction = this.outputLayerActivationFunctions[this.forProblemType][0]; + + this.newModel.lossFunction = this.lossFunction; + this.newModel.outputLayerActivationFunction = this.outputLayerActivationFunction; + this.updateGraph(); } updateGraph() { - this.graph.update(); + if(this.newModel) + this.graph.update(); } removeLayer() { diff --git a/frontend/src/app/_pages/experiment/experiment.component.html b/frontend/src/app/_pages/experiment/experiment.component.html index 6bd921fd..3176f58c 100644 --- a/frontend/src/app/_pages/experiment/experiment.component.html +++ b/frontend/src/app/_pages/experiment/experiment.component.html @@ -67,8 +67,8 @@ <button mat-raised-button *ngIf="comparing" (click)="toggleCompare()"><mat-icon>not_interested</mat-icon> Prekini upoređivanje</button> </div> <div class="side-by-side"> - <app-folder #folderModel [type]="FolderType.Model" [forExperiment]="experiment" [startingTab]="TabType.NewFile" [tabsToShow]="[TabType.MyModels]" (okPressed)="goToPage(3); trainModel();" (selectedFileChanged)="setModel($event);"></app-folder> - <app-folder #folderModelCompare [type]="FolderType.Model" [forExperiment]="experiment" [startingTab]="TabType.MyModels" [tabsToShow]="[TabType.MyModels]" (okPressed)="goToPage(3); trainModelCmp();" (selectedFileChanged)="setModelCmp($event);" style="width: 50%;" + <app-folder #folderModel [type]="FolderType.Model" [forExperiment]="experiment" [startingTab]="TabType.NewFile" [tabsToShow]="[TabType.MyModels]" (okPressed)="trainModel();" (selectedFileChanged)="setModel($event);"></app-folder> + <app-folder #folderModelCompare [type]="FolderType.Model" [forExperiment]="experiment" [startingTab]="TabType.MyModels" [tabsToShow]="[TabType.MyModels]" (okPressed)=" trainModelCmp();" (selectedFileChanged)="setModelCmp($event);" style="width: 50%;" *ngIf="comparing"></app-folder> </div> </div> diff --git a/frontend/src/app/_pages/experiment/experiment.component.ts b/frontend/src/app/_pages/experiment/experiment.component.ts index 20a3afb0..e4d444b2 100644 --- a/frontend/src/app/_pages/experiment/experiment.component.ts +++ b/frontend/src/app/_pages/experiment/experiment.component.ts @@ -75,7 +75,10 @@ export class ExperimentComponent implements AfterViewInit { Shared.openDialog('Greška', 'Morate odabrati konfiguraciju neuronske mreže'); } else { this.modelsService.trainModel(this.modelToTrain._id, this.experiment._id).subscribe(() => { console.log("pocelo treniranje") }); - this.step4 = true; + this.step3 = true; + setTimeout(() => { + this.goToPage(3); + }); } } @@ -84,7 +87,10 @@ export class ExperimentComponent implements AfterViewInit { Shared.openDialog('Greška', 'Morate odabrati konfiguraciju neuronske mreže'); } else { this.modelsService.trainModel(this.modelToTrainCmp._id, this.experiment._id).subscribe(() => { console.log("pocelo treniranje") }); - this.step4 = true; + this.step3 = true; + setTimeout(() => { + this.goToPage(3); + }); } } @@ -268,10 +274,11 @@ export class ExperimentComponent implements AfterViewInit { } setDataset(dataset: FolderFile | null) { - if (dataset == null) { + if (dataset == null ||dataset==undefined) { this.columnTable.loaded = false; this.dataset = undefined; this.experiment.datasetId = ''; + this.step1=false; return; } const d = <Dataset>dataset; @@ -291,12 +298,12 @@ export class ExperimentComponent implements AfterViewInit { setModel(model: FolderFile) { const m = <Model>model; this.modelToTrain = m; - this.step3 = true; + //this.step3 = true; } setModelCmp(model: FolderFile) { const m = <Model>model; this.modelToTrainCmp = m; - this.step3 = true; + //this.step3 = true; } } diff --git a/frontend/src/app/_pages/page-model/page-model.component.html b/frontend/src/app/_pages/page-model/page-model.component.html index e494542f..0ac8aaae 100644 --- a/frontend/src/app/_pages/page-model/page-model.component.html +++ b/frontend/src/app/_pages/page-model/page-model.component.html @@ -1,4 +1,6 @@ <div class="force-centered" style="color: var(--offwhite);"> - <app-form-model [disableAll]="true"></app-form-model> + <div> + {{JSON.stringify(model)}} + </div> <button mat-raised-button class="m-3 p-2" (click)="import()">Uvezi</button> </div>
\ No newline at end of file diff --git a/frontend/src/app/_pages/page-model/page-model.component.ts b/frontend/src/app/_pages/page-model/page-model.component.ts index f988ef0d..0ccd0f9a 100644 --- a/frontend/src/app/_pages/page-model/page-model.component.ts +++ b/frontend/src/app/_pages/page-model/page-model.component.ts @@ -1,6 +1,7 @@ import { Component, OnInit, ViewChild } from '@angular/core'; import { ActivatedRoute, Router } from '@angular/router'; import Shared from 'src/app/Shared'; +import Experiment from 'src/app/_data/Experiment'; import Model from 'src/app/_data/Model'; import { FormModelComponent } from 'src/app/_elements/form-model/form-model.component'; import { ModelsService } from 'src/app/_services/models.service'; @@ -12,16 +13,14 @@ import { ModelsService } from 'src/app/_services/models.service'; }) export class PageModelComponent implements OnInit { - @ViewChild(FormModelComponent) formModel!: FormModelComponent; - constructor(private route: ActivatedRoute, private router: Router, private modelsService: ModelsService) { } - + model!:Model; ngOnInit(): void { this.route.queryParams.subscribe(params => { let id = this.route.snapshot.paramMap.get("id"); if (id) { this.modelsService.getModelById(id).subscribe((model) => { - this.formModel.newModel = model; + this.model = model; }); } else { this.router.navigate(['']); @@ -30,12 +29,13 @@ export class PageModelComponent implements OnInit { } import() { - this.formModel.newModel._id = ""; - this.formModel.newModel.isPublic = false; - this.modelsService.stealModel(this.formModel.newModel).subscribe((response) => { + this.model._id = ""; + this.model.isPublic = false; + this.modelsService.stealModel(this.model).subscribe((response) => { Shared.openDialog("Obaveštenje", "Uspešno ste dodali javnu konfiguraciju neuronske mreže u vašu kolekciju."); }, (error: any) => { Shared.openDialog("Obaveštenje", "Konfiguracija neuronske mreže sa ovim imenom postoji u vašoj kolekciji."); }); } + JSON=JSON; } |