From a1cb52cef2b892bb3e148e9bd8cc55e817604835 Mon Sep 17 00:00:00 2001 From: liuzx Date: Thu, 8 Sep 2022 17:58:57 +0800 Subject: [PATCH 01/19] grampus version new --- routers/repo/grampus.go | 142 +++++++++++++++++- routers/routes/routes.go | 2 + .../repo/grampus/trainjob/gpu/versionnew.tmpl | 0 .../repo/grampus/trainjob/npu/versionnew.tmpl | 0 4 files changed, 141 insertions(+), 3 deletions(-) create mode 100644 templates/repo/grampus/trainjob/gpu/versionnew.tmpl create mode 100644 templates/repo/grampus/trainjob/npu/versionnew.tmpl diff --git a/routers/repo/grampus.go b/routers/repo/grampus.go index d7e799427..f4ab40f5e 100755 --- a/routers/repo/grampus.go +++ b/routers/repo/grampus.go @@ -1,7 +1,6 @@ package repo import ( - "code.gitea.io/gitea/services/cloudbrain/resource" "encoding/json" "errors" "fmt" @@ -13,6 +12,8 @@ import ( "strings" "time" + "code.gitea.io/gitea/services/cloudbrain/resource" + "code.gitea.io/gitea/modules/auth" "code.gitea.io/gitea/modules/git" "code.gitea.io/gitea/modules/grampus" @@ -34,10 +35,12 @@ const ( tplGrampusTrainJobShow base.TplName = "repo/grampus/trainjob/show" //GPU - tplGrampusTrainJobGPUNew base.TplName = "repo/grampus/trainjob/gpu/new" + tplGrampusTrainJobGPUNew base.TplName = "repo/grampus/trainjob/gpu/new" + tplGrampusTrainJobGPUVersionNew base.TplName = "repo/grampus/trainjob/gpu/versionnew" //NPU - tplGrampusTrainJobNPUNew base.TplName = "repo/grampus/trainjob/npu/new" + tplGrampusTrainJobNPUNew base.TplName = "repo/grampus/trainjob/npu/new" + tplGrampusTrainJobNPUVersionNew base.TplName = "repo/grampus/trainjob/npu/versionnew" ) func GrampusTrainJobGPUNew(ctx *context.Context) { @@ -137,6 +140,126 @@ func grampusTrainJobNewDataPrepare(ctx *context.Context, processType string) err return nil } +func GrampusTrainJobVersionNew(ctx *context.Context) { + task := ctx.Cloudbrain + if task.ComputeResource == models.GPUResource { + err := grampusTrainJobVersionNewDataPrepare(ctx, grampus.ProcessorTypeGPU) + if err != nil { + ctx.ServerError("get new train-job version info failed", err) + return + } + ctx.HTML(http.StatusOK, tplGrampusTrainJobGPUVersionNew) + } else if task.ComputeResource == models.NPUResource { + err := grampusTrainJobVersionNewDataPrepare(ctx, grampus.ProcessorTypeNPU) + if err != nil { + ctx.ServerError("get new train-job version info failed", err) + return + } + ctx.HTML(200, tplGrampusTrainJobNPUVersionNew) + } +} + +func grampusTrainJobVersionNewDataPrepare(ctx *context.Context, processType string) error { + ctx.Data["PageIsCloudBrain"] = true + + t := time.Now() + var displayJobName = jobNamePrefixValid(cutString(ctx.User.Name, 5)) + t.Format("2006010215") + strconv.Itoa(int(t.Unix()))[5:] + ctx.Data["display_job_name"] = displayJobName + + //get valid images + images, err := grampus.GetImages(processType) + if err != nil { + log.Error("GetImages failed:", err.Error()) + } else { + ctx.Data["images"] = images.Infos + } + + grampus.InitSpecialPool() + + ctx.Data["GPUEnabled"] = true + ctx.Data["NPUEnabled"] = true + includeCenters := make(map[string]struct{}) + excludeCenters := make(map[string]struct{}) + if grampus.SpecialPools != nil { + for _, pool := range grampus.SpecialPools.Pools { + if pool.IsExclusive { + if !IsUserInOrgPool(ctx.User.ID, pool) { + ctx.Data[pool.Type+"Enabled"] = false + } + } else { + if strings.Contains(strings.ToLower(processType), strings.ToLower(pool.Type)) { + if IsUserInOrgPool(ctx.User.ID, pool) { + for _, center := range pool.Pool { + includeCenters[center.Queue] = struct{}{} + } + } else { + for _, center := range pool.Pool { + excludeCenters[center.Queue] = struct{}{} + } + + } + + } + + } + } + } + + //prepare available specs + if processType == grampus.ProcessorTypeNPU { + prepareGrampusTrainSpecs(ctx, models.NPU) + } else if processType == grampus.ProcessorTypeGPU { + prepareGrampusTrainSpecs(ctx, models.GPU) + } + + //get branches + branches, _, err := ctx.Repo.GitRepo.GetBranches(0, 0) + if err != nil { + log.Error("GetBranches error:", err.Error()) + } else { + ctx.Data["branches"] = branches + } + + ctx.Data["BranchName"] = ctx.Cloudbrain.BranchName + ctx.Data["ImageName"] = ctx.Cloudbrain.Image + ctx.Data["BootFile"] = ctx.Cloudbrain.BootFile + ctx.Data["description"] = ctx.Cloudbrain.Description + spec, _ := resource.GetCloudbrainSpec(ctx.Cloudbrain.ID) + if spec != nil { + log.Info("spec_id = %d", spec.ID) + ctx.Data["spec_id"] = spec.ID + } + var Parameters modelarts.Parameters + if err = json.Unmarshal([]byte(ctx.Cloudbrain.Parameters), &Parameters); err != nil { + ctx.ServerError("json.Unmarshal failed:", err) + return err + } + ctx.Data["params"] = Parameters.Parameter + + _, _, datasetNames, _, err := getDatasUrlListByUUIDS(ctx.Cloudbrain.Uuid) + if err != nil { + log.Info("query dataset error," + err.Error()) + ctx.Data["dataset_name"] = "" + } else { + ctx.Data["dataset_name"] = datasetNames + } + ctx.Data["uuid"] = ctx.Cloudbrain.Uuid + ctx.Data["ComputeResource"] = ctx.Cloudbrain.ComputeResource + + if processType == grampus.ProcessorTypeGPU { + ctx.Data["datasetType"] = models.TypeCloudBrainOne + waitCount := cloudbrain.GetWaitingCloudbrainCount(models.TypeC2Net, models.GPUResource, models.JobTypeTrain) + ctx.Data["WaitCount"] = waitCount + } else if processType == grampus.ProcessorTypeNPU { + ctx.Data["datasetType"] = models.TypeCloudBrainTwo + waitCount := cloudbrain.GetWaitingCloudbrainCount(models.TypeC2Net, models.NPUResource, models.JobTypeTrain) + ctx.Data["WaitCount"] = waitCount + ctx.Data["work_server_number"] = ctx.Cloudbrain.WorkServerNumber + } + + return nil +} + func prepareGrampusTrainSpecs(ctx *context.Context, computeResource string) { noteBookSpecs, _ := resource.FindAvailableSpecs(ctx.User.ID, models.FindSpecsOptions{ JobType: models.JobTypeTrain, @@ -378,6 +501,19 @@ func GrampusTrainJobGpuCreate(ctx *context.Context, form auth.CreateGrampusTrain ctx.Redirect(setting.AppSubURL + ctx.Repo.RepoLink + "/modelarts/train-job") } +func GrampusTrainJobVersionCreate(ctx *context.Context, form auth.CreateGrampusTrainJobForm) { + computeResource := ctx.Query("compute_resource") + if computeResource == models.GPUResource { + GrampusTrainJobGpuCreate(ctx, form) + } else if computeResource == models.NPUResource { + GrampusTrainJobNpuCreate(ctx, form) + } else { + ctx.ServerError("resource error", errors.New("compute resource is not support")) + return + } + +} + func checkSpecialPool(ctx *context.Context, resourceType string) string { grampus.InitSpecialPool() if grampus.SpecialPools != nil { diff --git a/routers/routes/routes.go b/routers/routes/routes.go index d8b1bff22..82105ffd1 100755 --- a/routers/routes/routes.go +++ b/routers/routes/routes.go @@ -1159,6 +1159,8 @@ func RegisterRoutes(m *macaron.Macaron) { m.Post("/stop", cloudbrain.AdminOrOwnerOrJobCreaterRight, repo.GrampusStopJob) m.Post("/del", cloudbrain.AdminOrOwnerOrJobCreaterRightForTrain, repo.GrampusTrainJobDel) m.Get("/model_download", cloudbrain.AdminOrJobCreaterRightForTrain, repo.ModelDownload) + m.Get("/create_version", reqWechatBind, cloudbrain.AdminOrJobCreaterRightForTrain, repo.GrampusTrainJobVersionNew) + m.Post("/create_version", reqWechatBind, cloudbrain.AdminOrOwnerOrJobCreaterRightForTrain, bindIgnErr(auth.CreateGrampusTrainJobForm{}), repo.GrampusTrainJobVersionCreate) }) m.Group("/gpu", func() { m.Get("/create", reqWechatBind, reqRepoCloudBrainWriter, repo.GrampusTrainJobGPUNew) diff --git a/templates/repo/grampus/trainjob/gpu/versionnew.tmpl b/templates/repo/grampus/trainjob/gpu/versionnew.tmpl new file mode 100644 index 000000000..e69de29bb diff --git a/templates/repo/grampus/trainjob/npu/versionnew.tmpl b/templates/repo/grampus/trainjob/npu/versionnew.tmpl new file mode 100644 index 000000000..e69de29bb From 31959dea0b848866e2708a9c380cc184d8cceb72 Mon Sep 17 00:00:00 2001 From: liuzx Date: Tue, 13 Sep 2022 11:10:44 +0800 Subject: [PATCH 02/19] fix-2817 --- routers/repo/cloudbrain.go | 81 +++++++++++++++++++++++++++++++++++++- routers/routes/routes.go | 4 +- 2 files changed, 83 insertions(+), 2 deletions(-) diff --git a/routers/repo/cloudbrain.go b/routers/repo/cloudbrain.go index 7020f0a61..ec3bf1f39 100755 --- a/routers/repo/cloudbrain.go +++ b/routers/repo/cloudbrain.go @@ -2,7 +2,6 @@ package repo import ( "bufio" - "code.gitea.io/gitea/services/cloudbrain/resource" "encoding/json" "errors" "fmt" @@ -16,6 +15,8 @@ import ( "time" "unicode/utf8" + "code.gitea.io/gitea/services/cloudbrain/resource" + "code.gitea.io/gitea/modules/notification" "code.gitea.io/gitea/modules/grampus" @@ -140,6 +141,71 @@ func cloudBrainNewDataPrepare(ctx *context.Context) error { return nil } +func cloudBrainVersionNewDataPrepare(ctx *context.Context) error { + ctx.Data["PageIsCloudBrain"] = true + t := time.Now() + var displayJobName = jobNamePrefixValid(cutString(ctx.User.Name, 5)) + t.Format("2006010215") + strconv.Itoa(int(t.Unix()))[5:] + ctx.Data["display_job_name"] = displayJobName + + ctx.Data["command"] = cloudbrain.GetCloudbrainDebugCommand() + ctx.Data["code_path"] = cloudbrain.CodeMountPath + ctx.Data["dataset_path"] = cloudbrain.DataSetMountPath + ctx.Data["model_path"] = cloudbrain.ModelMountPath + ctx.Data["benchmark_path"] = cloudbrain.BenchMarkMountPath + ctx.Data["is_benchmark_enabled"] = setting.IsBenchmarkEnabled + + if categories == nil { + json.Unmarshal([]byte(setting.BenchmarkCategory), &categories) + } + ctx.Data["benchmark_categories"] = categories.Category + + ctx.Data["benchmark_types"] = GetBenchmarkTypes(ctx).BenchmarkType + queuesDetail, _ := cloudbrain.GetQueuesDetail() + if queuesDetail != nil { + ctx.Data["QueuesDetail"] = queuesDetail + } + + prepareCloudbrainOneSpecs(ctx) + + ctx.Data["snn4imagenet_path"] = cloudbrain.Snn4imagenetMountPath + ctx.Data["is_snn4imagenet_enabled"] = setting.IsSnn4imagenetEnabled + ctx.Data["brainscore_path"] = cloudbrain.BrainScoreMountPath + ctx.Data["is_brainscore_enabled"] = setting.IsBrainScoreEnabled + ctx.Data["benchmarkMode"] = ctx.Query("benchmarkMode") + + ctx.Data["branch_name"] = ctx.Cloudbrain.BranchName + ctx.Data["image_name"] = ctx.Cloudbrain.Image + ctx.Data["bootfile"] = ctx.Cloudbrain.BootFile + ctx.Data["description"] = ctx.Cloudbrain.Description + spec, _ := resource.GetCloudbrainSpec(ctx.Cloudbrain.ID) + if spec != nil { + log.Info("spec_id = %d", spec.ID) + ctx.Data["spec_id"] = spec.ID + } + var Parameters modelarts.Parameters + if err := json.Unmarshal([]byte(ctx.Cloudbrain.Parameters), &Parameters); err != nil { + ctx.ServerError("json.Unmarshal failed:", err) + return err + } + ctx.Data["params"] = Parameters.Parameter + + _, _, datasetNames, _, err := getDatasUrlListByUUIDS(ctx.Cloudbrain.Uuid) + if err != nil { + log.Info("query dataset error," + err.Error()) + ctx.Data["dataset_name"] = "" + } else { + ctx.Data["dataset_name"] = datasetNames + } + ctx.Data["uuid"] = ctx.Cloudbrain.Uuid + ctx.Data["compute_resource"] = ctx.Cloudbrain.ComputeResource + + ctx.Data["dataset_type"] = models.TypeCloudBrainOne + waitCount := cloudbrain.GetWaitingCloudbrainCount(models.TypeC2Net, models.GPUResource, models.JobTypeTrain) + ctx.Data["wait_count"] = waitCount + + return nil +} + func prepareCloudbrainOneSpecs(ctx *context.Context) { debugSpecs, _ := resource.FindAvailableSpecs(ctx.User.ID, models.FindSpecsOptions{ JobType: models.JobTypeDebug, @@ -342,6 +408,10 @@ func CloudBrainCreate(ctx *context.Context, form auth.CreateCloudBrainForm) { } } +func CloudBrainTrainJobVersionCreate(ctx *context.Context, form auth.CreateCloudBrainForm) { + CloudBrainCreate(ctx, form) +} + func loadCodeAndMakeModelPath(repo *models.Repository, codePath string, branchName string, jobName string, resultPath string) string { err := downloadCode(repo, codePath, branchName) if err != nil { @@ -2548,6 +2618,15 @@ func CloudBrainTrainJobNew(ctx *context.Context) { ctx.HTML(http.StatusOK, tplCloudBrainTrainJobNew) } +func CloudBrainTrainJobVersionNew(ctx *context.Context) { + err := cloudBrainVersionNewDataPrepare(ctx) + if err != nil { + ctx.ServerError("get new train-job info failed", err) + return + } + ctx.HTML(http.StatusOK, tplCloudBrainTrainJobNew) +} + func InferenceCloudBrainJobNew(ctx *context.Context) { err := cloudBrainNewDataPrepare(ctx) if err != nil { diff --git a/routers/routes/routes.go b/routers/routes/routes.go index 82105ffd1..e97d4a0ca 100755 --- a/routers/routes/routes.go +++ b/routers/routes/routes.go @@ -1137,6 +1137,8 @@ func RegisterRoutes(m *macaron.Macaron) { m.Get("/download_model", cloudbrain.AdminOrOwnerOrJobCreaterRightForTrain, repo.CloudBrainDownloadModel) //m.Get("/get_log", cloudbrain.AdminOrJobCreaterRightForTrain, repo.GetLogFromModelDir) //m.Post("/create_version", reqWechatBind, cloudbrain.AdminOrJobCreaterRightForTrain, bindIgnErr(auth.CreateModelArtsTrainJobForm{}), repo.TrainJobCreateVersion) + m.Get("/create_version", reqWechatBind, cloudbrain.AdminOrJobCreaterRightForTrain, repo.CloudBrainTrainJobVersionNew) + m.Post("/create_version", reqWechatBind, cloudbrain.AdminOrJobCreaterRightForTrain, bindIgnErr(auth.CreateGrampusTrainJobForm{}), repo.CloudBrainTrainJobVersionCreate) }) m.Get("/create", reqWechatBind, reqRepoCloudBrainWriter, repo.CloudBrainTrainJobNew) m.Post("/create", reqWechatBind, reqRepoCloudBrainWriter, bindIgnErr(auth.CreateCloudBrainForm{}), repo.CloudBrainCreate) @@ -1160,7 +1162,7 @@ func RegisterRoutes(m *macaron.Macaron) { m.Post("/del", cloudbrain.AdminOrOwnerOrJobCreaterRightForTrain, repo.GrampusTrainJobDel) m.Get("/model_download", cloudbrain.AdminOrJobCreaterRightForTrain, repo.ModelDownload) m.Get("/create_version", reqWechatBind, cloudbrain.AdminOrJobCreaterRightForTrain, repo.GrampusTrainJobVersionNew) - m.Post("/create_version", reqWechatBind, cloudbrain.AdminOrOwnerOrJobCreaterRightForTrain, bindIgnErr(auth.CreateGrampusTrainJobForm{}), repo.GrampusTrainJobVersionCreate) + m.Post("/create_version", reqWechatBind, cloudbrain.AdminOrJobCreaterRightForTrain, bindIgnErr(auth.CreateGrampusTrainJobForm{}), repo.GrampusTrainJobVersionCreate) }) m.Group("/gpu", func() { m.Get("/create", reqWechatBind, reqRepoCloudBrainWriter, repo.GrampusTrainJobGPUNew) From 041cdec7304512b9416e0de77a44129f36ee6751 Mon Sep 17 00:00:00 2001 From: liuzx Date: Tue, 13 Sep 2022 16:56:49 +0800 Subject: [PATCH 03/19] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- routers/repo/cloudbrain.go | 38 +++---------------- routers/repo/grampus.go | 17 +++++---- .../repo/cloudbrain/trainjob/versionnew.tmpl | 0 3 files changed, 15 insertions(+), 40 deletions(-) create mode 100644 templates/repo/cloudbrain/trainjob/versionnew.tmpl diff --git a/routers/repo/cloudbrain.go b/routers/repo/cloudbrain.go index ec3bf1f39..d870d575c 100755 --- a/routers/repo/cloudbrain.go +++ b/routers/repo/cloudbrain.go @@ -49,8 +49,9 @@ const ( tplCloudBrainImageSubmit base.TplName = "repo/cloudbrain/image/submit" tplCloudBrainImageEdit base.TplName = "repo/cloudbrain/image/edit" - tplCloudBrainTrainJobNew base.TplName = "repo/cloudbrain/trainjob/new" - tplCloudBrainTrainJobShow base.TplName = "repo/cloudbrain/trainjob/show" + tplCloudBrainTrainJobNew base.TplName = "repo/cloudbrain/trainjob/new" + tplCloudBrainTrainJobVersionNew base.TplName = "repo/cloudbrain/trainjob/versionnew" + tplCloudBrainTrainJobShow base.TplName = "repo/cloudbrain/trainjob/show" tplCloudBrainInferenceJobNew base.TplName = "repo/cloudbrain/inference/new" tplCloudBrainInferenceJobShow base.TplName = "repo/cloudbrain/inference/show" @@ -146,33 +147,6 @@ func cloudBrainVersionNewDataPrepare(ctx *context.Context) error { t := time.Now() var displayJobName = jobNamePrefixValid(cutString(ctx.User.Name, 5)) + t.Format("2006010215") + strconv.Itoa(int(t.Unix()))[5:] ctx.Data["display_job_name"] = displayJobName - - ctx.Data["command"] = cloudbrain.GetCloudbrainDebugCommand() - ctx.Data["code_path"] = cloudbrain.CodeMountPath - ctx.Data["dataset_path"] = cloudbrain.DataSetMountPath - ctx.Data["model_path"] = cloudbrain.ModelMountPath - ctx.Data["benchmark_path"] = cloudbrain.BenchMarkMountPath - ctx.Data["is_benchmark_enabled"] = setting.IsBenchmarkEnabled - - if categories == nil { - json.Unmarshal([]byte(setting.BenchmarkCategory), &categories) - } - ctx.Data["benchmark_categories"] = categories.Category - - ctx.Data["benchmark_types"] = GetBenchmarkTypes(ctx).BenchmarkType - queuesDetail, _ := cloudbrain.GetQueuesDetail() - if queuesDetail != nil { - ctx.Data["QueuesDetail"] = queuesDetail - } - - prepareCloudbrainOneSpecs(ctx) - - ctx.Data["snn4imagenet_path"] = cloudbrain.Snn4imagenetMountPath - ctx.Data["is_snn4imagenet_enabled"] = setting.IsSnn4imagenetEnabled - ctx.Data["brainscore_path"] = cloudbrain.BrainScoreMountPath - ctx.Data["is_brainscore_enabled"] = setting.IsBrainScoreEnabled - ctx.Data["benchmarkMode"] = ctx.Query("benchmarkMode") - ctx.Data["branch_name"] = ctx.Cloudbrain.BranchName ctx.Data["image_name"] = ctx.Cloudbrain.Image ctx.Data["bootfile"] = ctx.Cloudbrain.BootFile @@ -197,10 +171,10 @@ func cloudBrainVersionNewDataPrepare(ctx *context.Context) error { ctx.Data["dataset_name"] = datasetNames } ctx.Data["uuid"] = ctx.Cloudbrain.Uuid + ctx.Data["cluster_type"] = models.OpenICluster ctx.Data["compute_resource"] = ctx.Cloudbrain.ComputeResource - ctx.Data["dataset_type"] = models.TypeCloudBrainOne - waitCount := cloudbrain.GetWaitingCloudbrainCount(models.TypeC2Net, models.GPUResource, models.JobTypeTrain) + waitCount := cloudbrain.GetWaitingCloudbrainCount(models.TypeCloudBrainOne, models.GPUResource, models.JobTypeTrain) ctx.Data["wait_count"] = waitCount return nil @@ -2624,7 +2598,7 @@ func CloudBrainTrainJobVersionNew(ctx *context.Context) { ctx.ServerError("get new train-job info failed", err) return } - ctx.HTML(http.StatusOK, tplCloudBrainTrainJobNew) + ctx.HTML(http.StatusOK, tplCloudBrainTrainJobVersionNew) } func InferenceCloudBrainJobNew(ctx *context.Context) { diff --git a/routers/repo/grampus.go b/routers/repo/grampus.go index f4ab40f5e..0c55067da 100755 --- a/routers/repo/grampus.go +++ b/routers/repo/grampus.go @@ -220,9 +220,9 @@ func grampusTrainJobVersionNewDataPrepare(ctx *context.Context, processType stri ctx.Data["branches"] = branches } - ctx.Data["BranchName"] = ctx.Cloudbrain.BranchName - ctx.Data["ImageName"] = ctx.Cloudbrain.Image - ctx.Data["BootFile"] = ctx.Cloudbrain.BootFile + ctx.Data["branch_name"] = ctx.Cloudbrain.BranchName + ctx.Data["image_name"] = ctx.Cloudbrain.Image + ctx.Data["bootfile"] = ctx.Cloudbrain.BootFile ctx.Data["description"] = ctx.Cloudbrain.Description spec, _ := resource.GetCloudbrainSpec(ctx.Cloudbrain.ID) if spec != nil { @@ -244,16 +244,17 @@ func grampusTrainJobVersionNewDataPrepare(ctx *context.Context, processType stri ctx.Data["dataset_name"] = datasetNames } ctx.Data["uuid"] = ctx.Cloudbrain.Uuid - ctx.Data["ComputeResource"] = ctx.Cloudbrain.ComputeResource + ctx.Data["cloudbrain_type"] = models.C2NetCluster + ctx.Data["compute_resource"] = ctx.Cloudbrain.ComputeResource if processType == grampus.ProcessorTypeGPU { - ctx.Data["datasetType"] = models.TypeCloudBrainOne + ctx.Data["dataset_type"] = models.TypeCloudBrainOne waitCount := cloudbrain.GetWaitingCloudbrainCount(models.TypeC2Net, models.GPUResource, models.JobTypeTrain) - ctx.Data["WaitCount"] = waitCount + ctx.Data["wait_count"] = waitCount } else if processType == grampus.ProcessorTypeNPU { - ctx.Data["datasetType"] = models.TypeCloudBrainTwo + ctx.Data["dataset_type"] = models.TypeCloudBrainTwo waitCount := cloudbrain.GetWaitingCloudbrainCount(models.TypeC2Net, models.NPUResource, models.JobTypeTrain) - ctx.Data["WaitCount"] = waitCount + ctx.Data["wait_count"] = waitCount ctx.Data["work_server_number"] = ctx.Cloudbrain.WorkServerNumber } diff --git a/templates/repo/cloudbrain/trainjob/versionnew.tmpl b/templates/repo/cloudbrain/trainjob/versionnew.tmpl new file mode 100644 index 000000000..e69de29bb From 820016b1e2e1081f8699ce0ad1d05947aa03bbc3 Mon Sep 17 00:00:00 2001 From: liuzx Date: Wed, 14 Sep 2022 16:40:44 +0800 Subject: [PATCH 04/19] add ckpt --- routers/repo/cloudbrain.go | 6 ++++++ routers/repo/grampus.go | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/routers/repo/cloudbrain.go b/routers/repo/cloudbrain.go index bfa7cff35..7dd0ac156 100755 --- a/routers/repo/cloudbrain.go +++ b/routers/repo/cloudbrain.go @@ -177,6 +177,12 @@ func cloudBrainVersionNewDataPrepare(ctx *context.Context) error { waitCount := cloudbrain.GetWaitingCloudbrainCount(models.TypeCloudBrainOne, models.GPUResource, models.JobTypeTrain) ctx.Data["wait_count"] = waitCount + ctx.Data["model_name"] = ctx.Cloudbrain.ModelName + ctx.Data["label_name"] = ctx.Cloudbrain.LabelName + ctx.Data["ckpt_name"] = ctx.Cloudbrain.CkptName + ctx.Data["model_version"] = ctx.Cloudbrain.ModelVersion + ctx.Data["pre_train_model_url"] = ctx.Cloudbrain.PreTrainModelUrl + return nil } diff --git a/routers/repo/grampus.go b/routers/repo/grampus.go index e55e492e3..f0521db7d 100755 --- a/routers/repo/grampus.go +++ b/routers/repo/grampus.go @@ -258,6 +258,12 @@ func grampusTrainJobVersionNewDataPrepare(ctx *context.Context, processType stri ctx.Data["work_server_number"] = ctx.Cloudbrain.WorkServerNumber } + ctx.Data["model_name"] = ctx.Cloudbrain.ModelName + ctx.Data["label_name"] = ctx.Cloudbrain.LabelName + ctx.Data["ckpt_name"] = ctx.Cloudbrain.CkptName + ctx.Data["model_version"] = ctx.Cloudbrain.ModelVersion + ctx.Data["pre_train_model_url"] = ctx.Cloudbrain.PreTrainModelUrl + return nil } From 78a8b817007f9ff8c1c12edd3b8f0f63df7e6583 Mon Sep 17 00:00:00 2001 From: zhoupzh Date: Wed, 14 Sep 2022 17:50:48 +0800 Subject: [PATCH 05/19] fix issue --- .../repo/cloudbrain/trainjob/versionnew.tmpl | 454 ++++++++++++++++++ .../repo/grampus/trainjob/npu/versionnew.tmpl | 426 ++++++++++++++++ templates/repo/modelarts/trainjob/index.tmpl | 17 +- 3 files changed, 896 insertions(+), 1 deletion(-) diff --git a/templates/repo/cloudbrain/trainjob/versionnew.tmpl b/templates/repo/cloudbrain/trainjob/versionnew.tmpl index e69de29bb..b2cff22cc 100644 --- a/templates/repo/cloudbrain/trainjob/versionnew.tmpl +++ b/templates/repo/cloudbrain/trainjob/versionnew.tmpl @@ -0,0 +1,454 @@ +{{template "base/head" .}} + +{{template "custom/global_mask" .}} +
+ {{template "repo/header" .}} +
+ + {{template "base/alert" .}} +

+ {{.i18n.Tr "repo.modelarts.train_job.new"}} +

+
+ +
+ {{.CsrfTokenHtml}} + + +

{{.i18n.Tr "repo.modelarts.train_job.basic_info"}}:

+ +
+ + +
+
+ + {{template "custom/task_wait_count" .}} +
+ + {{.i18n.Tr "cloudbrain.new_train_gpu_tooltips" "/code" "/dataset" "/model" | Safe}} +
+
+
+ + + {{.i18n.Tr "repo.cloudbrain_jobname_err"}} +
+ +
+ + {{if .description}} + + {{else}} + + {{end}} +
+
+ +

{{.i18n.Tr "repo.modelarts.train_job.parameter_setting"}}:

+ + +
+ + +
+ {{template "custom/select_model" .}} + + +
+ +
+ +
+ + {{if .boot_file}} + + {{else}} + + {{end}} + + + + {{.i18n.Tr "cloudbrain.view_sample"}} +
+
+ +
+ +
+ + {{.i18n.Tr "repo.modelarts.train_job.add_run_parameter"}} + +
+ +
+
+ + +
+ + +
+ +
+ + + {{.i18n.Tr "repo.cloudbrain.cancel"}} +
+ + + +
+
+
+
+{{template "base/footer" .}} + + diff --git a/templates/repo/grampus/trainjob/npu/versionnew.tmpl b/templates/repo/grampus/trainjob/npu/versionnew.tmpl index e69de29bb..8ba1d07ca 100644 --- a/templates/repo/grampus/trainjob/npu/versionnew.tmpl +++ b/templates/repo/grampus/trainjob/npu/versionnew.tmpl @@ -0,0 +1,426 @@ +{{template "base/head" .}} + +{{template "custom/global_mask" .}} +
+ {{template "repo/header" .}} +
+ + {{template "base/alert" .}} +

+ {{.i18n.Tr "repo.modelarts.train_job.new"}} +

+
+ +
+ {{.CsrfTokenHtml}} + + + + + +

{{.i18n.Tr "repo.modelarts.train_job.basic_info"}}:

+ +
+ + +
+
+ + {{template "custom/task_wait_count" .}} +
+ + {{.i18n.Tr "cloudbrain.new_train_gpu_tooltips" "/cache/code" "/cache/dataset" "/cache/output" | Safe}} +
+
+
+ + + {{.i18n.Tr "repo.cloudbrain_jobname_err"}} +
+ +
+ + {{if .description}} + + {{else}} + + {{end}} +
+
+ +

{{.i18n.Tr "repo.modelarts.train_job.parameter_setting"}}:

+ +
+ + +
+ {{template "custom/select_model" .}} +
+ + +
+
+ + {{if .boot_file}} + + {{else}} + + {{end}} + + + + {{.i18n.Tr "cloudbrain.view_sample"}} +
+ + {{template "custom/select_dataset_train" .}} + +
+ + {{.i18n.Tr "repo.modelarts.train_job.add_run_parameter"}} + +
+ +
+
+ + +
+ + +
+
+ + +
+ + +
+ +
+ +
+
+ +
+ + + {{.i18n.Tr "repo.cloudbrain.cancel"}} +
+ + + +
+
+
+
+{{template "base/footer" .}} + + + diff --git a/templates/repo/modelarts/trainjob/index.tmpl b/templates/repo/modelarts/trainjob/index.tmpl index 42c59ba4b..0ac12982b 100755 --- a/templates/repo/modelarts/trainjob/index.tmpl +++ b/templates/repo/modelarts/trainjob/index.tmpl @@ -109,7 +109,6 @@ {{range .Tasks}}
- + + +
+ {{$.CsrfTokenHtml}} + {{if .CanDel}} + + {{$.i18n.Tr "repo.modelarts.modify"}} + + {{else}} + + {{$.i18n.Tr "repo.modelarts.modify"}} + + {{end}} +
@@ -239,6 +253,7 @@ + + From 1793aab66b2d7037e03719f202693ab846041d84 Mon Sep 17 00:00:00 2001 From: zhoupzh Date: Thu, 15 Sep 2022 18:20:56 +0800 Subject: [PATCH 16/19] fix issue --- templates/repo/grampus/trainjob/gpu/new.tmpl | 2 +- .../repo/grampus/trainjob/gpu/versionnew.tmpl | 17 ++++++++++++++++- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/templates/repo/grampus/trainjob/gpu/new.tmpl b/templates/repo/grampus/trainjob/gpu/new.tmpl index 530be6b76..d71ed0736 100755 --- a/templates/repo/grampus/trainjob/gpu/new.tmpl +++ b/templates/repo/grampus/trainjob/gpu/new.tmpl @@ -62,7 +62,7 @@
{{template "repo/header" .}}
- + {{template "base/alert" .}}

{{.i18n.Tr "repo.modelarts.train_job.new"}} diff --git a/templates/repo/grampus/trainjob/gpu/versionnew.tmpl b/templates/repo/grampus/trainjob/gpu/versionnew.tmpl index 530be6b76..56823f557 100644 --- a/templates/repo/grampus/trainjob/gpu/versionnew.tmpl +++ b/templates/repo/grampus/trainjob/gpu/versionnew.tmpl @@ -62,7 +62,7 @@
{{template "repo/header" .}}
- + {{template "base/alert" .}}

{{.i18n.Tr "repo.modelarts.train_job.new"}} @@ -183,7 +183,22 @@ {{.i18n.Tr "repo.modelarts.train_job.add_run_parameter"}}
+ {{if ne 0 (len .params)}} + {{range $k ,$v := .params}} +
+
+ +
+
+ +
+ + + +
+ {{end}} + {{end}}

- + {{.CsrfTokenHtml}} diff --git a/templates/repo/grampus/trainjob/npu/new.tmpl b/templates/repo/grampus/trainjob/npu/new.tmpl index 1105e7638..69f28f47a 100755 --- a/templates/repo/grampus/trainjob/npu/new.tmpl +++ b/templates/repo/grampus/trainjob/npu/new.tmpl @@ -57,7 +57,7 @@
{{template "repo/header" .}}
- + {{template "base/alert" .}}

{{.i18n.Tr "repo.modelarts.train_job.new"}} From 19d2fc8c1ac7dcf8fe7b4aa4850b4b043d109e47 Mon Sep 17 00:00:00 2001 From: zhoupzh Date: Thu, 15 Sep 2022 19:08:11 +0800 Subject: [PATCH 18/19] fix issue --- templates/repo/grampus/trainjob/gpu/versionnew.tmpl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/repo/grampus/trainjob/gpu/versionnew.tmpl b/templates/repo/grampus/trainjob/gpu/versionnew.tmpl index c3b531c46..2344318e5 100644 --- a/templates/repo/grampus/trainjob/gpu/versionnew.tmpl +++ b/templates/repo/grampus/trainjob/gpu/versionnew.tmpl @@ -74,7 +74,7 @@ - +

{{.i18n.Tr "repo.modelarts.train_job.basic_info"}}:

From 6ced72f8892f2a40b1f4a1e0023c6cb30ceb1fc6 Mon Sep 17 00:00:00 2001 From: zhoupzh Date: Thu, 15 Sep 2022 19:45:37 +0800 Subject: [PATCH 19/19] fix issue --- templates/repo/grampus/trainjob/gpu/new.tmpl | 5 ++--- templates/repo/grampus/trainjob/gpu/versionnew.tmpl | 2 +- templates/repo/grampus/trainjob/npu/new.tmpl | 4 +--- 3 files changed, 4 insertions(+), 7 deletions(-) diff --git a/templates/repo/grampus/trainjob/gpu/new.tmpl b/templates/repo/grampus/trainjob/gpu/new.tmpl index b0b28e33d..3de1d0627 100755 --- a/templates/repo/grampus/trainjob/gpu/new.tmpl +++ b/templates/repo/grampus/trainjob/gpu/new.tmpl @@ -62,7 +62,7 @@
{{template "repo/header" .}}
- + {{template "base/alert" .}}

{{.i18n.Tr "repo.modelarts.train_job.new"}} @@ -75,8 +75,7 @@ - - +

{{.i18n.Tr "repo.modelarts.train_job.basic_info"}}:

diff --git a/templates/repo/grampus/trainjob/gpu/versionnew.tmpl b/templates/repo/grampus/trainjob/gpu/versionnew.tmpl index 2344318e5..c3b531c46 100644 --- a/templates/repo/grampus/trainjob/gpu/versionnew.tmpl +++ b/templates/repo/grampus/trainjob/gpu/versionnew.tmpl @@ -74,7 +74,7 @@ - +

{{.i18n.Tr "repo.modelarts.train_job.basic_info"}}:

diff --git a/templates/repo/grampus/trainjob/npu/new.tmpl b/templates/repo/grampus/trainjob/npu/new.tmpl index 69f28f47a..064c0c423 100755 --- a/templates/repo/grampus/trainjob/npu/new.tmpl +++ b/templates/repo/grampus/trainjob/npu/new.tmpl @@ -57,7 +57,7 @@
{{template "repo/header" .}}
- + {{template "base/alert" .}}

{{.i18n.Tr "repo.modelarts.train_job.new"}} @@ -69,8 +69,6 @@ - -

{{.i18n.Tr "repo.modelarts.train_job.basic_info"}}: