Example #1
0
        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 }));
        }
Example #2
0
        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);
        }