From 046f40af17e6144f98c9ca7fdaf069f270895136 Mon Sep 17 00:00:00 2001 From: TAMARA JERINIC Date: Fri, 8 Apr 2022 20:03:01 +0200 Subject: Omogućen izbor learning rate-a. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/microservice/api/newmlservice.py | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'backend') diff --git a/backend/microservice/api/newmlservice.py b/backend/microservice/api/newmlservice.py index 02f2ad6d..a92307c5 100644 --- a/backend/microservice/api/newmlservice.py +++ b/backend/microservice/api/newmlservice.py @@ -222,6 +222,31 @@ def train(dataset, params, callback): classifier.add(tf.keras.layers.Dense(units=params['hiddenLayerNeurons'], activation=params['hiddenLayerActivationFunctions'][i+1]))#i-ti skriveni sloj classifier.add(tf.keras.layers.Dense(units=5, activation=params['outputLayerActivationFunction']))#izlazni sloj + if(params['optimizer']=='Adam'): + opt=tf.keras.optimizers.Adam(learning_rate=params['learningRate']) + + elif(params['optimizer']=='Adadelta'): + opt=tf.keras.optimizers.Adadelta(learning_rate=params['learningRate']) + + elif(params['optimizer']=='Adagrad'): + opt=tf.keras.optimizers.Adagrad(learning_rate=params['learningRate']) + + elif(params['optimizer']=='Adamax'): + opt=tf.keras.optimizers.Adamax(learning_rate=params['learningRate']) + + elif(params['optimizer']=='Nadam'): + opt=tf.keras.optimizers.Nadam(learning_rate=params['learningRate']) + + elif(params['optimizer']=='SGD'): + opt=tf.keras.optimizers.SGD(learning_rate=params['learningRate']) + + elif(params['optimizer']=='Ftrl'): + opt=tf.keras.optimizers.Ftrl(learning_rate=params['learningRate']) + + elif(params['optimizer']=='RMSprop'): + opt=tf.keras.optimizers.RMSprop(learning_rate=params['learningRate']) + + classifier.compile(loss =params["lossFunction"] , optimizer = params['optimizer'] , metrics =params['metrics']) history=classifier.fit(x_train, y_train, epochs = params['epochs'],batch_size=params['batchSize']) -- cgit v1.2.3 From bf4e38854847c133244cd70f89e899116a7d1a60 Mon Sep 17 00:00:00 2001 From: Nevena Bojovic Date: Fri, 8 Apr 2022 23:20:13 +0200 Subject: Promenjeni predictor i experiment. --- backend/api/api/Controllers/ExperimentController.cs | 14 +++++++++++++- backend/api/api/Controllers/PredictorController.cs | 12 +++++++++++- backend/api/api/Models/Experiment.cs | 2 ++ backend/api/api/Models/Predictor.cs | 2 ++ backend/api/api/Services/IMlConnectionService.cs | 2 ++ 5 files changed, 30 insertions(+), 2 deletions(-) (limited to 'backend') diff --git a/backend/api/api/Controllers/ExperimentController.cs b/backend/api/api/Controllers/ExperimentController.cs index 2a2db31e..190c0e01 100644 --- a/backend/api/api/Controllers/ExperimentController.cs +++ b/backend/api/api/Controllers/ExperimentController.cs @@ -15,11 +15,15 @@ namespace api.Controllers private readonly IExperimentService _experimentService; private IJwtToken jwtToken; + private readonly IMlConnectionService _mlConnectionService; + private readonly IFileService _fileService; - public ExperimentController(IExperimentService experimentService, IConfiguration configuration, IJwtToken Token) + public ExperimentController(IExperimentService experimentService, IConfiguration configuration, IJwtToken Token, IMlConnectionService mlConnectionService, IFileService fileService) { _experimentService = experimentService; jwtToken = Token; + _mlConnectionService = mlConnectionService; + _fileService = fileService; } [HttpPost("add")] @@ -35,6 +39,14 @@ namespace api.Controllers uploaderId = jwtToken.TokenToId(parameter); if (uploaderId == null) return null; + else + { + FileModel fileModel = _fileService.getFile(experiment.fileId); + experiment.isPreProcess = false; + _experimentService.Create(experiment); + _mlConnectionService.PreProcess(experiment, fileModel.path); + return Ok(); + } } else return BadRequest(); diff --git a/backend/api/api/Controllers/PredictorController.cs b/backend/api/api/Controllers/PredictorController.cs index 161271e2..20d8f962 100644 --- a/backend/api/api/Controllers/PredictorController.cs +++ b/backend/api/api/Controllers/PredictorController.cs @@ -15,11 +15,16 @@ namespace api.Controllers { private readonly IPredictorService _predictorService; private IJwtToken jwtToken; + private readonly IMlConnectionService _mlConnectionService; + private readonly IFileService _fileService; - public PredictorController(IPredictorService predictorService, IConfiguration configuration, IJwtToken Token) + public PredictorController(IPredictorService predictorService, IConfiguration configuration, IJwtToken Token, IMlConnectionService mlConnectionService, IFileService fileService) { _predictorService = predictorService; jwtToken = Token; + _mlConnectionService = mlConnectionService; + _fileService = fileService; + } // GET: api//mypredictors @@ -183,6 +188,11 @@ namespace api.Controllers _predictorService.Create(predictor); return CreatedAtAction(nameof(Get), new { id = predictor._id }, predictor); + FileModel fileModel = _fileService.getFile(predictor.fileId); + predictor.isPreProcess = false; + _predictorService.Create(predictor); + _mlConnectionService.PreProcess(predictor, fileModel.path); + return Ok(); } } diff --git a/backend/api/api/Models/Experiment.cs b/backend/api/api/Models/Experiment.cs index 6de3f169..903d6dae 100644 --- a/backend/api/api/Models/Experiment.cs +++ b/backend/api/api/Models/Experiment.cs @@ -18,6 +18,8 @@ namespace api.Models public float randomTestSetDistribution { get; set; } public string nullValues { get; set; } public NullValues[] nullValuesReplacers { get; set; } + public string fileId { get; set; } + public bool isPreProcess { get; set; } } } diff --git a/backend/api/api/Models/Predictor.cs b/backend/api/api/Models/Predictor.cs index 5fd2aa09..d4ee9fa7 100644 --- a/backend/api/api/Models/Predictor.cs +++ b/backend/api/api/Models/Predictor.cs @@ -18,6 +18,8 @@ namespace api.Models public bool accessibleByLink { get; set; } public DateTime dateCreated { get; set; } public string experimentId { get; set; } + public string fileId { get; set; } + public bool isPreProcess { get; set; } } } diff --git a/backend/api/api/Services/IMlConnectionService.cs b/backend/api/api/Services/IMlConnectionService.cs index ea73fb0f..8d7e207d 100644 --- a/backend/api/api/Services/IMlConnectionService.cs +++ b/backend/api/api/Services/IMlConnectionService.cs @@ -7,6 +7,8 @@ namespace api.Services { Task SendModelAsync(object model, object dataset); Task PreProcess(Dataset dataset, string filePath); + Task PreProcess(Experiment experiment, string filePath); + Task PreProcess(Predictor predictor, string filePath); //Task PreProcess(Dataset dataset, byte[] file, string filename); } } \ No newline at end of file -- cgit v1.2.3