public async Task <IActionResult> CreateModel([FromBody] CreateMachineLearningModel request) { Guid trainingId = Guid.NewGuid(); Guid correlationId = Guid.NewGuid(); await _bus.Publish(new StartTraining( id : request.TargetFolderId, parentId : request.TargetFolderId, sourceBlobId : request.SourceBlobId, scaler : request.Scaler ?? "", sourceBucket : request.SourceBucket, correlationId : correlationId, userId : request.UserId, sourceFileName : request.SourceFileName, methods : request.Methods, className : request.TrainingParameter, subSampleSize : request.SubSampleSize, testDataSize : request.TestDataSize, kFold : request.KFold, fingerprints : request.Fingerprints == null ? new List <Dictionary <string, object> >() : request.Fingerprints.Select(f => new Dictionary <string, object>() { { "Type", f.Type }, { "Size", f.Size }, { "Radius", f.Radius } }), optimize : request.Optimize, hyperParameters : request.HyperParameters, dnnLayers : request.DnnLayers, dnnNeurons : request.DnnNeurons )); return(Accepted(new { modelFolderId = request.TargetFolderId, correlationId = correlationId })); }
public static async Task <HttpResponseMessage> MachineLearningTrain(this OsdrWebClient client, Guid sourceBlobId, string sourceBucket, Guid userId, Guid parentId, bool optimize) { var folderId = Guid.NewGuid(); var createMLModel = new CreateMachineLearningModel { TargetFolderId = folderId, SourceBlobId = sourceBlobId, Scaler = "some sting named as Scaler", SourceBucket = sourceBucket, UserId = userId, SourceFileName = "combined lysomotrophic.sdf", Methods = new List <string> { "NaiveBayes" }, TrainingParameter = "Soluble", SubSampleSize = 1, TestDataSize = new decimal(.1), KFold = 2, ModelType = "Classification", Fingerprints = new List <Fingerprint> { new Fingerprint { Type = "ecfp", Radius = 2, Size = 512 } }, Optimize = optimize }; var postParameters = JsonConvert.SerializeObject(createMLModel); var response = await client.PostData("/api/machinelearning/models", postParameters); return(response); }