diff --git a/options/locale/locale_en-US.ini b/options/locale/locale_en-US.ini index 18ca21925..d8913ed1a 100644 --- a/options/locale/locale_en-US.ini +++ b/options/locale/locale_en-US.ini @@ -755,6 +755,15 @@ unit_disabled = The site administrator has disabled this repository section. language_other = Other datasets = Datasets datasets.desc = Enable Dataset + +debug=Debug +stop=Stop +delete=Delete +model_download=Model Download +submit_image=Submit Image +download=Download + + cloudbrain=cloudbrain cloudbrain.new=New cloudbrain cloudbrain.desc=cloudbrain @@ -777,9 +786,13 @@ cloudbrain_status_createtime = Status/Createtime cloudbrain_status_runtime = Running Time -modelarts.notebook=Debug Job -modelarts.train_job=Create Job -modelarts.train_job.new=New Job +modelarts.notebook=Debug Task +modelarts.train_job=Create Task +modelarts.train_job.new_debug= New Debug Task +modelarts.train_job.new_train=New Train Task + + + modelarts.train_job.basic_info=Basic Info modelarts.train_job.job_status=Job Status modelarts.train_job.job_name=Job Name diff --git a/options/locale/locale_zh-CN.ini b/options/locale/locale_zh-CN.ini index 8ac895ec9..9af32fd99 100755 --- a/options/locale/locale_zh-CN.ini +++ b/options/locale/locale_zh-CN.ini @@ -757,6 +757,14 @@ unit_disabled=站点管理员已禁用此项目单元。 language_other=其它 datasets=数据集 datasets.desc=数据集功能 + +debug=调试 +stop=停止 +delete=删除 +model_download=模型下载 +submit_image=提交镜像 +download=模型下载 + cloudbrain=云脑 cloudbrain.new=新建任务 cloudbrain.desc=云脑功能 @@ -779,9 +787,12 @@ cloudbrain_status_createtime=状态/创建时间 cloudbrain_status_runtime = 运行时长 cloudbrain_jobname_err=只能以小写字母或数字开头且只包含小写字母、数字、_和-,不能以_结尾,最长36个字符。 -modelarts.notebook=调试作业 -modelarts.train_job=训练作业 -modelarts.train_job.new=新建作业 +modelarts.notebook=调试任务 +modelarts.train_job=训练任务 +modelarts.train_job.new_debug=新建调试任务 +modelarts.train_job.new_train=新建训练任务 + + modelarts.train_job.basic_info=基本信息 modelarts.train_job.job_status=作业状态 modelarts.train_job.job_name=作业名称 diff --git a/routers/api/v1/repo/modelarts.go b/routers/api/v1/repo/modelarts.go index f38cb1ad7..2e825d8cc 100755 --- a/routers/api/v1/repo/modelarts.go +++ b/routers/api/v1/repo/modelarts.go @@ -74,6 +74,7 @@ func GetModelArtsTrainJob(ctx *context.APIContext) { ctx.JSON(http.StatusOK, map[string]interface{}{ "JobID": jobID, "JobStatus": job.Status, + "JobDuration": job.Duration, }) } diff --git a/templates/repo/cloudbrain/index.tmpl b/templates/repo/cloudbrain/index.tmpl index d776dba99..2201cd272 100755 --- a/templates/repo/cloudbrain/index.tmpl +++ b/templates/repo/cloudbrain/index.tmpl @@ -239,7 +239,7 @@
@@ -255,7 +255,7 @@ - 新建调试任务 + {{$.i18n.Tr "repo.modelarts.train_job.new_debug"}} @@ -358,25 +358,25 @@ - 调试 + {{$.i18n.Tr "repo.debug"}}
{{$.CsrfTokenHtml}} - 停止 + {{$.i18n.Tr "repo.stop"}}
- 模型下载 + {{$.i18n.Tr "repo.download"}} - 提交镜像 + {{$.i18n.Tr "repo.submit_image"}}
@@ -384,7 +384,7 @@
{{$.CsrfTokenHtml}} - 删除 + {{$.i18n.Tr "repo.delete"}}
diff --git a/templates/repo/modelarts/notebook/index.tmpl b/templates/repo/modelarts/notebook/index.tmpl index 86d9a7243..194d0604a 100755 --- a/templates/repo/modelarts/notebook/index.tmpl +++ b/templates/repo/modelarts/notebook/index.tmpl @@ -208,8 +208,8 @@
@@ -224,7 +224,7 @@
- 新建调试任务 + {{$.i18n.Tr "repo.modelarts.train_job.new_debug"}} @@ -311,12 +311,12 @@ 查看 --> - 调试 + {{$.i18n.Tr "repo.debug"}}
{{$.CsrfTokenHtml}} - 停止 + {{$.i18n.Tr "repo.stop"}}
@@ -337,7 +337,7 @@
{{$.CsrfTokenHtml}} - 删除 + {{$.i18n.Tr "repo.delete"}}
diff --git a/templates/repo/modelarts/trainjob/index.tmpl b/templates/repo/modelarts/trainjob/index.tmpl index 19e2615c9..5397110ff 100755 --- a/templates/repo/modelarts/trainjob/index.tmpl +++ b/templates/repo/modelarts/trainjob/index.tmpl @@ -231,8 +231,8 @@
@@ -247,7 +247,7 @@
- 新建训练任务 + {{$.i18n.Tr "repo.modelarts.train_job.new_train"}} @@ -283,13 +283,13 @@
{{$.i18n.Tr "repo.cloudbrain_status_createtime"}}
-
+
{{$.i18n.Tr "repo.cloudbrain_status_runtime"}}
{{$.i18n.Tr "repo.cloudbrain_creator"}}
-
+
{{$.i18n.Tr "repo.cloudbrain_operate"}}
@@ -323,13 +323,13 @@ {{TimeSinceUnix .Cloudbrain.CreatedUnix $.Lang}}
-
+
- {{.TrainJobDuration}} + @@ -343,7 +343,7 @@ {{end}}
-
+
@@ -456,7 +456,31 @@ .modal('show') } } + function runtime(time){ + if(time){ + let hours = time/3600000<10 ? "0"+parseInt(time/3600000):parseInt(time/3600000) + let miuns = time%3600000/60000<10 ? "0"+parseInt(time%3600000/60000):parseInt(time%3600000/60000) + let seconds = time%60000/1000<10 ? "0"+parseInt(time%60000/1000):parseInt(time%60000/1000) + return hours + ":" + miuns + ":" + seconds + }else{ + return "00:00:00" + } + } + function loadJobDuration() { + $(".job-status").each((index, job) => { + const jobID = job.dataset.jobid; + const repoPath = job.dataset.repopath; + $.get(`/api/v1/repos/${repoPath}/modelarts/train-job/${jobID}`, (data) => { + const duration = data.JobDuration + const jobID = data.JobID + let train_duration = runtime(duration) + $('#duration-'+jobID).text(train_duration) + }) + + }) + } + $(document).ready(loadJobDuration); // 加载任务状态 var timeid = window.setInterval(loadJobStatus, 15000); $(document).ready(loadJobStatus); @@ -464,6 +488,7 @@ $(".job-status").each((index, job) => { const jobID = job.dataset.jobid; const repoPath = job.dataset.repopath; + if (job.textContent.trim() == 'IMAGE_FAILED' || job.textContent.trim() == 'SUBMIT_FAILED' || job.textContent.trim() == 'DELETE_FAILED' || job.textContent.trim() == 'KILLED' || job.textContent.trim() == 'COMPLETED' || job.textContent.trim() == 'FAILED' || job.textContent.trim() == 'CANCELED' || job.textContent.trim() == 'LOST') { @@ -473,32 +498,17 @@ $.get(`/api/v1/repos/${repoPath}/modelarts/train-job/${jobID}`, (data) => { const jobID = data.JobID const status = data.JobStatus - function runtime(){ - if(time){ - let hours = time/3600000<10 ? time/3600000+"0":time/3600000 - let miuns = time%3600000/60000<10 ? time%3600000/60000+"0":time%3600000/60000 - let seconds = time%60000/1000<10 ? time%60000/1000<10+"0":time%60000/1000<10 - return hours + ":" + miuns + ":" + seconds - }else{ - return "00:00:00" - } - } + const duration = data.JobDuration if (status != job.textContent.trim()) { - $('#' + jobID+'-icon').removeClass().addClass(status) $('#' + jobID+ '-text').text(status) - - //if (status == 'STOPPED') { - // window.location.reload() - //} + } if(status==="RUNNING"){ $('#model-debug-'+jobID).removeClass('disabled') $('#model-debug-'+jobID).addClass('blue') - // let TrainDuration = runtime(time) - // $('#model-duration').text(TrainDuration) - - + let train_duration = runtime(duration) + $('#duration-'+jobID).text(train_duration) } if(status!=="RUNNING"){