From eef3978e1c8fa66372c42e446878f31b36d7a62f Mon Sep 17 00:00:00 2001 From: liuzx Date: Sat, 2 Apr 2022 09:39:53 +0800 Subject: [PATCH 01/14] update --- models/cloudbrain.go | 16 ++- routers/routes/routes.go | 1 + routers/user/home.go | 124 +++++++++++++++++++++- templates/user/dashboard/cloudbrains.tmpl | 0 4 files changed, 136 insertions(+), 5 deletions(-) create mode 100644 templates/user/dashboard/cloudbrains.tmpl diff --git a/models/cloudbrain.go b/models/cloudbrain.go index 1662dcd96..b12ac85ff 100755 --- a/models/cloudbrain.go +++ b/models/cloudbrain.go @@ -1,13 +1,14 @@ package models import ( - "code.gitea.io/gitea/modules/util" "encoding/json" "fmt" "strconv" "strings" "time" + "code.gitea.io/gitea/modules/util" + "xorm.io/builder" "xorm.io/xorm" @@ -1564,3 +1565,16 @@ func RestartCloudbrain(old *Cloudbrain, new *Cloudbrain) (err error) { return nil } +func GetUserCloudbrainCount(UserID int64) (int64, error) { + countSql := "SELECT count(*) FROM " + + "public.cloudbrain where user_id ='" + strconv.FormatInt(UserID, 10) + "'" + return x.SQL(countSql).Count() +} +func GetUserCloudbrainDuration(UserID int64, CloudbrainType int) (string, error) { + total, err := x.Unscoped().Where("user_id = ? And type = ? ", UserID, CloudbrainType).SumInt(&Cloudbrain{}, "duration") + if err != nil { + return "get total error", err + } + + return ConvertDurationToStr(total), nil +} diff --git a/routers/routes/routes.go b/routers/routes/routes.go index 4cffcd10b..7696893e9 100755 --- a/routers/routes/routes.go +++ b/routers/routes/routes.go @@ -345,6 +345,7 @@ func RegisterRoutes(m *macaron.Macaron) { Post(bindIgnErr(auth.InstallForm{}), routers.InstallPost) m.Get("/^:type(issues|pulls)$", reqSignIn, user.Issues) m.Get("/milestones", reqSignIn, reqMilestonesDashboardPageEnabled, user.Milestones) + m.Get("/cloudbrains", reqSignIn, user.Cloudbrains) // ***** START: User ***** m.Group("/user", func() { diff --git a/routers/user/home.go b/routers/user/home.go index 2fc0c60aa..9250670c8 100755 --- a/routers/user/home.go +++ b/routers/user/home.go @@ -20,6 +20,7 @@ import ( issue_indexer "code.gitea.io/gitea/modules/indexer/issues" "code.gitea.io/gitea/modules/log" "code.gitea.io/gitea/modules/markup/markdown" + "code.gitea.io/gitea/modules/modelarts" "code.gitea.io/gitea/modules/setting" "code.gitea.io/gitea/modules/util" issue_service "code.gitea.io/gitea/services/issue" @@ -31,10 +32,11 @@ import ( ) const ( - tplDashboard base.TplName = "user/dashboard/dashboard" - tplIssues base.TplName = "user/dashboard/issues" - tplMilestones base.TplName = "user/dashboard/milestones" - tplProfile base.TplName = "user/profile" + tplDashboard base.TplName = "user/dashboard/dashboard" + tplIssues base.TplName = "user/dashboard/issues" + tplMilestones base.TplName = "user/dashboard/milestones" + tplProfile base.TplName = "user/profile" + tplCloudbrains base.TplName = "user/dashboard/cloudbrains" ) // getDashboardContextUser finds out dashboard is viewing as which context user. @@ -751,3 +753,117 @@ func Email2User(ctx *context.Context) { } ctx.Redirect(setting.AppSubURL + "/user/" + u.Name) } + +func Cloudbrains(ctx *context.Context) { + ctx.Data["Title"] = ctx.Tr("user.cloudbrains") + + listType := ctx.Query("listType") + jobType := ctx.Query("jobType") + jobStatus := ctx.Query("jobStatus") + + ctx.Data["ListType"] = listType + ctx.Data["JobType"] = jobType + ctx.Data["JobStatus"] = jobStatus + + page := ctx.QueryInt("page") + if page <= 0 { + page = 1 + } + debugType := models.TypeCloudBrainAll + if listType == models.GPUResource { + debugType = models.TypeCloudBrainOne + } else if listType == models.NPUResource { + debugType = models.TypeCloudBrainTwo + } + + var jobTypes []string + jobTypeNot := false + if jobType == string(models.JobTypeDebug) { + jobTypes = append(jobTypes, string(models.JobTypeSnn4imagenet), string(models.JobTypeBrainScore), string(models.JobTypeDebug)) + } else if jobType != "all" && jobType != "" { + jobTypes = append(jobTypes, jobType) + } + + var jobStatuses []string + jobStatusNot := false + if jobStatus == "other" { + jobStatusNot = true + jobStatuses = append(jobStatuses, string(models.ModelArtsTrainJobWaiting), string(models.ModelArtsTrainJobFailed), string(models.ModelArtsRunning), string(models.ModelArtsTrainJobCompleted), + string(models.ModelArtsStarting), string(models.ModelArtsRestarting), string(models.ModelArtsStartFailed), + string(models.ModelArtsStopping), string(models.ModelArtsStopped), string(models.JobSucceeded)) + } else if jobStatus != "all" && jobStatus != "" { + jobStatuses = append(jobStatuses, jobStatus) + } + + keyword := strings.Trim(ctx.Query("q"), " ") + + ctxUser := getDashboardContextUser(ctx) + if ctx.Written() { + return + } + ciTasks, count, err := models.Cloudbrains(&models.CloudbrainsOptions{ + ListOptions: models.ListOptions{ + Page: page, + PageSize: setting.UI.IssuePagingNum, + }, + Keyword: keyword, + UserID: ctxUser.ID, + Type: debugType, + JobTypeNot: jobTypeNot, + JobStatusNot: jobStatusNot, + JobStatus: jobStatuses, + JobTypes: jobTypes, + NeedRepoInfo: true, + IsLatestVersion: modelarts.IsLatestVersion, + }) + if err != nil { + ctx.ServerError("Get job failed:", err) + return + } + + for i, task := range ciTasks { + ciTasks[i].CanDebug = true + ciTasks[i].CanDel = true + ciTasks[i].Cloudbrain.ComputeResource = task.ComputeResource + } + + pager := context.NewPagination(int(count), setting.UI.IssuePagingNum, page, getTotalPage(count, setting.UI.IssuePagingNum)) + pager.SetDefaultParams(ctx) + pager.AddParam(ctx, "listType", "ListType") + ctx.Data["Page"] = pager + ctx.Data["PageIsCloudBrain"] = true + ctx.Data["Tasks"] = ciTasks + ctx.Data["CanCreate"] = true + ctx.Data["Keyword"] = keyword + + userCloudbrainCount, err := models.GetUserCloudbrainCount(ctxUser.ID) + if err != nil { + ctx.ServerError("GetUserCloudbrainCount failed:", err) + return + } + cloudbrainOneDuration, err := models.GetUserCloudbrainDuration(ctxUser.ID, models.TypeCloudBrainOne) + if err != nil { + ctx.ServerError("GetUserCloudbrainOneDuration failed:", err) + return + } + cloudbrainTwoDuration, err := models.GetUserCloudbrainDuration(ctxUser.ID, models.TypeCloudBrainTwo) + if err != nil { + ctx.ServerError("GetUserCloudbrainTwoDuration failed:", err) + return + } + ctx.Data["UserCloudbrainCount"] = userCloudbrainCount + ctx.Data["cloudbrainOneDuration"] = cloudbrainOneDuration + ctx.Data["cloudbrainTwoDuration"] = cloudbrainTwoDuration + + ctx.HTML(200, tplCloudbrains) + +} +func getTotalPage(total int64, pageSize int) int { + + another := 0 + if int(total)%pageSize != 0 { + another = 1 + } + return int(total)/pageSize + another + +} diff --git a/templates/user/dashboard/cloudbrains.tmpl b/templates/user/dashboard/cloudbrains.tmpl new file mode 100644 index 000000000..e69de29bb From c485ca0331814aedb0d24990c39671ecf8bcec0d Mon Sep 17 00:00:00 2001 From: liuzx Date: Sat, 2 Apr 2022 10:56:10 +0800 Subject: [PATCH 02/14] update --- models/cloudbrain.go | 13 ------------- routers/user/home.go | 21 +-------------------- 2 files changed, 1 insertion(+), 33 deletions(-) diff --git a/models/cloudbrain.go b/models/cloudbrain.go index b12ac85ff..725686482 100755 --- a/models/cloudbrain.go +++ b/models/cloudbrain.go @@ -1565,16 +1565,3 @@ func RestartCloudbrain(old *Cloudbrain, new *Cloudbrain) (err error) { return nil } -func GetUserCloudbrainCount(UserID int64) (int64, error) { - countSql := "SELECT count(*) FROM " + - "public.cloudbrain where user_id ='" + strconv.FormatInt(UserID, 10) + "'" - return x.SQL(countSql).Count() -} -func GetUserCloudbrainDuration(UserID int64, CloudbrainType int) (string, error) { - total, err := x.Unscoped().Where("user_id = ? And type = ? ", UserID, CloudbrainType).SumInt(&Cloudbrain{}, "duration") - if err != nil { - return "get total error", err - } - - return ConvertDurationToStr(total), nil -} diff --git a/routers/user/home.go b/routers/user/home.go index 9250670c8..2d1add0a1 100755 --- a/routers/user/home.go +++ b/routers/user/home.go @@ -831,30 +831,11 @@ func Cloudbrains(ctx *context.Context) { pager.SetDefaultParams(ctx) pager.AddParam(ctx, "listType", "ListType") ctx.Data["Page"] = pager - ctx.Data["PageIsCloudBrain"] = true + ctx.Data["PageIsUserCloudBrain"] = true ctx.Data["Tasks"] = ciTasks ctx.Data["CanCreate"] = true ctx.Data["Keyword"] = keyword - userCloudbrainCount, err := models.GetUserCloudbrainCount(ctxUser.ID) - if err != nil { - ctx.ServerError("GetUserCloudbrainCount failed:", err) - return - } - cloudbrainOneDuration, err := models.GetUserCloudbrainDuration(ctxUser.ID, models.TypeCloudBrainOne) - if err != nil { - ctx.ServerError("GetUserCloudbrainOneDuration failed:", err) - return - } - cloudbrainTwoDuration, err := models.GetUserCloudbrainDuration(ctxUser.ID, models.TypeCloudBrainTwo) - if err != nil { - ctx.ServerError("GetUserCloudbrainTwoDuration failed:", err) - return - } - ctx.Data["UserCloudbrainCount"] = userCloudbrainCount - ctx.Data["cloudbrainOneDuration"] = cloudbrainOneDuration - ctx.Data["cloudbrainTwoDuration"] = cloudbrainTwoDuration - ctx.HTML(200, tplCloudbrains) } From 358ff7ed491983c34489bff256f9328130e32a1e Mon Sep 17 00:00:00 2001 From: zhoupzh Date: Mon, 11 Apr 2022 17:31:56 +0800 Subject: [PATCH 03/14] fix issue --- options/locale/locale_en-US.ini | 1 + options/locale/locale_zh-CN.ini | 1 + templates/admin/cloudbrain/search.tmpl | 2 +- templates/base/head_navbar.tmpl | 3 +- templates/base/head_navbar_fluid.tmpl | 1 + templates/base/head_navbar_home.tmpl | 3 +- templates/base/head_navbar_pro.tmpl | 3 +- templates/user/dashboard/cloudbrains.tmpl | 321 ++++++++++++++++++++++ 8 files changed, 331 insertions(+), 4 deletions(-) diff --git a/options/locale/locale_en-US.ini b/options/locale/locale_en-US.ini index 09bb5015f..0515a6af7 100755 --- a/options/locale/locale_en-US.ini +++ b/options/locale/locale_en-US.ini @@ -928,6 +928,7 @@ download=Download score=Score cloudbrain=Cloudbrain +cloudbrain.dashboard = Cloudbrain List cloudbrain.new=New cloudbrain cloudbrain.desc=Cloudbrain cloudbrain.cancel=Cancel diff --git a/options/locale/locale_zh-CN.ini b/options/locale/locale_zh-CN.ini index d26065363..314b1ecaa 100755 --- a/options/locale/locale_zh-CN.ini +++ b/options/locale/locale_zh-CN.ini @@ -933,6 +933,7 @@ download=模型下载 score=评分 cloudbrain=云脑 +cloudbrain.dashboard=云脑列表 cloudbrain.new=新建任务 cloudbrain.desc=云脑功能 cloudbrain.cancel=取消 diff --git a/templates/admin/cloudbrain/search.tmpl b/templates/admin/cloudbrain/search.tmpl index 3c24a52e1..abb455d82 100644 --- a/templates/admin/cloudbrain/search.tmpl +++ b/templates/admin/cloudbrain/search.tmpl @@ -6,7 +6,7 @@ -
+
diff --git a/templates/base/head_navbar_fluid.tmpl b/templates/base/head_navbar_fluid.tmpl index 61326e386..75bb31ba8 100644 --- a/templates/base/head_navbar_fluid.tmpl +++ b/templates/base/head_navbar_fluid.tmpl @@ -27,6 +27,7 @@ {{.i18n.Tr "issues"}} {{.i18n.Tr "pull_requests"}} {{.i18n.Tr "milestones"}} + {{.i18n.Tr "repo.cloudbrain.dashboard"}}
diff --git a/templates/base/head_navbar_home.tmpl b/templates/base/head_navbar_home.tmpl index 49b0b60e8..defff5f34 100644 --- a/templates/base/head_navbar_home.tmpl +++ b/templates/base/head_navbar_home.tmpl @@ -18,7 +18,8 @@ diff --git a/templates/base/head_navbar_pro.tmpl b/templates/base/head_navbar_pro.tmpl index fc9c401ca..f3de2b80f 100644 --- a/templates/base/head_navbar_pro.tmpl +++ b/templates/base/head_navbar_pro.tmpl @@ -27,7 +27,8 @@ diff --git a/templates/user/dashboard/cloudbrains.tmpl b/templates/user/dashboard/cloudbrains.tmpl index e69de29bb..987c0b3e9 100644 --- a/templates/user/dashboard/cloudbrains.tmpl +++ b/templates/user/dashboard/cloudbrains.tmpl @@ -0,0 +1,321 @@ +{{template "base/head" .}} + +
+
+
+
+
+
+
+
+
+ +
+
+ {{template "user/dashboard/navbar" .}} +
+ {{template "base/alert" .}} +
+
+ {{template "admin/cloudbrain/search" .}} +
+ +
+ +
+
+
+ {{$.i18n.Tr "repo.cloudbrain_task"}} +
+
+ {{$.i18n.Tr "repo.cloudbrain_task_type"}} +
+
+ {{$.i18n.Tr "repo.modelarts.status"}} +
+
+ {{$.i18n.Tr "repo.modelarts.createtime"}} +
+
+ {{$.i18n.Tr "repo.cloudbrain_status_runtime"}} +
+
+ {{$.i18n.Tr "repo.modelarts.computing_resources"}} +
+
+ {{$.i18n.Tr "repo.cloudbrain_creator"}} +
+
+ {{$.i18n.Tr "repository"}} +
+ +
+ {{$.i18n.Tr "repo.cloudbrain_operate"}} +
+
+
+ {{range .Tasks}} + {{if .Repo}} +
+
+ + {{$JobID := '0'}} + {{if eq .JobType "DEBUG" "SNN4IMAGENET" "BRAINSCORE" "BENCHMARK"}} + {{$JobID = .Cloudbrain.ID}} + {{else}} + {{$JobID = .JobID}} + {{end}} + +
+ {{if or (eq .JobType "DEBUG") (eq .JobType "SNN4IMAGENET") (eq .JobType "BRAINSCORE")}} + + {{.DisplayJobName}} + + {{else if eq .JobType "INFERENCE"}} + + {{.DisplayJobName}} + + {{else if eq .JobType "TRAIN"}} + + {{.DisplayJobName}} + + {{else if eq .JobType "BENCHMARK"}} + + {{.DisplayJobName}} + + {{end}} +
+ +
+ {{.JobType}} +
+ +
+ + {{.Status}} + +
+ +
+ {{TimeSinceUnix1 .Cloudbrain.CreatedUnix}} +
+ +
+ {{if .TrainJobDuration}}{{.TrainJobDuration}}{{else}}--{{end}} +
+ +
+ {{if .ComputeResource}}{{.ComputeResource}}{{else}}--{{end}} +
+ +
+ {{if .User.Name}} + + {{else}} + + {{end}} +
+ + + +
+ {{if eq .JobType "DEBUG" "SNN4IMAGENET" "BRAINSCORE"}} +
+
+ {{$.CsrfTokenHtml}} + {{if eq .Status "RUNNING" "WAITING" "CREATING" "STARTING"}} + + {{$.i18n.Tr "repo.debug"}} + + {{else}} + + {{$.i18n.Tr "repo.debug_again"}} + + {{end}} +
+
+ {{end}} + +
+ {{if eq .JobType "DEBUG" "BENCHMARK" "SNN4IMAGENET" "BRAINSCORE"}} +
+ {{$.CsrfTokenHtml}} + + {{$.i18n.Tr "repo.stop"}} + +
+ {{else}} + + {{$.i18n.Tr "repo.stop"}} + + {{end}} +
+ +
+ {{$.CsrfTokenHtml}} + + {{$.i18n.Tr "repo.delete"}} + +
+
+
+
+ {{else}} + {{$JobID := '0'}} + {{if eq .JobType "DEBUG" "SNN4IMAGENET" "BRAINSCORE" "BENCHMARK"}} + {{$JobID = .Cloudbrain.ID}} + {{else}} + {{$JobID = .JobID}} + {{end}} +
+
+ +
+ {{if eq .JobType "DEBUG"}} + + {{.DisplayJobName}} + + {{else if eq .JobType "INFERENCE"}} + + {{.DisplayJobName}} + + {{else if eq .JobType "TRAIN"}} + + {{.DisplayJobName}} + + {{else if eq .JobType "BENCHMARK"}} + + {{.DisplayJobName}} + + {{end}} +
+ +
+ {{.JobType}} +
+ +
+ + {{.Status}} + +
+ +
+ {{TimeSinceUnix1 .Cloudbrain.CreatedUnix}} +
+ +
+ {{if .TrainJobDuration}}{{.TrainJobDuration}}{{else}}--{{end}} +
+ +
+ {{if .ComputeResource}}{{.ComputeResource}}{{else}}--{{end}} +
+ +
+ {{if .User.Name}} + + {{else}} + + {{end}} +
+ +
+ -- +
+ +
+ {{.JobName}} +
+
+ {{if eq .JobType "DEBUG"}} +
+
+ {{$.CsrfTokenHtml}} + {{if eq .Status "RUNNING" "WAITING" "CREATING" "STARTING"}} + + {{$.i18n.Tr "repo.debug"}} + + {{else}} + + {{$.i18n.Tr "repo.debug_again"}} + + {{end}} +
+
+ {{end}} + + + +
+ {{$.CsrfTokenHtml}} + + {{$.i18n.Tr "repo.delete"}} + +
+
+
+
+ + {{end}} + {{end}} +
+
+ + +
+
+
+ +
+
+
+
+ +
+ +
+
+{{template "base/footer" .}} + From b8cc36f907bd94619f8b38e8bf7427640b527908 Mon Sep 17 00:00:00 2001 From: zhoupzh Date: Tue, 12 Apr 2022 10:01:25 +0800 Subject: [PATCH 04/14] fix issue --- web_src/js/features/cloudrbanin.js | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/web_src/js/features/cloudrbanin.js b/web_src/js/features/cloudrbanin.js index 216226e14..4de5519d4 100644 --- a/web_src/js/features/cloudrbanin.js +++ b/web_src/js/features/cloudrbanin.js @@ -20,6 +20,7 @@ export default async function initCloudrain() { const status = data.JobStatus const duration = data.JobDuration $('#duration-'+ID).text(duration) + console.log(status,["STOPPED"].includes(status)) if (status != status_text) { $('#' + ID+'-icon').removeClass().addClass(status) $('#' + ID+ '-text').text(status) @@ -38,8 +39,8 @@ export default async function initCloudrain() { $('#ai-debug-'+ID).removeClass('blue').addClass('disabled') } if(['STOPPED','FAILED','START_FAILED','CREATE_FAILED','SUCCEEDED'].includes(status)){ - $('#ai-debug-'+ID).removeClass('disabled').addClass('blue').text(debug_again_button).css("margin","0") - } + $('#ai-debug-'+ID).removeClass('disabled').addClass('blue').text(debug_again_button).css("margin","0") + } if(["RUNNING","WAITING"].includes(status)){ $('#ai-stop-'+ID).removeClass('disabled').addClass('blue') } @@ -162,6 +163,9 @@ export default async function initCloudrain() { $(`#${ID}-icon`).attr("class",data.JobStatus) // detail status and duration $(`#${ID}-text`).text(data.JobStatus) + if(["STOPPED","FAILED","START_FAILED","KILLED","COMPLETED","SUCCEEDED"].includes(data.JobStatus)){ + $('#ai-delete-'+ID).removeClass('disabled').addClass('blue') + } }).fail(function(err) { console.log(err); }); From 9612df52b983e2bd5f0823c5b5ce0227c72a6223 Mon Sep 17 00:00:00 2001 From: liuzx Date: Tue, 12 Apr 2022 10:59:59 +0800 Subject: [PATCH 05/14] fix-462 --- routers/repo/cloudbrain.go | 9 +++++++++ routers/repo/modelarts.go | 6 ++++++ 2 files changed, 15 insertions(+) diff --git a/routers/repo/cloudbrain.go b/routers/repo/cloudbrain.go index 0d007a27d..06077106b 100755 --- a/routers/repo/cloudbrain.go +++ b/routers/repo/cloudbrain.go @@ -753,8 +753,11 @@ func CloudBrainDel(ctx *context.Context) { } var isAdminPage = ctx.Query("isadminpage") + var isHomePage = ctx.Query("isHomepage") if ctx.IsUserSiteAdmin() && isAdminPage == "true" { ctx.Redirect(setting.AppSubURL + "/admin" + "/cloudbrains") + } else if isHomePage == "true" { + ctx.Redirect(setting.AppSubURL + "/cloudbrains") } else { ctx.Redirect(setting.AppSubURL + ctx.Repo.RepoLink + "/debugjob?debugListType=" + listType) } @@ -1693,8 +1696,11 @@ func BenchmarkDel(ctx *context.Context) { } var isAdminPage = ctx.Query("isadminpage") + var isHomePage = ctx.Query("isHomepage") if ctx.IsUserSiteAdmin() && isAdminPage == "true" { ctx.Redirect(setting.AppSubURL + "/admin" + "/cloudbrains") + } else if isHomePage == "true" { + ctx.Redirect(setting.AppSubURL + "/cloudbrains") } else { ctx.Redirect(setting.AppSubURL + ctx.Repo.RepoLink + "/cloudbrain/benchmark") } @@ -1747,8 +1753,11 @@ func CloudBrainTrainJobDel(ctx *context.Context) { } var isAdminPage = ctx.Query("isadminpage") + var isHomePage = ctx.Query("isHomepage") if ctx.IsUserSiteAdmin() && isAdminPage == "true" { ctx.Redirect(setting.AppSubURL + "/admin" + "/cloudbrains") + } else if isHomePage == "true" { + ctx.Redirect(setting.AppSubURL + "/cloudbrains") } else { ctx.Redirect(setting.AppSubURL + ctx.Repo.RepoLink + "/modelarts/train-job?listType=" + listType) } diff --git a/routers/repo/modelarts.go b/routers/repo/modelarts.go index 933571a0b..36da1ce21 100755 --- a/routers/repo/modelarts.go +++ b/routers/repo/modelarts.go @@ -530,8 +530,11 @@ func NotebookDel(ctx *context.Context) { } var isAdminPage = ctx.Query("isadminpage") + var isHomePage = ctx.Query("ishomepage") if ctx.IsUserSiteAdmin() && isAdminPage == "true" { ctx.Redirect(setting.AppSubURL + "/admin" + "/cloudbrains") + } else if isHomePage == "true" { + ctx.Redirect(setting.AppSubURL + "/cloudbrains") } else { ctx.Redirect(setting.AppSubURL + ctx.Repo.RepoLink + "/debugjob?debugListType=" + listType) } @@ -1685,8 +1688,11 @@ func TrainJobDel(ctx *context.Context) { } var isAdminPage = ctx.Query("isadminpage") + var isHomePage = ctx.Query("ishomepage") if ctx.IsUserSiteAdmin() && isAdminPage == "true" { ctx.Redirect(setting.AppSubURL + "/admin" + "/cloudbrains") + } else if isHomePage == "true" { + ctx.Redirect(setting.AppSubURL + "/cloudbrains") } else { ctx.Redirect(setting.AppSubURL + ctx.Repo.RepoLink + "/modelarts/train-job?listType=" + listType) } From 1d3652fbec84069c2ad6a19cb07dbc21355e870a Mon Sep 17 00:00:00 2001 From: zhoupzh Date: Tue, 12 Apr 2022 14:41:43 +0800 Subject: [PATCH 06/14] fix issue --- templates/user/dashboard/cloudbrains.tmpl | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/templates/user/dashboard/cloudbrains.tmpl b/templates/user/dashboard/cloudbrains.tmpl index 987c0b3e9..4be7b60fd 100644 --- a/templates/user/dashboard/cloudbrains.tmpl +++ b/templates/user/dashboard/cloudbrains.tmpl @@ -13,7 +13,7 @@
{{template "user/dashboard/navbar" .}} -
+
{{template "base/alert" .}}
@@ -45,11 +45,11 @@
{{$.i18n.Tr "repo.cloudbrain_creator"}}
-
+
{{$.i18n.Tr "repository"}}
-
+
{{$.i18n.Tr "repo.cloudbrain_operate"}}
@@ -116,11 +116,11 @@ {{end}}
-
+ -
+
{{if eq .JobType "DEBUG" "SNN4IMAGENET" "BRAINSCORE"}}
@@ -153,9 +153,9 @@ {{end}}
- + {{$.CsrfTokenHtml}} - + {{$.i18n.Tr "repo.delete"}} @@ -229,7 +229,7 @@
{{.JobName}}
-
+
{{if eq .JobType "DEBUG"}}
From aee7f4ef834f3156a7e4cde5fd60cdf5bcfdd20e Mon Sep 17 00:00:00 2001 From: liuzx Date: Tue, 12 Apr 2022 14:49:12 +0800 Subject: [PATCH 07/14] fix-bug --- routers/repo/cloudbrain.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/routers/repo/cloudbrain.go b/routers/repo/cloudbrain.go index 06077106b..9271fe590 100755 --- a/routers/repo/cloudbrain.go +++ b/routers/repo/cloudbrain.go @@ -753,7 +753,7 @@ func CloudBrainDel(ctx *context.Context) { } var isAdminPage = ctx.Query("isadminpage") - var isHomePage = ctx.Query("isHomepage") + var isHomePage = ctx.Query("ishomepage") if ctx.IsUserSiteAdmin() && isAdminPage == "true" { ctx.Redirect(setting.AppSubURL + "/admin" + "/cloudbrains") } else if isHomePage == "true" { @@ -1696,7 +1696,7 @@ func BenchmarkDel(ctx *context.Context) { } var isAdminPage = ctx.Query("isadminpage") - var isHomePage = ctx.Query("isHomepage") + var isHomePage = ctx.Query("ishomepage") if ctx.IsUserSiteAdmin() && isAdminPage == "true" { ctx.Redirect(setting.AppSubURL + "/admin" + "/cloudbrains") } else if isHomePage == "true" { @@ -1753,7 +1753,7 @@ func CloudBrainTrainJobDel(ctx *context.Context) { } var isAdminPage = ctx.Query("isadminpage") - var isHomePage = ctx.Query("isHomepage") + var isHomePage = ctx.Query("ishomepage") if ctx.IsUserSiteAdmin() && isAdminPage == "true" { ctx.Redirect(setting.AppSubURL + "/admin" + "/cloudbrains") } else if isHomePage == "true" { From c59563bf48503589808f99640dcbfc37c12f8471 Mon Sep 17 00:00:00 2001 From: zhoupzh Date: Wed, 13 Apr 2022 09:44:04 +0800 Subject: [PATCH 08/14] fix issue --- templates/user/dashboard/cloudbrains.tmpl | 55 ++++++++--------------- 1 file changed, 18 insertions(+), 37 deletions(-) diff --git a/templates/user/dashboard/cloudbrains.tmpl b/templates/user/dashboard/cloudbrains.tmpl index 4be7b60fd..c86770fb8 100644 --- a/templates/user/dashboard/cloudbrains.tmpl +++ b/templates/user/dashboard/cloudbrains.tmpl @@ -30,21 +30,19 @@
{{$.i18n.Tr "repo.cloudbrain_task_type"}}
-
+
{{$.i18n.Tr "repo.modelarts.status"}}
-
+
{{$.i18n.Tr "repo.modelarts.createtime"}}
-
+
{{$.i18n.Tr "repo.cloudbrain_status_runtime"}}
-
+
{{$.i18n.Tr "repo.modelarts.computing_resources"}}
-
- {{$.i18n.Tr "repo.cloudbrain_creator"}} -
+
{{$.i18n.Tr "repository"}}
@@ -90,31 +88,24 @@ {{.JobType}}
-
+
{{.Status}}
-
+
{{TimeSinceUnix1 .Cloudbrain.CreatedUnix}}
-
+
{{if .TrainJobDuration}}{{.TrainJobDuration}}{{else}}--{{end}}
-
+
{{if .ComputeResource}}{{.ComputeResource}}{{else}}--{{end}}
- -
- {{if .User.Name}} - - {{else}} - - {{end}} -
+
{{.Repo.OwnerName}}/{{.Repo.Alias}} @@ -172,7 +163,7 @@
-
+ -
+
{{.Status}}
-
+
{{TimeSinceUnix1 .Cloudbrain.CreatedUnix}}
-
+
{{if .TrainJobDuration}}{{.TrainJobDuration}}{{else}}--{{end}}
-
+
{{if .ComputeResource}}{{.ComputeResource}}{{else}}--{{end}}
-
- {{if .User.Name}} - - {{else}} - - {{end}} -
+ -
+
--
- -
- {{.JobName}} -
-
+
{{if eq .JobType "DEBUG"}}
From 72698642bc1989840abd3c316fe2e0c5fc08a22c Mon Sep 17 00:00:00 2001 From: zhoupzh Date: Thu, 14 Apr 2022 10:27:42 +0800 Subject: [PATCH 09/14] fix issue --- .../admin/cloudbrain/search_dashboard.tmpl | 66 +++++++++++++++++++ templates/user/dashboard/cloudbrains.tmpl | 7 +- web_src/less/openi.less | 14 ++-- 3 files changed, 76 insertions(+), 11 deletions(-) create mode 100644 templates/admin/cloudbrain/search_dashboard.tmpl diff --git a/templates/admin/cloudbrain/search_dashboard.tmpl b/templates/admin/cloudbrain/search_dashboard.tmpl new file mode 100644 index 000000000..7ad22b21f --- /dev/null +++ b/templates/admin/cloudbrain/search_dashboard.tmpl @@ -0,0 +1,66 @@ + +
+
+
+ +
+ + +
+ +
+
+
+
+
+
+
+ + + +
+
+
+
\ No newline at end of file diff --git a/templates/user/dashboard/cloudbrains.tmpl b/templates/user/dashboard/cloudbrains.tmpl index c86770fb8..2e9034b1b 100644 --- a/templates/user/dashboard/cloudbrains.tmpl +++ b/templates/user/dashboard/cloudbrains.tmpl @@ -11,13 +11,12 @@
-
- {{template "user/dashboard/navbar" .}} +
+ {{template "admin/cloudbrain/search_dashboard" .}}
{{template "base/alert" .}}
-
- {{template "admin/cloudbrain/search" .}} +
diff --git a/web_src/less/openi.less b/web_src/less/openi.less index 229ce49e1..511e80aec 100644 --- a/web_src/less/openi.less +++ b/web_src/less/openi.less @@ -770,13 +770,13 @@ display: block; } //elemet-ui -.el-pagination.is-background .el-pager li:not(.disabled).active { - background-color: #5bb973 !important; - color: #FFF !important; - } - .el-pagination.is-background .el-pager li:hover { - color: #5bb973 !important; - } +// .el-pagination.is-background .el-pager li:not(.disabled).active { +// background-color: #5bb973 !important; +// color: #FFF !important; +// } +// .el-pagination.is-background .el-pager li:hover { +// color: #5bb973 !important; +// } .tag_key{ max-width:100%; From 29fc7f77532327532d422c126ab82b587b65130c Mon Sep 17 00:00:00 2001 From: zhoupzh Date: Thu, 14 Apr 2022 16:46:26 +0800 Subject: [PATCH 10/14] fix issue --- options/locale/locale_en-US.ini | 11 +++- options/locale/locale_zh-CN.ini | 35 +++++++++-- templates/admin/cloudbrain/list.tmpl | 1 + .../admin/cloudbrain/search_dashboard.tmpl | 12 ++-- templates/admin/navbar.tmpl | 2 +- templates/base/head_navbar.tmpl | 5 +- templates/base/head_navbar_fluid.tmpl | 5 +- templates/base/head_navbar_home.tmpl | 5 +- templates/base/head_navbar_pro.tmpl | 5 +- templates/repo/cloudbrain/benchmark/show.tmpl | 18 +++--- templates/user/dashboard/cloudbrains.tmpl | 60 +++++++++++++------ web_src/js/features/cloudrbanin.js | 2 +- web_src/less/openi.less | 2 +- 13 files changed, 114 insertions(+), 49 deletions(-) diff --git a/options/locale/locale_en-US.ini b/options/locale/locale_en-US.ini index db108e6d6..5c89d62f1 100755 --- a/options/locale/locale_en-US.ini +++ b/options/locale/locale_en-US.ini @@ -939,7 +939,8 @@ download=Download score=Score cloudbrain=Cloudbrain -cloudbrain.dashboard = Cloudbrain List +cloudbrain.task = Cloudbrain Task +cloudbrain.search = Seach Task Name cloudbrain.new=New cloudbrain cloudbrain.desc=Cloudbrain cloudbrain.cancel=Cancel @@ -2956,3 +2957,11 @@ gpu_num = GPU cpu_num = CPU memory = Memory shared_memory = Shared Memory + + +DEBUG = DEBUG +SNN4IMAGENET = SNN4IMAGENET +BRAINSCORE = BRAINSCORE +TRAIN = TRAIN +INFERENCE = INFERENCE +BENCHMARK = BENCHMARK \ No newline at end of file diff --git a/options/locale/locale_zh-CN.ini b/options/locale/locale_zh-CN.ini index 04ed5a8aa..ea40f9aa8 100755 --- a/options/locale/locale_zh-CN.ini +++ b/options/locale/locale_zh-CN.ini @@ -745,7 +745,7 @@ dataset_setting=数据集设置 title=名称 title_format_err=名称最多允许输入100个字符,只允许字母,数字,中划线 (‘-’),下划线 (‘_’) 和点 (‘.’) 。 description=描述 -description_format_err=描述最多允许输入1024个字符。 +description_format_err=描述最多允许输入%s个字符。 create_dataset=创建数据集 create_dataset_fail=创建数据集失败。 query_dataset_fail=查询数据集失败。 @@ -934,11 +934,29 @@ more=更多 gpu_type_all=全部 model_download=结果下载 submit_image=提交镜像 +modify_image=修改镜像 +image_exist=镜像Tag已被使用,请修改镜像Tag。 +image_committing=镜像正在提交中,请稍后再试。 +image_commit_fail=提交镜像失败,请稍后再试。 +image_not_exist=镜像不存在。 +image_edit_fail=编辑镜像失败,请稍后再试。 +image_delete_fail=删除镜像失败,请稍后再试。 +image_overwrite=您已经提交过相同名称的镜像,您确定要覆盖原来提交的镜像吗? download=模型下载 score=评分 + +images.name = 镜像Tag +images.name_placerholder = 请输入镜像Tag +image.label_tooltips = 如Python 3.7, Tensorflow 2.0, cuda 10, pytorch 1.6 +images.public_tooltips = 镜像设置为公开后,可被其他用户看到。 +images.name_rule = 请输入字母、数字、_和-,最长100个字符,且不能以中划线(-)结尾。 +images.delete_task = 删除镜像 +images.task_delete_confirm = 你确认删除该镜像么?此镜像一旦删除不可恢复。 + cloudbrain=云脑 -cloudbrain.dashboard=云脑列表 +cloudbrain.task = 云脑任务 +cloudbrain.search = 搜索任务名称 cloudbrain.new=新建任务 cloudbrain.desc=云脑功能 cloudbrain.cancel=取消 @@ -2171,8 +2189,9 @@ branch.included=已包含 topic.manage_topics=管理主题 topic.done=保存 -topic.count_prompt=您最多选择25个主题 -topic.format_prompt=主题必须以中文、字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符 +topic.count_prompt=您最多选择25个标签 +topic.format_prompt=标签必须以中文、字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符 +imagetopic.format_prompt=标签长度不得超过35个字符 [org] org_name_holder=组织名称 @@ -2959,8 +2978,16 @@ task_delete_confirm = 你确认删除该任务么?此任务一旦删除不可 operate_confirm = 确定操作 operate_cancel = 取消操作 + gpu_num = GPU数 cpu_num = CPU数 memory = 内存 shared_memory = 共享内存 +DEBUG = 调试任务 +SNN4IMAGENET = 调试任务-脉冲神经网络图片分类测评 +BRAINSCORE = 调试任务-神经相似性测评 +TRAIN = 训练任务 +INFERENCE = 推理任务 +BENCHMARK = 评测任务 + diff --git a/templates/admin/cloudbrain/list.tmpl b/templates/admin/cloudbrain/list.tmpl index 6fea2eef7..f69bced48 100755 --- a/templates/admin/cloudbrain/list.tmpl +++ b/templates/admin/cloudbrain/list.tmpl @@ -12,6 +12,7 @@
+ {{template "admin/navbar" .}}
{{template "base/alert" .}} diff --git a/templates/admin/cloudbrain/search_dashboard.tmpl b/templates/admin/cloudbrain/search_dashboard.tmpl index 7ad22b21f..b9e0cdb11 100644 --- a/templates/admin/cloudbrain/search_dashboard.tmpl +++ b/templates/admin/cloudbrain/search_dashboard.tmpl @@ -24,12 +24,12 @@
@@ -57,7 +57,8 @@
diff --git a/templates/base/head_navbar_fluid.tmpl b/templates/base/head_navbar_fluid.tmpl index 75bb31ba8..bb316e292 100644 --- a/templates/base/head_navbar_fluid.tmpl +++ b/templates/base/head_navbar_fluid.tmpl @@ -27,7 +27,7 @@ {{.i18n.Tr "issues"}} {{.i18n.Tr "pull_requests"}} {{.i18n.Tr "milestones"}} - {{.i18n.Tr "repo.cloudbrain.dashboard"}} + {{.i18n.Tr "repo.cloudbrain.task"}}
@@ -56,7 +56,8 @@
diff --git a/templates/base/head_navbar_home.tmpl b/templates/base/head_navbar_home.tmpl index defff5f34..eabd993fb 100644 --- a/templates/base/head_navbar_home.tmpl +++ b/templates/base/head_navbar_home.tmpl @@ -19,7 +19,7 @@ {{.i18n.Tr "issues"}} {{.i18n.Tr "pull_requests"}} {{.i18n.Tr "milestones"}} - {{.i18n.Tr "repo.cloudbrain.dashboard"}} + {{.i18n.Tr "repo.cloudbrain.task"}}
@@ -48,7 +48,8 @@
diff --git a/templates/base/head_navbar_pro.tmpl b/templates/base/head_navbar_pro.tmpl index f3de2b80f..5883a8916 100644 --- a/templates/base/head_navbar_pro.tmpl +++ b/templates/base/head_navbar_pro.tmpl @@ -28,7 +28,7 @@ {{.i18n.Tr "issues"}} {{.i18n.Tr "pull_requests"}} {{.i18n.Tr "milestones"}} - {{.i18n.Tr "repo.cloudbrain.dashboard"}} + {{.i18n.Tr "repo.cloudbrain.task"}}
@@ -58,7 +58,8 @@
diff --git a/templates/repo/cloudbrain/benchmark/show.tmpl b/templates/repo/cloudbrain/benchmark/show.tmpl index 16e5a98f5..944719dc7 100755 --- a/templates/repo/cloudbrain/benchmark/show.tmpl +++ b/templates/repo/cloudbrain/benchmark/show.tmpl @@ -176,7 +176,7 @@ td, th {