From 31d07a6e848ac4eae60ee58c450ada0f9f842957 Mon Sep 17 00:00:00 2001 From: zouap Date: Mon, 15 Aug 2022 09:20:38 +0800 Subject: [PATCH 01/55] =?UTF-8?q?=E4=BF=AE=E6=94=B9#2702?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zouap --- templates/repo/cloudbrain/inference/new.tmpl | 7 +++++-- templates/repo/modelarts/inferencejob/new.tmpl | 7 +++++-- templates/repo/modelarts/trainjob/version_new.tmpl | 3 +++ 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/templates/repo/cloudbrain/inference/new.tmpl b/templates/repo/cloudbrain/inference/new.tmpl index fc2c37bc7..bf0906bf2 100644 --- a/templates/repo/cloudbrain/inference/new.tmpl +++ b/templates/repo/cloudbrain/inference/new.tmpl @@ -186,8 +186,11 @@ {{end}} - - {{template "custom/select_dataset_train" .}} + +
+ +
diff --git a/templates/repo/modelarts/inferencejob/new.tmpl b/templates/repo/modelarts/inferencejob/new.tmpl index 3b2150e41..2207eeb33 100644 --- a/templates/repo/modelarts/inferencejob/new.tmpl +++ b/templates/repo/modelarts/inferencejob/new.tmpl @@ -191,8 +191,11 @@ {{end}}
- - {{template "custom/select_dataset_train" .}} + +
+ +
{{.i18n.Tr "cloudbrain.dataset_path_rule"}}
diff --git a/templates/repo/modelarts/trainjob/version_new.tmpl b/templates/repo/modelarts/trainjob/version_new.tmpl index 6712f5e7d..b2209651a 100644 --- a/templates/repo/modelarts/trainjob/version_new.tmpl +++ b/templates/repo/modelarts/trainjob/version_new.tmpl @@ -151,6 +151,7 @@ {{.i18n.Tr "cloudbrain.view_sample"}}
+
{{.i18n.Tr "cloudbrain.dataset_path_rule"}}
+
+
{{.i18n.Tr "repo.modelarts.train_job.add_run_parameter"}} From f9fb63e77cfea96b67c5f5f6e72f4d22aea5f9f0 Mon Sep 17 00:00:00 2001 From: zouap Date: Mon, 15 Aug 2022 09:45:50 +0800 Subject: [PATCH 02/55] =?UTF-8?q?=E4=BF=AE=E6=94=B9#2702?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zouap --- templates/repo/cloudbrain/inference/new.tmpl | 3 +-- templates/repo/modelarts/inferencejob/new.tmpl | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/templates/repo/cloudbrain/inference/new.tmpl b/templates/repo/cloudbrain/inference/new.tmpl index bf0906bf2..3ca9684a7 100644 --- a/templates/repo/cloudbrain/inference/new.tmpl +++ b/templates/repo/cloudbrain/inference/new.tmpl @@ -186,8 +186,7 @@ {{end}}
- +
diff --git a/templates/repo/modelarts/inferencejob/new.tmpl b/templates/repo/modelarts/inferencejob/new.tmpl index 2207eeb33..eeb906ab5 100644 --- a/templates/repo/modelarts/inferencejob/new.tmpl +++ b/templates/repo/modelarts/inferencejob/new.tmpl @@ -191,8 +191,7 @@ {{end}} - +
From db15ebc660f56be3dd287e546d44b00d4592acf3 Mon Sep 17 00:00:00 2001 From: zouap Date: Mon, 15 Aug 2022 10:27:36 +0800 Subject: [PATCH 03/55] =?UTF-8?q?=E4=BF=AE=E6=94=B9#2702?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zouap --- web_src/js/components/dataset/selectDataset.vue | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/web_src/js/components/dataset/selectDataset.vue b/web_src/js/components/dataset/selectDataset.vue index 43b3701f4..b1670b95a 100755 --- a/web_src/js/components/dataset/selectDataset.vue +++ b/web_src/js/components/dataset/selectDataset.vue @@ -951,7 +951,8 @@ export default { this.repoLink = $(".cloudbrain-type").data("repo-link"); if ( location.href.indexOf("benchmark") !== -1 || - location.href.indexOf("train-job") !== -1 + location.href.indexOf("train-job") !== -1 || + location.href.indexOf("inference") !== -1 ) { this.benchmarkNew = true; } From 32fe216b075780f6e7e56f73c91565c98da60270 Mon Sep 17 00:00:00 2001 From: zouap Date: Mon, 15 Aug 2022 10:38:03 +0800 Subject: [PATCH 04/55] =?UTF-8?q?=E4=BF=AE=E6=94=B9#2702?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zouap --- templates/repo/modelarts/inferencejob/new.tmpl | 1 + 1 file changed, 1 insertion(+) diff --git a/templates/repo/modelarts/inferencejob/new.tmpl b/templates/repo/modelarts/inferencejob/new.tmpl index eeb906ab5..bafa09ab4 100644 --- a/templates/repo/modelarts/inferencejob/new.tmpl +++ b/templates/repo/modelarts/inferencejob/new.tmpl @@ -40,6 +40,7 @@ {{template "repo/header" .}}
{{template "base/alert" .}} +

{{.i18n.Tr "repo.modelarts.train_job.new_infer"}}

From 082847bb1159f672aa3d7b407ec1528da05bf6d2 Mon Sep 17 00:00:00 2001 From: zouap Date: Mon, 15 Aug 2022 15:42:49 +0800 Subject: [PATCH 05/55] =?UTF-8?q?=E4=BF=AE=E6=94=B9#2702?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zouap --- modules/modelarts/modelarts.go | 13 +++++++------ routers/repo/modelarts.go | 12 ++++++++++-- 2 files changed, 17 insertions(+), 8 deletions(-) diff --git a/modules/modelarts/modelarts.go b/modules/modelarts/modelarts.go index 9a6ea0574..9e8447978 100755 --- a/modules/modelarts/modelarts.go +++ b/modules/modelarts/modelarts.go @@ -134,6 +134,7 @@ type GenerateInferenceJobReq struct { ModelVersion string CkptName string ResultUrl string + DatasetName string } type VersionInfo struct { @@ -690,11 +691,11 @@ func GenerateInferenceJob(ctx *context.Context, req *GenerateInferenceJobReq) (e return err } - attach, err := models.GetAttachmentByUUID(req.Uuid) - if err != nil { - log.Error("GetAttachmentByUUID(%s) failed:%v", strconv.FormatInt(jobResult.JobID, 10), err.Error()) - return err - } + // attach, err := models.GetAttachmentByUUID(req.Uuid) + // if err != nil { + // log.Error("GetAttachmentByUUID(%s) failed:%v", strconv.FormatInt(jobResult.JobID, 10), err.Error()) + // return err + // } jobID := strconv.FormatInt(jobResult.JobID, 10) err = models.CreateCloudbrain(&models.Cloudbrain{ Status: TransTrainJobStatus(jobResult.Status), @@ -708,7 +709,7 @@ func GenerateInferenceJob(ctx *context.Context, req *GenerateInferenceJobReq) (e VersionID: jobResult.VersionID, VersionName: jobResult.VersionName, Uuid: req.Uuid, - DatasetName: attach.Name, + DatasetName: req.DatasetName, CommitID: req.CommitID, EngineID: req.EngineID, TrainUrl: req.TrainUrl, diff --git a/routers/repo/modelarts.go b/routers/repo/modelarts.go index 763308930..801f82b2c 100755 --- a/routers/repo/modelarts.go +++ b/routers/repo/modelarts.go @@ -1972,7 +1972,7 @@ func InferenceJobCreate(ctx *context.Context, form auth.CreateModelArtsInference codeObsPath := "/" + setting.Bucket + modelarts.JobPath + jobName + modelarts.CodePath resultObsPath := "/" + setting.Bucket + modelarts.JobPath + jobName + modelarts.ResultPath + VersionOutputPath + "/" logObsPath := "/" + setting.Bucket + modelarts.JobPath + jobName + modelarts.LogPath + VersionOutputPath + "/" - dataPath := "/" + setting.Bucket + "/" + setting.BasePath + path.Join(uuid[0:1], uuid[1:2]) + "/" + uuid + uuid + "/" + //dataPath := "/" + setting.Bucket + "/" + setting.BasePath + path.Join(uuid[0:1], uuid[1:2]) + "/" + uuid + uuid + "/" branchName := form.BranchName FlavorName := form.FlavorName EngineName := form.EngineName @@ -2050,6 +2050,13 @@ func InferenceJobCreate(ctx *context.Context, form auth.CreateModelArtsInference gitRepo, _ := git.OpenRepository(repo.RepoPath()) commitID, _ := gitRepo.GetBranchCommitID(branchName) + _, dataUrl, datasetNames, _, err := getDatasUrlListByUUIDS(uuid) + if err != nil { + inferenceJobErrorNewDataPrepare(ctx, form) + ctx.RenderWithErr(ctx.Tr(errStr), tplModelArtsInferenceJobNew, &form) + return + } + if err := downloadCode(repo, codeLocalPath, branchName); err != nil { log.Error("Create task failed, server timed out: %s (%v)", repo.FullName(), err) inferenceJobErrorNewDataPrepare(ctx, form) @@ -2120,7 +2127,7 @@ func InferenceJobCreate(ctx *context.Context, form auth.CreateModelArtsInference req := &modelarts.GenerateInferenceJobReq{ JobName: jobName, DisplayJobName: displayJobName, - DataUrl: dataPath, + DataUrl: dataUrl, Description: description, CodeObsPath: codeObsPath, BootFileUrl: codeObsPath + bootFile, @@ -2146,6 +2153,7 @@ func InferenceJobCreate(ctx *context.Context, form auth.CreateModelArtsInference ModelVersion: modelVersion, CkptName: ckptName, ResultUrl: resultObsPath, + DatasetName: datasetNames, } err = modelarts.GenerateInferenceJob(ctx, req) From 6c23383219ad8e0078ce1798130e051a7f3a00f1 Mon Sep 17 00:00:00 2001 From: zouap Date: Mon, 15 Aug 2022 16:15:36 +0800 Subject: [PATCH 06/55] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E5=A4=9A=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E9=9B=86=E6=98=BE=E7=A4=BA=E9=A1=BA=E5=BA=8F=E9=94=99?= =?UTF-8?q?=E4=B9=B1=E9=97=AE=E9=A2=98=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zouap --- routers/repo/modelarts.go | 36 ++++++++++++++++++++++++++---------- 1 file changed, 26 insertions(+), 10 deletions(-) diff --git a/routers/repo/modelarts.go b/routers/repo/modelarts.go index 801f82b2c..697e6591e 100755 --- a/routers/repo/modelarts.go +++ b/routers/repo/modelarts.go @@ -896,12 +896,12 @@ func trainJobNewVersionDataPrepare(ctx *context.Context) error { ctx.Data["display_job_name"] = task.DisplayJobName ctx.Data["job_name"] = task.JobName - attachs, err := models.GetModelArtsTrainAttachments(ctx.User.ID) - if err != nil { - ctx.ServerError("GetAllUserAttachments failed:", err) - return err - } - ctx.Data["attachments"] = attachs + // attachs, err := models.GetModelArtsTrainAttachments(ctx.User.ID) + // if err != nil { + // ctx.ServerError("GetAllUserAttachments failed:", err) + // return err + // } + // ctx.Data["attachments"] = attachs var resourcePools modelarts.ResourcePool if err = json.Unmarshal([]byte(setting.ResourcePools), &resourcePools); err != nil { @@ -945,12 +945,16 @@ func trainJobNewVersionDataPrepare(ctx *context.Context) error { ctx.ServerError("GetBranches error:", err) return err } - + _, _, datasetNames, _, err := getDatasUrlListByUUIDS(task.Uuid) + if err != nil { + ctx.ServerError("GetAllUserAttachments failed:", err) + return err + } ctx.Data["branches"] = branches ctx.Data["branch_name"] = task.BranchName ctx.Data["description"] = task.Description ctx.Data["boot_file"] = task.BootFile - ctx.Data["dataset_name"] = task.DatasetName + ctx.Data["dataset_name"] = datasetNames ctx.Data["work_server_number"] = task.WorkServerNumber ctx.Data["flavor_name"] = task.FlavorName ctx.Data["engine_name"] = task.EngineName @@ -2708,11 +2712,23 @@ func getDatasUrlListByUUIDS(uuidStr string) ([]models.Datasurl, string, string, datasetInfos := make(map[string]models.DatasetInfo) attachs, err := models.GetAttachmentsByUUIDs(uuids) - if err != nil { + if err != nil || len(attachs) != len(uuids) { log.Error("GetAttachmentsByUUIDs failed: %v", err) return datasUrlList, dataUrl, datasetNames, isMultiDataset, errors.New("GetAttachmentsByUUIDs failed") } - for i, attach := range attachs { + + for i, tmpUuid := range uuids { + var attach *models.Attachment + for _, tmpAttach := range attachs { + if tmpAttach.UUID == tmpUuid { + attach = tmpAttach + break + } + } + if attach == nil { + log.Error("GetAttachmentsByUUIDs failed: %v", err) + return datasUrlList, dataUrl, datasetNames, isMultiDataset, errors.New("GetAttachmentsByUUIDs failed") + } fileName := strings.TrimSuffix(strings.TrimSuffix(strings.TrimSuffix(attach.Name, ".zip"), ".tar.gz"), ".tgz") for _, datasetInfo := range datasetInfos { if fileName == datasetInfo.Name { From 53598bf21d003b0735c3305436fd3fbdc0150146 Mon Sep 17 00:00:00 2001 From: zouap Date: Mon, 15 Aug 2022 16:18:14 +0800 Subject: [PATCH 07/55] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E5=A4=9A=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E9=9B=86=E4=B8=8B=E6=98=BE=E7=A4=BA=E9=94=99=E4=B9=B1?= =?UTF-8?q?=E9=97=AE=E9=A2=98=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zouap --- models/cloudbrain.go | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/models/cloudbrain.go b/models/cloudbrain.go index 62bae29e2..977a4ed65 100755 --- a/models/cloudbrain.go +++ b/models/cloudbrain.go @@ -30,9 +30,9 @@ const ( ) const ( - NPUResource = "NPU" - GPUResource = "CPU/GPU" - AllResource = "all" + NPUResource = "NPU" + GPUResource = "CPU/GPU" + AllResource = "all" //notebook storage category EVSCategory = "EVS" @@ -2173,7 +2173,18 @@ func GetDatasetInfo(uuidStr string) (map[string]DatasetInfo, string, error) { log.Error("GetAttachmentsByUUIDs failed: %v", err) return nil, datasetNames, err } - for i, attach := range attachs { + for i, tmpUuid := range uuids { + var attach *Attachment + for _, tmpAttach := range attachs { + if tmpAttach.UUID == tmpUuid { + attach = tmpAttach + break + } + } + if attach == nil { + log.Error("GetAttachmentsByUUIDs failed: %v", err) + return nil, datasetNames, err + } fileName := strings.TrimSuffix(strings.TrimSuffix(strings.TrimSuffix(attach.Name, ".zip"), ".tar.gz"), ".tgz") for _, datasetInfo := range datasetInfos { if fileName == datasetInfo.Name { From 171fa5ba6ab05f211bbd7082740800990e52b9c7 Mon Sep 17 00:00:00 2001 From: zouap Date: Mon, 15 Aug 2022 17:00:30 +0800 Subject: [PATCH 08/55] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E5=A4=9A=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E9=9B=86=E4=B8=8B=E6=98=BE=E7=A4=BA=E9=94=99=E4=B9=B1?= =?UTF-8?q?=E9=97=AE=E9=A2=98=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zouap --- templates/repo/cloudbrain/show.tmpl | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/templates/repo/cloudbrain/show.tmpl b/templates/repo/cloudbrain/show.tmpl index 4d4072a69..dc5337583 100755 --- a/templates/repo/cloudbrain/show.tmpl +++ b/templates/repo/cloudbrain/show.tmpl @@ -503,7 +503,20 @@
- +
+ + + + + + + + + + + +
数据集文件
test.zip
+
From f50abc731f8cd9c41bf88774771181cc1acacddc Mon Sep 17 00:00:00 2001 From: zouap Date: Mon, 15 Aug 2022 17:04:28 +0800 Subject: [PATCH 09/55] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E5=A4=9A=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E9=9B=86=E4=B8=8B=E6=98=BE=E7=A4=BA=E9=94=99=E4=B9=B1?= =?UTF-8?q?=E9=97=AE=E9=A2=98=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zouap --- templates/repo/cloudbrain/show.tmpl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/repo/cloudbrain/show.tmpl b/templates/repo/cloudbrain/show.tmpl index dc5337583..9d4b5e264 100755 --- a/templates/repo/cloudbrain/show.tmpl +++ b/templates/repo/cloudbrain/show.tmpl @@ -506,7 +506,7 @@
- + From 1afaf6ebd398a90779d181a24fa8ea8e92b2bc67 Mon Sep 17 00:00:00 2001 From: zouap Date: Mon, 15 Aug 2022 17:07:54 +0800 Subject: [PATCH 10/55] =?UTF-8?q?#2699,=E6=95=B0=E6=8D=AE=E9=9B=86?= =?UTF-8?q?=E6=98=BE=E7=A4=BA=E9=97=AE=E9=A2=98=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zouap --- templates/repo/cloudbrain/show.tmpl | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/templates/repo/cloudbrain/show.tmpl b/templates/repo/cloudbrain/show.tmpl index 9d4b5e264..d6505ff54 100755 --- a/templates/repo/cloudbrain/show.tmpl +++ b/templates/repo/cloudbrain/show.tmpl @@ -509,11 +509,13 @@ - - - - - + {{range $m ,$n := $.datasetDownload}} + + + + + {{end}} +
数据集文件
数据集文件
数据集文件
test.zip
{{.DatasetName}}
From a5cebe58146e4781e44a0167750aaa062f3ffa99 Mon Sep 17 00:00:00 2001 From: zouap Date: Mon, 15 Aug 2022 17:10:22 +0800 Subject: [PATCH 11/55] =?UTF-8?q?#2699,=E6=95=B0=E6=8D=AE=E9=9B=86?= =?UTF-8?q?=E6=98=BE=E7=A4=BA=E9=97=AE=E9=A2=98=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zouap --- templates/repo/cloudbrain/show.tmpl | 15 +-------------- 1 file changed, 1 insertion(+), 14 deletions(-) diff --git a/templates/repo/cloudbrain/show.tmpl b/templates/repo/cloudbrain/show.tmpl index d6505ff54..492177f80 100755 --- a/templates/repo/cloudbrain/show.tmpl +++ b/templates/repo/cloudbrain/show.tmpl @@ -404,20 +404,7 @@
- - - {{$.i18n.Tr "repo.modelarts.train_job.dataset"}} - - - -
- {{range $m ,$n := $.datasetDownload}} - {{.DatasetName}} - {{end}} -
- - + From 56cdb91d15d30b30aca68c2bd45493fefa6e0af4 Mon Sep 17 00:00:00 2001 From: zhoupzh Date: Mon, 15 Aug 2022 17:13:52 +0800 Subject: [PATCH 12/55] fix issue --- templates/repo/modelarts/trainjob/version_new.tmpl | 6 ++- web_src/js/components/dataset/selectDataset.vue | 59 ++++++++++++++++++---- 2 files changed, 52 insertions(+), 13 deletions(-) diff --git a/templates/repo/modelarts/trainjob/version_new.tmpl b/templates/repo/modelarts/trainjob/version_new.tmpl index b2209651a..cf32409ed 100644 --- a/templates/repo/modelarts/trainjob/version_new.tmpl +++ b/templates/repo/modelarts/trainjob/version_new.tmpl @@ -55,6 +55,7 @@
{{template "repo/header" .}}
+ {{template "base/alert" .}}

{{.i18n.Tr "repo.modelarts.train_job.new"}} @@ -152,7 +153,7 @@ {{.i18n.Tr "cloudbrain.view_sample"}}

-
+
+ {{.i18n.Tr "cloudbrain.dataset_path_rule"}}
{{.i18n.Tr "repo.modelarts.train_job.add_run_parameter"}} diff --git a/web_src/js/components/dataset/selectDataset.vue b/web_src/js/components/dataset/selectDataset.vue index b1670b95a..02343516c 100755 --- a/web_src/js/components/dataset/selectDataset.vue +++ b/web_src/js/components/dataset/selectDataset.vue @@ -75,7 +75,7 @@
@@ -586,6 +586,8 @@ export default { confirmFlag: false, saveStatusList: [], + // 初始化已选择的数据集列表 + hasSelectDatasetList: [], //当前项目数据集页面配置的初始化 initCurrentPage: 1, totalNumCurrent: 0, @@ -644,6 +646,7 @@ export default { //tree 勾选触发事件 onCheck(data, checkedInfo) { + this.hasSelectDatasetList = []; if ( this.selectDatasetArray.length === 0 || this.selectDatasetArray.every((item) => item.id !== data.id) @@ -671,9 +674,8 @@ export default { return item.label; }); this.saveStatusList = this.selectDatasetArray.map((item) => { - return item.UUID; + return item.id; }); - // this.confirmDatasetList = this.saveStatusList.join(";"); }, //已选择数据集checkbox group 勾选事件 changeCheckbox(checked, data) { @@ -686,7 +688,6 @@ export default { }); this.selectDatasetArray.splice(index, 1); this.saveStatusList.splice(index, 1); - // this.confirmDatasetList = this.saveStatusList.join(";"); }, tableHeaderStyle({ row, column, rowIndex, columnIndex }) { if (rowIndex === 0) { @@ -722,17 +723,23 @@ export default { .then((res) => { this.loadingCurrent = false; let data = JSON.parse(res.data.data); + console.log(data); this.currentDatasetList = this.transformeTreeData( data, "currentTree", this.paramsCurrent.page ); - this.initCurrentTreeNode = this.currentDatasetList[0]?.id ? [this.currentDatasetList[0].id] : []; + this.initCurrentTreeNode = this.currentDatasetList[0]?.id + ? [this.currentDatasetList[0].id] + : []; this.totalNumCurrent = parseInt(res.data.count); let setCheckedKeysList = this.currentDatasetList.reduce( (pre, cur) => { cur.Attachments.forEach((item) => { - if (this.saveStatusList.includes(item.id)) { + if ( + this.saveStatusList.includes(item.id) || + this.hasSelectDatasetList.includes(item.id) + ) { pre.push(item.id); } }); @@ -763,7 +770,9 @@ export default { "myTree", this.paramsMy.page ); - this.initMyTreeNode = this.myDatasetList[0]?.id ? [this.myDatasetList[0].id] : []; + this.initMyTreeNode = this.myDatasetList[0]?.id + ? [this.myDatasetList[0].id] + : []; this.totalNumMy = parseInt(res.data.count); let setCheckedKeysList = this.myDatasetList.reduce((pre, cur) => { cur.Attachments.forEach((item) => { @@ -796,7 +805,9 @@ export default { "publicTree", this.paramsPublics.page ); - this.initPublicTreeNode = this.publicDatasetList[0]?.id ? [this.publicDatasetList[0].id] : []; + this.initPublicTreeNode = this.publicDatasetList[0]?.id + ? [this.publicDatasetList[0].id] + : []; this.totalNumPublic = parseInt(res.data.count); let setCheckedKeysList = this.publicDatasetList.reduce((pre, cur) => { cur.Attachments.forEach((item) => { @@ -830,7 +841,9 @@ export default { "favoriteTree", this.paramsFavorite.page ); - this.initFavoriteTreeNode = this.MyFavoriteDatasetList[0]?.id ? [this.MyFavoriteDatasetList[0].id] : []; + this.initFavoriteTreeNode = this.MyFavoriteDatasetList[0]?.id + ? [this.MyFavoriteDatasetList[0].id] + : []; this.totalNumFavorite = parseInt(res.data.count); let setCheckedKeysList = this.MyFavoriteDatasetList.reduce( (pre, cur) => { @@ -949,14 +962,38 @@ export default { mounted() { this.type = $(".cloudbrain-type").data("cloudbrain-type"); this.repoLink = $(".cloudbrain-type").data("repo-link"); + if ($(".cloudbrain-type").data("dataset-uuid")) { + this.hasSelectDatasetList = $(".cloudbrain-type") + .data("dataset-uuid") + .split(";"); + let hasSelectDatasetName = $(".cloudbrain-type") + .data("dataset-name") + .split(";"); + if (this.hasSelectDatasetList.length !== 0) { + this.saveStatusList = this.hasSelectDatasetList; + this.checkList = hasSelectDatasetName; + this.hasSelectDatasetList.forEach((item, index) => { + this.selectDatasetArray.push({ + id: item, + label: hasSelectDatasetName[index], + }); + }); + } + this.confirmDataset(); + } + if ( location.href.indexOf("benchmark") !== -1 || location.href.indexOf("train-job") !== -1 || - location.href.indexOf("inference") !== -1 + location.href.indexOf("inference") !== -1 ) { + console.log("this.benchmarkNew"); this.benchmarkNew = true; } - if (location.href.indexOf("modelarts/notebook/create") !== -1 || location.href.indexOf("/cloudbrain/create") !== -1) { + if ( + location.href.indexOf("modelarts/notebook/create") !== -1 || + location.href.indexOf("/cloudbrain/create") !== -1 + ) { this.required = false; } window.onresize = () => { From 581c7eb0d49126c73cc46926a84fce2215207ec3 Mon Sep 17 00:00:00 2001 From: zouap Date: Mon, 15 Aug 2022 17:17:32 +0800 Subject: [PATCH 13/55] =?UTF-8?q?#2699,=E6=95=B0=E6=8D=AE=E9=9B=86?= =?UTF-8?q?=E6=98=BE=E7=A4=BA=E9=97=AE=E9=A2=98=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zouap --- templates/repo/cloudbrain/show.tmpl | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/templates/repo/cloudbrain/show.tmpl b/templates/repo/cloudbrain/show.tmpl index 492177f80..ccd8e2835 100755 --- a/templates/repo/cloudbrain/show.tmpl +++ b/templates/repo/cloudbrain/show.tmpl @@ -364,18 +364,7 @@ - - - {{$.i18n.Tr "repo.modelarts.train_job.dura_time"}} - - - -
- {{$.duration}} -
- - + @@ -483,7 +472,18 @@
+ + + {{$.i18n.Tr "repo.modelarts.train_job.dura_time"}} + + +
+ {{$.duration}} +
+ + From 295b46c3c45e87023643e82963f584ac2ba1f981 Mon Sep 17 00:00:00 2001 From: chenyifan01 Date: Mon, 15 Aug 2022 17:53:49 +0800 Subject: [PATCH 14/55] #2631 fix bug --- modules/auth/wechat/template.go | 3 +++ modules/notification/wechat/wechat.go | 3 +++ routers/api/v1/repo/modelarts.go | 4 ++++ 3 files changed, 10 insertions(+) diff --git a/modules/auth/wechat/template.go b/modules/auth/wechat/template.go index cd8e21f74..2ebd2667d 100644 --- a/modules/auth/wechat/template.go +++ b/modules/auth/wechat/template.go @@ -27,11 +27,13 @@ func SendTemplateMsg(template Template, ctx *TemplateContext, userId int64) erro } }() if !template.ShouldSend(ctx) { + log.Info("SendTemplateMsg should not Send.jobId=%d jobType=%s", ctx.Cloudbrain.ID, ctx.Cloudbrain.JobType) return nil } openId := models.GetUserWechatOpenId(userId) if openId == "" { + log.Error("Wechat openId not exist,userId=%d", userId) return errors.New("Wechat openId not exist") } req := TemplateMsgRequest{ @@ -56,5 +58,6 @@ func SendTemplateMsg(template Template, ctx *TemplateContext, userId int64) erro log.Error("SendTemplateMsg err. %v", err) return err } + log.Info("SendTemplateMsg success") return nil } diff --git a/modules/notification/wechat/wechat.go b/modules/notification/wechat/wechat.go index 81c697fc9..cd72bb54e 100644 --- a/modules/notification/wechat/wechat.go +++ b/modules/notification/wechat/wechat.go @@ -7,6 +7,7 @@ package wechat import ( "code.gitea.io/gitea/models" "code.gitea.io/gitea/modules/auth/wechat" + "code.gitea.io/gitea/modules/log" "code.gitea.io/gitea/modules/notification/base" ) @@ -24,8 +25,10 @@ func NewNotifier() base.Notifier { } func (*wechatNotifier) NotifyChangeCloudbrainStatus(cloudbrain *models.Cloudbrain, oldStatus string) { + log.Info("NotifyChangeCloudbrainStatus cloudbrain.id=%d cloudbrain.status=%s oldStatus=%s", cloudbrain.ID, cloudbrain.Status, oldStatus) operateType := wechat.GetJobOperateTypeFromCloudbrainStatus(cloudbrain) if operateType == "" { + log.Info("NotifyChangeCloudbrainStatus operateType is incorrect") return } template := wechat.GetTemplateFromOperateType(operateType) diff --git a/routers/api/v1/repo/modelarts.go b/routers/api/v1/repo/modelarts.go index 3294efdd1..419c6d6a4 100755 --- a/routers/api/v1/repo/modelarts.go +++ b/routers/api/v1/repo/modelarts.go @@ -154,6 +154,7 @@ func GetModelArtsTrainJobVersion(ctx *context.APIContext) { if job.StartTime == 0 && result.JobInfo.StartedAt > 0 { job.StartTime = timeutil.TimeStamp(result.JobInfo.StartedAt) } + oldStatus := job.Status job.Status = grampus.TransTrainJobStatus(result.JobInfo.Status) job.Duration = result.JobInfo.RunSec job.TrainJobDuration = models.ConvertDurationToStr(job.Duration) @@ -176,6 +177,9 @@ func GetModelArtsTrainJobVersion(ctx *context.APIContext) { aiCenterName = temp[1] } } + if oldStatus != job.Status { + notification.NotifyChangeCloudbrainStatus(job, oldStatus) + } err = models.UpdateTrainJobVersion(job) if err != nil { log.Error("UpdateJob failed:", err) From 06264f355a78ad2142fc7921e66bc6b1e6d09cd6 Mon Sep 17 00:00:00 2001 From: zouap Date: Tue, 16 Aug 2022 09:17:41 +0800 Subject: [PATCH 15/55] =?UTF-8?q?#2699,=E6=95=B0=E6=8D=AE=E9=9B=86?= =?UTF-8?q?=E6=98=BE=E7=A4=BA=E9=97=AE=E9=A2=98=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zouap --- templates/repo/cloudbrain/trainjob/show.tmpl | 16 ++++++++++++++++ templates/repo/modelarts/trainjob/show.tmpl | 16 ++++++++++++++++ 2 files changed, 32 insertions(+) diff --git a/templates/repo/cloudbrain/trainjob/show.tmpl b/templates/repo/cloudbrain/trainjob/show.tmpl index e1199db5f..3d93bb350 100644 --- a/templates/repo/cloudbrain/trainjob/show.tmpl +++ b/templates/repo/cloudbrain/trainjob/show.tmpl @@ -464,6 +464,22 @@
+
+ + + + + + {{range $m ,$n := $.datasetDownload}} + + + + + {{end}} + + +
数据集文件
{{.DatasetName}}
+
diff --git a/templates/repo/modelarts/trainjob/show.tmpl b/templates/repo/modelarts/trainjob/show.tmpl index e5873d540..1f3e9b2fb 100755 --- a/templates/repo/modelarts/trainjob/show.tmpl +++ b/templates/repo/modelarts/trainjob/show.tmpl @@ -490,6 +490,22 @@ +
+ + + + + + {{range $m ,$n := $.datasetDownload}} + + + + + {{end}} + + +
数据集文件
{{.DatasetName}}
+
From 73eca2d3c734ba304d7b4f1a0a987b693e0dafe7 Mon Sep 17 00:00:00 2001 From: zouap Date: Tue, 16 Aug 2022 09:28:35 +0800 Subject: [PATCH 16/55] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=EF=BC=8C=E6=98=BE=E7=A4=BA=E6=95=B0=E6=8D=AE=E9=9B=86=E6=A0=B7?= =?UTF-8?q?=E5=BC=8F=E4=BF=AE=E6=94=B9=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zouap --- templates/repo/modelarts/trainjob/show.tmpl | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/templates/repo/modelarts/trainjob/show.tmpl b/templates/repo/modelarts/trainjob/show.tmpl index 1f3e9b2fb..84f2a6ae3 100755 --- a/templates/repo/modelarts/trainjob/show.tmpl +++ b/templates/repo/modelarts/trainjob/show.tmpl @@ -496,13 +496,15 @@ 数据集文件 - {{range $m ,$n := $.datasetDownload}} - - {{.DatasetName}} - - - {{end}} - + {{range $m ,$n := $.datasetList}} + {{if eq $k $m}} + {{range $f ,$g := $n}} + + {{.DatasetName}} + + {{end}} + {{end}} + {{end}} From 997c5ca59991520e9a6bcbb391ef74dbbae24635 Mon Sep 17 00:00:00 2001 From: chenshihai Date: Tue, 16 Aug 2022 09:29:59 +0800 Subject: [PATCH 17/55] =?UTF-8?q?=20#2533=20=E5=85=AC=E5=BC=80=E6=B4=BB?= =?UTF-8?q?=E5=8A=A8=E5=8A=A8=E6=80=81=E5=B1=95=E7=A4=BA=E7=9A=84=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E8=AF=84=E8=AE=BA=E8=BE=83=E7=9F=AD=E6=97=B6=E6=98=BE?= =?UTF-8?q?=E7=A4=BA=E6=A0=B7=E5=BC=8F=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- web_src/less/_dashboard.less | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/web_src/less/_dashboard.less b/web_src/less/_dashboard.less index c78179d45..3b41664ad 100644 --- a/web_src/less/_dashboard.less +++ b/web_src/less/_dashboard.less @@ -100,7 +100,7 @@ } .issue.title { - width: 80%; + width: 100%; } .push.news .content ul { From b1c464e598dc9b720a5374dc002bf881d5c32555 Mon Sep 17 00:00:00 2001 From: chenshihai Date: Tue, 16 Aug 2022 09:39:04 +0800 Subject: [PATCH 18/55] =?UTF-8?q?=20#2428=20=E8=8B=B1=E6=96=87=E7=95=8C?= =?UTF-8?q?=E9=9D=A2=E4=B8=8Bgpu=E8=B0=83=E8=AF=95=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E5=88=9B=E5=BB=BA=E5=8A=A8=E6=80=81=E5=A2=9E=E5=8A=A0=E7=A9=BA?= =?UTF-8?q?=E6=A0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- options/locale/locale_en-US.ini | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/options/locale/locale_en-US.ini b/options/locale/locale_en-US.ini index 0fecf7de2..adf000698 100755 --- a/options/locale/locale_en-US.ini +++ b/options/locale/locale_en-US.ini @@ -2990,15 +2990,15 @@ mirror_sync_delete = synced and deleted reference %[2]s at %s#%[2]s` reject_pull_request = `suggested changes for %s#%[2]s` upload_dataset=`upload dataset %s` -task_gpudebugjob=`created CPU/GPU type debugging task%s` +task_gpudebugjob=`created CPU/GPU type debugging task %s` task_npudebugjob=`created NPU type debugging task %s` -task_nputrainjob=`created NPU training task%s` +task_nputrainjob=`created NPU training task %s` task_inferencejob=`created reasoning task %s` task_benchmark=`created profiling task %s` task_createmodel=`created new model %s` -task_gputrainjob=`created CPU/GPU training task%s` -task_c2netnputrainjob=`created NPU training task%s` -task_c2netgputrainjob=`created CPU/GPU training task%s` +task_gputrainjob=`created CPU/GPU training task %s` +task_c2netnputrainjob=`created NPU training task %s` +task_c2netgputrainjob=`created CPU/GPU training task %s` [tool] ago = %s ago From e12f34d87acafb59de2b6ef2dbf1746604c04191 Mon Sep 17 00:00:00 2001 From: zouap Date: Tue, 16 Aug 2022 09:42:30 +0800 Subject: [PATCH 19/55] =?UTF-8?q?#2699,=E6=95=B0=E6=8D=AE=E9=9B=86?= =?UTF-8?q?=E6=98=BE=E7=A4=BA=E9=97=AE=E9=A2=98=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zouap --- templates/repo/cloudbrain/trainjob/show.tmpl | 14 +------------- templates/repo/modelarts/trainjob/show.tmpl | 18 +----------------- 2 files changed, 2 insertions(+), 30 deletions(-) diff --git a/templates/repo/cloudbrain/trainjob/show.tmpl b/templates/repo/cloudbrain/trainjob/show.tmpl index 3d93bb350..04b86bbde 100644 --- a/templates/repo/cloudbrain/trainjob/show.tmpl +++ b/templates/repo/cloudbrain/trainjob/show.tmpl @@ -423,19 +423,7 @@ - - - {{$.i18n.Tr "repo.modelarts.train_job.train_dataset"}} - - - -
- {{range $m ,$n := $.datasetDownload}} - {{.DatasetName}} - {{end}} -
- - + diff --git a/templates/repo/modelarts/trainjob/show.tmpl b/templates/repo/modelarts/trainjob/show.tmpl index 84f2a6ae3..7823d367f 100755 --- a/templates/repo/modelarts/trainjob/show.tmpl +++ b/templates/repo/modelarts/trainjob/show.tmpl @@ -445,23 +445,7 @@ - - - {{$.i18n.Tr "repo.modelarts.train_job.train_dataset"}} - - - -
- {{range $m ,$n := $.datasetList}} - {{if eq $k $m}} - {{range $f ,$g := $n}} - {{.DatasetName}} - {{end}} - {{end}} - {{end}} -
- - + {{$.i18n.Tr "repo.modelarts.train_job.run_parameter"}} From b711db53f6e084d7a453b20981ffbc8595a08701 Mon Sep 17 00:00:00 2001 From: zouap Date: Tue, 16 Aug 2022 09:44:53 +0800 Subject: [PATCH 20/55] =?UTF-8?q?#2699,=E6=95=B0=E6=8D=AE=E9=9B=86?= =?UTF-8?q?=E6=98=BE=E7=A4=BA=E9=97=AE=E9=A2=98=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zouap --- templates/repo/modelarts/trainjob/show.tmpl | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/templates/repo/modelarts/trainjob/show.tmpl b/templates/repo/modelarts/trainjob/show.tmpl index 7823d367f..e780b679f 100755 --- a/templates/repo/modelarts/trainjob/show.tmpl +++ b/templates/repo/modelarts/trainjob/show.tmpl @@ -397,16 +397,7 @@ - - - {{$.i18n.Tr "repo.modelarts.train_job.compute_node"}} - - -
- {{.WorkServerNumber}} -
- - + @@ -470,6 +461,16 @@ + + + {{$.i18n.Tr "repo.modelarts.train_job.compute_node"}} + + +
+ {{.WorkServerNumber}} +
+ + From b897791deca203b016e7c54115c1c3f41a129840 Mon Sep 17 00:00:00 2001 From: chenyifan01 Date: Tue, 16 Aug 2022 09:49:08 +0800 Subject: [PATCH 21/55] #2712 fix bug --- modules/auth/wechat/cloudbrain.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/modules/auth/wechat/cloudbrain.go b/modules/auth/wechat/cloudbrain.go index 5dbe0a4ea..193edd1da 100644 --- a/modules/auth/wechat/cloudbrain.go +++ b/modules/auth/wechat/cloudbrain.go @@ -77,7 +77,10 @@ func (CloudbrainStopMsg) ShouldSend(ctx *TemplateContext) bool { } for _, v := range setting.CloudbrainStoppedNotifyList { if v == ctx.Cloudbrain.JobType { - return true + if ctx.Cloudbrain.Duration > 0 && ctx.Cloudbrain.EndTime > 0 { + return true + } + break } } return false From 3dfcb6fb73e2c6dd511752810f65fb4c56a7f7f6 Mon Sep 17 00:00:00 2001 From: zouap Date: Tue, 16 Aug 2022 09:51:26 +0800 Subject: [PATCH 22/55] =?UTF-8?q?#2699,=E6=95=B0=E6=8D=AE=E9=9B=86?= =?UTF-8?q?=E6=98=BE=E7=A4=BA=E9=97=AE=E9=A2=98=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zouap --- templates/repo/cloudbrain/inference/show.tmpl | 16 ++++++++++++++++ templates/repo/modelarts/inferencejob/show.tmpl | 16 ++++++++++++++++ 2 files changed, 32 insertions(+) diff --git a/templates/repo/cloudbrain/inference/show.tmpl b/templates/repo/cloudbrain/inference/show.tmpl index 2e8c9f063..77d43faec 100644 --- a/templates/repo/cloudbrain/inference/show.tmpl +++ b/templates/repo/cloudbrain/inference/show.tmpl @@ -504,6 +504,22 @@ +
+ + + + + + {{range $m ,$n := $.datasetDownload}} + + + + + {{end}} + + +
数据集文件
{{.DatasetName}}
+
diff --git a/templates/repo/modelarts/inferencejob/show.tmpl b/templates/repo/modelarts/inferencejob/show.tmpl index 39be33aae..51e6534af 100644 --- a/templates/repo/modelarts/inferencejob/show.tmpl +++ b/templates/repo/modelarts/inferencejob/show.tmpl @@ -445,6 +445,22 @@ td, th { +
+ + + + + + {{range $m ,$n := $.datasetDownload}} + + + + + {{end}} + + +
数据集文件
{{.DatasetName}}
+
From bad84fd8e7c5a2d55427ccacf6431f621967106a Mon Sep 17 00:00:00 2001 From: zouap Date: Tue, 16 Aug 2022 09:57:45 +0800 Subject: [PATCH 23/55] =?UTF-8?q?#2699,=E6=95=B0=E6=8D=AE=E9=9B=86?= =?UTF-8?q?=E6=98=BE=E7=A4=BA=E9=97=AE=E9=A2=98=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zouap --- templates/repo/cloudbrain/inference/show.tmpl | 2 +- templates/repo/modelarts/inferencejob/show.tmpl | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/templates/repo/cloudbrain/inference/show.tmpl b/templates/repo/cloudbrain/inference/show.tmpl index 77d43faec..6694c2d36 100644 --- a/templates/repo/cloudbrain/inference/show.tmpl +++ b/templates/repo/cloudbrain/inference/show.tmpl @@ -268,7 +268,7 @@ {{$.i18n.Tr "repo.model_download"}} -
+
diff --git a/templates/repo/modelarts/inferencejob/show.tmpl b/templates/repo/modelarts/inferencejob/show.tmpl index 51e6534af..01f8e13c1 100644 --- a/templates/repo/modelarts/inferencejob/show.tmpl +++ b/templates/repo/modelarts/inferencejob/show.tmpl @@ -217,7 +217,7 @@ td, th { {{$.i18n.Tr "repo.model_download"}}
-
+
From 66e26560de28d30f96488f38a1c161c3a4e96fb3 Mon Sep 17 00:00:00 2001 From: zouap Date: Tue, 16 Aug 2022 10:01:02 +0800 Subject: [PATCH 24/55] =?UTF-8?q?#2699,=E6=95=B0=E6=8D=AE=E9=9B=86?= =?UTF-8?q?=E6=98=BE=E7=A4=BA=E9=97=AE=E9=A2=98=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zouap --- templates/repo/cloudbrain/inference/show.tmpl | 14 +------------- templates/repo/modelarts/inferencejob/show.tmpl | 14 +------------- 2 files changed, 2 insertions(+), 26 deletions(-) diff --git a/templates/repo/cloudbrain/inference/show.tmpl b/templates/repo/cloudbrain/inference/show.tmpl index 6694c2d36..97a0b4936 100644 --- a/templates/repo/cloudbrain/inference/show.tmpl +++ b/templates/repo/cloudbrain/inference/show.tmpl @@ -461,19 +461,7 @@
- - - {{$.i18n.Tr "repo.modelarts.infer_dataset"}} - - - -
- {{range $m ,$n := $.datasetDownload}} - {{.DatasetName}} - {{end}} -
- - + {{$.i18n.Tr "repo.modelarts.train_job.run_parameter"}} diff --git a/templates/repo/modelarts/inferencejob/show.tmpl b/templates/repo/modelarts/inferencejob/show.tmpl index 01f8e13c1..628615879 100644 --- a/templates/repo/modelarts/inferencejob/show.tmpl +++ b/templates/repo/modelarts/inferencejob/show.tmpl @@ -402,19 +402,7 @@ td, th {
- - - {{$.i18n.Tr "repo.modelarts.infer_dataset"}} - - - -
- {{range $m ,$n := $.datasetDownload}} - {{.DatasetName}} - {{end}} -
- - + {{$.i18n.Tr "repo.modelarts.train_job.run_parameter"}} From 89ca8e9e3fbcf6c4ae230d65e4eeded75b8c65ff Mon Sep 17 00:00:00 2001 From: zouap Date: Wed, 17 Aug 2022 09:51:09 +0800 Subject: [PATCH 25/55] =?UTF-8?q?=E6=8F=90=E4=BA=A4#2704=E7=9A=84=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zouap --- options/locale/locale_en-US.ini | 3 ++- options/locale/locale_zh-CN.ini | 1 + templates/repo/debugjob/index.tmpl | 10 ++++++++-- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/options/locale/locale_en-US.ini b/options/locale/locale_en-US.ini index adf000698..d5a478b6e 100755 --- a/options/locale/locale_en-US.ini +++ b/options/locale/locale_en-US.ini @@ -1099,7 +1099,8 @@ modelarts.status=Status modelarts.createtime=CreateTime modelarts.version_nums = Version Nums modelarts.version = Version -modelarts.computing_resources=compute Resources +modelarts.computing_resources=Compute Resources +modelarts.cluster.computing_resources=Cluster/Compute Resources modelarts.ai_center=Ai Center modelarts.card_type=Card Type modelarts.cluster=Cluster diff --git a/options/locale/locale_zh-CN.ini b/options/locale/locale_zh-CN.ini index 2878627e2..4b1449de3 100755 --- a/options/locale/locale_zh-CN.ini +++ b/options/locale/locale_zh-CN.ini @@ -1110,6 +1110,7 @@ modelarts.deletetime=删除时间 modelarts.version_nums=版本数 modelarts.version=版本 modelarts.computing_resources=计算资源 +modelarts.cluster.computing_resources=集群/计算资源 modelarts.ai_center=智算中心 modelarts.card_type=卡类型 modelarts.cluster=集群 diff --git a/templates/repo/debugjob/index.tmpl b/templates/repo/debugjob/index.tmpl index 2756b49fd..537216531 100755 --- a/templates/repo/debugjob/index.tmpl +++ b/templates/repo/debugjob/index.tmpl @@ -195,7 +195,7 @@ {{$.i18n.Tr "repo.modelarts.createtime"}}
- {{$.i18n.Tr "repo.modelarts.computing_resources"}} + {{$.i18n.Tr "repo.modelarts.cluster.computing_resources"}}
{{$.i18n.Tr "repo.cloudbrain_creator"}} @@ -235,7 +235,13 @@
{{.ComputeResource}} + class=""> + {{if eq .Type 2}} + 智算网络 + {{else}} + 启智 + {{end}} + {{.ComputeResource}}
{{if .User.Name}} From 8e886d7732cc8ba80406ebbf35a766dcb1aa4248 Mon Sep 17 00:00:00 2001 From: zouap Date: Wed, 17 Aug 2022 09:54:44 +0800 Subject: [PATCH 26/55] =?UTF-8?q?=E6=8F=90=E4=BA=A4#2704=E7=9A=84=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zouap --- templates/repo/debugjob/index.tmpl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/repo/debugjob/index.tmpl b/templates/repo/debugjob/index.tmpl index 537216531..880fb90c6 100755 --- a/templates/repo/debugjob/index.tmpl +++ b/templates/repo/debugjob/index.tmpl @@ -236,7 +236,7 @@ - {{if eq .Type 2}} + {{if eq .Cloudbrain.Type 2}} 智算网络 {{else}} 启智 From d16dc2b369428f6a80c2f40eda3da8a8cb419d4f Mon Sep 17 00:00:00 2001 From: zouap Date: Wed, 17 Aug 2022 10:07:16 +0800 Subject: [PATCH 27/55] =?UTF-8?q?=E6=8F=90=E4=BA=A4#2704=E7=9A=84=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zouap --- options/locale/locale_en-US.ini | 2 ++ options/locale/locale_zh-CN.ini | 2 ++ templates/repo/debugjob/index.tmpl | 4 ++-- templates/repo/modelarts/trainjob/index.tmpl | 10 ++++++++-- 4 files changed, 14 insertions(+), 4 deletions(-) diff --git a/options/locale/locale_en-US.ini b/options/locale/locale_en-US.ini index d5a478b6e..453a05217 100755 --- a/options/locale/locale_en-US.ini +++ b/options/locale/locale_en-US.ini @@ -3093,6 +3093,8 @@ all_ai_center=All Computing NET resource_cluster = Resource Cluster resource_cluster_openi = OpenI Resource Cluster resource_cluster_c2net = China Computing NET +resource_cluster_openi_simple = OpenI +resource_cluster_c2net_simple = Computing NET compute_resource = Computing resources task_name = Task name task_type = Task type diff --git a/options/locale/locale_zh-CN.ini b/options/locale/locale_zh-CN.ini index 4b1449de3..a054eea4b 100755 --- a/options/locale/locale_zh-CN.ini +++ b/options/locale/locale_zh-CN.ini @@ -3107,6 +3107,8 @@ all_ai_center=全部智算中心 resource_cluster = 算力集群 resource_cluster_openi = 启智集群 resource_cluster_c2net = 智算网络集群 +resource_cluster_openi_simple = 启智 +resource_cluster_c2net_simple = 智算网络 compute_resource = 计算资源 task_name = 任务名称 task_type = 任务类型 diff --git a/templates/repo/debugjob/index.tmpl b/templates/repo/debugjob/index.tmpl index 880fb90c6..9b559ada7 100755 --- a/templates/repo/debugjob/index.tmpl +++ b/templates/repo/debugjob/index.tmpl @@ -237,9 +237,9 @@ {{if eq .Cloudbrain.Type 2}} - 智算网络 + {{.i18n.Tr "cloudbrain.resource_cluster_c2net_simple"}} {{else}} - 启智 + {{.i18n.Tr "cloudbrain.resource_cluster_openi_simple"}} {{end}} {{.ComputeResource}}
diff --git a/templates/repo/modelarts/trainjob/index.tmpl b/templates/repo/modelarts/trainjob/index.tmpl index 46c1b9a02..b0c711f9f 100755 --- a/templates/repo/modelarts/trainjob/index.tmpl +++ b/templates/repo/modelarts/trainjob/index.tmpl @@ -95,7 +95,7 @@ {{$.i18n.Tr "repo.cloudbrain_status_runtime"}}
- {{$.i18n.Tr "repo.modelarts.computing_resources"}} + {{$.i18n.Tr "repo.modelarts.cluster.computing_resources"}}
{{$.i18n.Tr "repo.cloudbrain_creator"}} @@ -137,7 +137,13 @@
- {{.ComputeResource}} + + {{if eq .Cloudbrain.Type 2}} + {{.i18n.Tr "cloudbrain.resource_cluster_c2net_simple"}} + {{else}} + {{.i18n.Tr "cloudbrain.resource_cluster_openi_simple"}} + {{end}} + {{.ComputeResource}}
From 202dc7c981447cba67b7c7cd6c9bae63493bed28 Mon Sep 17 00:00:00 2001 From: zouap Date: Wed, 17 Aug 2022 10:10:02 +0800 Subject: [PATCH 28/55] =?UTF-8?q?=E6=8F=90=E4=BA=A4#2704=E7=9A=84=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zouap --- templates/repo/modelarts/trainjob/index.tmpl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/templates/repo/modelarts/trainjob/index.tmpl b/templates/repo/modelarts/trainjob/index.tmpl index b0c711f9f..42c59ba4b 100755 --- a/templates/repo/modelarts/trainjob/index.tmpl +++ b/templates/repo/modelarts/trainjob/index.tmpl @@ -139,9 +139,9 @@
{{if eq .Cloudbrain.Type 2}} - {{.i18n.Tr "cloudbrain.resource_cluster_c2net_simple"}} + {{$.i18n.Tr "cloudbrain.resource_cluster_c2net_simple"}} {{else}} - {{.i18n.Tr "cloudbrain.resource_cluster_openi_simple"}} + {{$.i18n.Tr "cloudbrain.resource_cluster_openi_simple"}} {{end}} {{.ComputeResource}}
From 7203100fbd3c0e59a8749dd2b23783990ef6da72 Mon Sep 17 00:00:00 2001 From: zouap Date: Wed, 17 Aug 2022 10:11:39 +0800 Subject: [PATCH 29/55] =?UTF-8?q?=E6=8F=90=E4=BA=A4#2704=E7=9A=84=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zouap --- templates/repo/debugjob/index.tmpl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/templates/repo/debugjob/index.tmpl b/templates/repo/debugjob/index.tmpl index 9b559ada7..d6d4a1065 100755 --- a/templates/repo/debugjob/index.tmpl +++ b/templates/repo/debugjob/index.tmpl @@ -237,9 +237,9 @@ {{if eq .Cloudbrain.Type 2}} - {{.i18n.Tr "cloudbrain.resource_cluster_c2net_simple"}} + {{$.i18n.Tr "cloudbrain.resource_cluster_c2net_simple"}} {{else}} - {{.i18n.Tr "cloudbrain.resource_cluster_openi_simple"}} + {{$.i18n.Tr "cloudbrain.resource_cluster_openi_simple"}} {{end}} {{.ComputeResource}}
From 1c17612cc94fd15bc8733dd92360ef578f3dfdc3 Mon Sep 17 00:00:00 2001 From: zouap Date: Wed, 17 Aug 2022 10:18:03 +0800 Subject: [PATCH 30/55] =?UTF-8?q?=E6=8F=90=E4=BA=A4#2704=E7=9A=84=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zouap --- templates/repo/debugjob/index.tmpl | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/templates/repo/debugjob/index.tmpl b/templates/repo/debugjob/index.tmpl index d6d4a1065..912a615c2 100755 --- a/templates/repo/debugjob/index.tmpl +++ b/templates/repo/debugjob/index.tmpl @@ -195,7 +195,7 @@ {{$.i18n.Tr "repo.modelarts.createtime"}}
- {{$.i18n.Tr "repo.modelarts.cluster.computing_resources"}} + {{$.i18n.Tr "repo.modelarts.computing_resources"}}
{{$.i18n.Tr "repo.cloudbrain_creator"}} @@ -236,11 +236,6 @@ - {{if eq .Cloudbrain.Type 2}} - {{$.i18n.Tr "cloudbrain.resource_cluster_c2net_simple"}} - {{else}} - {{$.i18n.Tr "cloudbrain.resource_cluster_openi_simple"}} - {{end}} {{.ComputeResource}}
From be4e51cce06c1199b63708d5fc3f4d4d4ef6e05f Mon Sep 17 00:00:00 2001 From: ychao_1983 Date: Thu, 18 Aug 2022 11:11:28 +0800 Subject: [PATCH 31/55] =?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 --- models/cloudbrain_image.go | 4 ++++ modules/cloudbrain/resty.go | 1 + 2 files changed, 5 insertions(+) diff --git a/models/cloudbrain_image.go b/models/cloudbrain_image.go index 71f0c2c94..9a8f9cdcb 100755 --- a/models/cloudbrain_image.go +++ b/models/cloudbrain_image.go @@ -518,6 +518,10 @@ func UpdateLocalImageStatus(image *Image) error { return err } +func UpdateAutoIncrementIndex() { + x.Exec("SELECT setval('image_id_seq', (SELECT MAX(id) from image))") +} + func DeleteLocalImage(id int64) error { image := new(Image) _, err := x.ID(id).Delete(image) diff --git a/modules/cloudbrain/resty.go b/modules/cloudbrain/resty.go index 7b714c4b5..a7a19ed10 100755 --- a/modules/cloudbrain/resty.go +++ b/modules/cloudbrain/resty.go @@ -312,6 +312,7 @@ sendjob: } err = models.WithTx(func(ctx models.DBContext) error { + models.UpdateAutoIncrementIndex() if dbImage != nil { dbImage.IsPrivate = params.IsPrivate dbImage.Description = params.ImageDescription From 88f5812984537bd47d16e502e8ad289aae96fb54 Mon Sep 17 00:00:00 2001 From: lewis <747342561@qq.com> Date: Fri, 19 Aug 2022 09:20:02 +0800 Subject: [PATCH 32/55] debug --- modules/grampus/grampus.go | 4 +--- routers/repo/grampus.go | 30 ++++++++++++++---------------- 2 files changed, 15 insertions(+), 19 deletions(-) diff --git a/modules/grampus/grampus.go b/modules/grampus/grampus.go index caaae4e8e..0d84d7aa7 100755 --- a/modules/grampus/grampus.go +++ b/modules/grampus/grampus.go @@ -23,9 +23,7 @@ const ( NpuWorkDir = "/cache/" CommandPrepareScript = ";mkdir -p output;mkdir -p code;mkdir -p dataset;echo \"start loading script\";wget -q https://git.openi.org.cn/OpenIOSSG/script_for_grampus/archive/master.zip;" + - "echo \"finish loading script\";unzip -q master.zip;cd script_for_grampus;chmod 777 downloader_for_obs uploader_for_obs downloader_for_minio uploader_for_minio;" - //CommandPrepareScript = "pwd;cd /cache;mkdir -p output;mkdir -p code;mkdir -p dataset;echo \"start loading script\";wget -q https://git.openi.org.cn/OpenIOSSG/script_for_grampus/archive/master.zip;" + - // "echo \"finish loading script\";unzip -q master.zip;cd script_for_grampus;chmod 777 downloader_for_obs uploader_for_obs downloader_for_minio uploader_for_minio;" + "echo \"finish loading script\";unzip -q master.zip;cd script_for_grampus;chmod 777 downloader_for_obs uploader_for_npu downloader_for_minio uploader_for_gpu;" CodeArchiveName = "master.zip" ) diff --git a/routers/repo/grampus.go b/routers/repo/grampus.go index cdde7596c..abc2027d3 100755 --- a/routers/repo/grampus.go +++ b/routers/repo/grampus.go @@ -767,10 +767,6 @@ func generateCommand(repoName, processorType, codeRemotePath, dataRemotePath, bo command += commandDownload } - //check download result - commandCheckRes := "bash -c \"[[ $? -eq 0 ]] && exit 0 || exit -1;\";" - command += commandCheckRes - //unzip code & dataset toolUnzip := "unzip -q '" if strings.HasSuffix(datasetName, ".tar.gz") { @@ -779,16 +775,22 @@ func generateCommand(repoName, processorType, codeRemotePath, dataRemotePath, bo commandUnzip := "cd " + workDir + "code;unzip -q master.zip;echo \"start to unzip dataset\";cd " + workDir + "dataset;" + toolUnzip + datasetName + "';" command += commandUnzip - //check unzip result - commandCheckRes = "bash -c \"[[ $? -eq 0 ]] && exit 0 || exit -1;\";" - command += commandCheckRes - command += "echo \"unzip finished;start to exec code;\";" + // set export + var commandExport string + if processorType == grampus.ProcessorTypeNPU { + commandExport = "export bucket=" + setting.Bucket + " && export remote_path=" + outputRemotePath + ";" + } else if processorType == grampus.ProcessorTypeGPU { + commandExport = "export env=" + setting.Grampus.Env + " && export remote_path=" + outputRemotePath + ";" + } + + command += commandExport + //exec code var parameters models.Parameters var paramCode string - param := make([]models.Parameter, 0) + if len(paramSrc) != 0 { err := json.Unmarshal([]byte(paramSrc), ¶meters) if err != nil { @@ -797,10 +799,6 @@ func generateCommand(repoName, processorType, codeRemotePath, dataRemotePath, bo } for _, parameter := range parameters.Parameter { - param = append(param, models.Parameter{ - Label: parameter.Label, - Value: parameter.Value, - }) paramCode += " --" + parameter.Label + "=" + parameter.Value } } @@ -820,15 +818,15 @@ func generateCommand(repoName, processorType, codeRemotePath, dataRemotePath, bo //upload models if processorType == grampus.ProcessorTypeNPU { - commandUpload := "cd " + workDir + "script_for_grampus/;./uploader_for_obs " + setting.Bucket + " " + outputRemotePath + " " + workDir + "output/;" + commandUpload := "cd " + workDir + "script_for_grampus/;./uploader_for_npu " + setting.Bucket + " " + outputRemotePath + " " + workDir + "output/;" command += commandUpload } else if processorType == grampus.ProcessorTypeGPU { - commandUpload := "cd " + workDir + "script_for_grampus/;./uploader_for_minio " + setting.Grampus.Env + " " + outputRemotePath + " " + workDir + "output/;" + commandUpload := "cd " + workDir + "script_for_grampus/;./uploader_for_gpu " + setting.Grampus.Env + " " + outputRemotePath + " " + workDir + "output/;" command += commandUpload } //check exec result - commandCheckRes = "bash -c \"[[ $result -eq 0 ]] && exit 0 || exit -1\"" + commandCheckRes := "bash -c \"[[ $result -eq 0 ]] && exit 0 || exit -1\"" command += commandCheckRes return command, nil From 5fbc6b1862351241c248366ad83bf59bd0b216f3 Mon Sep 17 00:00:00 2001 From: zouap Date: Fri, 19 Aug 2022 09:43:13 +0800 Subject: [PATCH 33/55] =?UTF-8?q?=E8=B0=83=E6=95=B4GPU=E8=AE=AD=E7=BB=83?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E7=9A=84=E6=97=A5=E5=BF=97=E6=98=BE=E7=A4=BA?= =?UTF-8?q?=E9=80=BB=E8=BE=91=E3=80=82#2706?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zouap --- routers/repo/cloudbrain.go | 43 +++++++++++++++++++++++++++++++++++++++++++ routers/routes/routes.go | 2 +- 2 files changed, 44 insertions(+), 1 deletion(-) diff --git a/routers/repo/cloudbrain.go b/routers/repo/cloudbrain.go index c3c6c43cb..ffa4b8dd6 100755 --- a/routers/repo/cloudbrain.go +++ b/routers/repo/cloudbrain.go @@ -2885,3 +2885,46 @@ func getFlavorNameByFlavorCode(flavorCode string) string { "核" + strconv.Itoa(cardNum*256) + "GB" return cloudbrainTwoFlavorName } + +func GetLogFromModelDir(ctx *context.Context) { + prefix := "/" + setting.CBCodePathPrefix + ctx.Cloudbrain.JobName + files, err := storage.GetOneLevelAllObjectUnderDirMinio(setting.Attachment.Minio.Bucket, prefix, "") + if err != nil { + log.Error("query cloudbrain model failed: %v", err) + return + } + startLine := ctx.QueryInt("startLine") + endLine := ctx.QueryInt("endLine") + re := "" + for _, file := range files { + if strings.HasSuffix(file.FileName, "log.txt") { + reader, err := os.Open(storage.GetMinioPath(ctx.Cloudbrain.JobName, file.FileName)) + defer reader.Close() + if err == nil { + r := bufio.NewReader(reader) + for i := 0; i < endLine; i++ { + line, error := r.ReadString('\n') + if error == io.EOF { + log.Info("read file completed.") + break + } + if error != nil { + log.Info("read file error." + error.Error()) + break + } + if error == nil { + if i >= startLine { + re = re + line + } + } + } + } + break + } + } + + ctx.JSON(http.StatusOK, map[string]interface{}{ + "JobName": ctx.Cloudbrain.JobName, + "Content": re, + }) +} diff --git a/routers/routes/routes.go b/routers/routes/routes.go index a4bc09472..8c2020e05 100755 --- a/routers/routes/routes.go +++ b/routers/routes/routes.go @@ -1100,7 +1100,7 @@ func RegisterRoutes(m *macaron.Macaron) { m.Post("/del", cloudbrain.AdminOrOwnerOrJobCreaterRightForTrain, repo.CloudBrainTrainJobDel) //m.Get("/models", reqRepoCloudBrainReader, repo.CloudBrainShowModels) m.Get("/download_model", cloudbrain.AdminOrOwnerOrJobCreaterRightForTrain, repo.CloudBrainDownloadModel) - //m.Get("/create_version", reqWechatBind, cloudbrain.AdminOrJobCreaterRightForTrain, repo.TrainJobNewVersion) + m.Get("/get_log", cloudbrain.AdminOrJobCreaterRightForTrain, repo.GetLogFromModelDir) //m.Post("/create_version", reqWechatBind, cloudbrain.AdminOrJobCreaterRightForTrain, bindIgnErr(auth.CreateModelArtsTrainJobForm{}), repo.TrainJobCreateVersion) }) m.Get("/create", reqWechatBind, reqRepoCloudBrainWriter, repo.CloudBrainTrainJobNew) From 2ead0c3f65fd1ebc6a468391f7366bde1430b61e Mon Sep 17 00:00:00 2001 From: zouap Date: Fri, 19 Aug 2022 09:56:20 +0800 Subject: [PATCH 34/55] =?UTF-8?q?=E8=B0=83=E6=95=B4GPU=E8=AE=AD=E7=BB=83?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E7=9A=84=E6=97=A5=E5=BF=97=E6=98=BE=E7=A4=BA?= =?UTF-8?q?=E9=80=BB=E8=BE=91=E3=80=82#2706?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zouap --- templates/repo/cloudbrain/trainjob/show.tmpl | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/templates/repo/cloudbrain/trainjob/show.tmpl b/templates/repo/cloudbrain/trainjob/show.tmpl index 04b86bbde..84405542b 100644 --- a/templates/repo/cloudbrain/trainjob/show.tmpl +++ b/templates/repo/cloudbrain/trainjob/show.tmpl @@ -874,7 +874,12 @@ function loadLog(version_name) { document.getElementById("mask").style.display = "block" - $.get(`/api/v1/repos/${userName}/${repoPath}/cloudbrain/${taskID}/log?version_name=${version_name}&lines=50&order=asc`, (data) => { + let startLine = $('input[name=end_line]').val(); + if(startLine==""){ + startLine=0; + } + let endLine = $('input[name=end_line]').val(); + $.get(`/${userName}/${repoPath}/cloudbrain/train-job/${taskID}/get_log?&endLine=${endLine}&startLine=${startLine}`, (data) => { $('input[name=end_line]').val(data.EndLine) $('input[name=start_line]').val(data.StartLine) $(`#log_file${version_name}`).text(data.Content) From 460c8ee752ae52ed31ac18dcf19c4d147107712a Mon Sep 17 00:00:00 2001 From: zouap Date: Fri, 19 Aug 2022 10:07:58 +0800 Subject: [PATCH 35/55] =?UTF-8?q?=E8=B0=83=E6=95=B4GPU=E8=AE=AD=E7=BB=83?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E7=9A=84=E6=97=A5=E5=BF=97=E6=98=BE=E7=A4=BA?= =?UTF-8?q?=E9=80=BB=E8=BE=91=E3=80=82#2706?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zouap --- templates/repo/cloudbrain/trainjob/show.tmpl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/repo/cloudbrain/trainjob/show.tmpl b/templates/repo/cloudbrain/trainjob/show.tmpl index 84405542b..9efa6d44d 100644 --- a/templates/repo/cloudbrain/trainjob/show.tmpl +++ b/templates/repo/cloudbrain/trainjob/show.tmpl @@ -879,7 +879,7 @@ startLine=0; } let endLine = $('input[name=end_line]').val(); - $.get(`/${userName}/${repoPath}/cloudbrain/train-job/${taskID}/get_log?&endLine=${endLine}&startLine=${startLine}`, (data) => { + $.get(`/${userName}/${repoPath}/cloudbrain/train-job/${jobID}/get_log?endLine=${endLine}&startLine=${startLine}`, (data) => { $('input[name=end_line]').val(data.EndLine) $('input[name=start_line]').val(data.StartLine) $(`#log_file${version_name}`).text(data.Content) From f634e6ff858f9bf9aeddd248a5cc5ea06619cb27 Mon Sep 17 00:00:00 2001 From: zouap Date: Fri, 19 Aug 2022 10:10:07 +0800 Subject: [PATCH 36/55] =?UTF-8?q?=E8=B0=83=E6=95=B4GPU=E8=AE=AD=E7=BB=83?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E7=9A=84=E6=97=A5=E5=BF=97=E6=98=BE=E7=A4=BA?= =?UTF-8?q?=E9=80=BB=E8=BE=91=E3=80=82#2706?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zouap --- routers/repo/cloudbrain.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/routers/repo/cloudbrain.go b/routers/repo/cloudbrain.go index ffa4b8dd6..f7bf4d053 100755 --- a/routers/repo/cloudbrain.go +++ b/routers/repo/cloudbrain.go @@ -2887,7 +2887,7 @@ func getFlavorNameByFlavorCode(flavorCode string) string { } func GetLogFromModelDir(ctx *context.Context) { - prefix := "/" + setting.CBCodePathPrefix + ctx.Cloudbrain.JobName + prefix := "/" + setting.CBCodePathPrefix + ctx.Cloudbrain.JobName + ModelMountPath files, err := storage.GetOneLevelAllObjectUnderDirMinio(setting.Attachment.Minio.Bucket, prefix, "") if err != nil { log.Error("query cloudbrain model failed: %v", err) From e51eab172294bb1c2e74ad4cab8663e20d97337a Mon Sep 17 00:00:00 2001 From: zouap Date: Fri, 19 Aug 2022 10:10:29 +0800 Subject: [PATCH 37/55] =?UTF-8?q?=E8=B0=83=E6=95=B4GPU=E8=AE=AD=E7=BB=83?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E7=9A=84=E6=97=A5=E5=BF=97=E6=98=BE=E7=A4=BA?= =?UTF-8?q?=E9=80=BB=E8=BE=91=E3=80=82#2706?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zouap --- routers/repo/cloudbrain.go | 1 + 1 file changed, 1 insertion(+) diff --git a/routers/repo/cloudbrain.go b/routers/repo/cloudbrain.go index f7bf4d053..ae503293a 100755 --- a/routers/repo/cloudbrain.go +++ b/routers/repo/cloudbrain.go @@ -2898,6 +2898,7 @@ func GetLogFromModelDir(ctx *context.Context) { re := "" for _, file := range files { if strings.HasSuffix(file.FileName, "log.txt") { + log.Info("filename=" + file.FileName) reader, err := os.Open(storage.GetMinioPath(ctx.Cloudbrain.JobName, file.FileName)) defer reader.Close() if err == nil { From fed4f0c4bc73762c128a31ae4018cd0f776101b0 Mon Sep 17 00:00:00 2001 From: zouap Date: Fri, 19 Aug 2022 10:20:37 +0800 Subject: [PATCH 38/55] =?UTF-8?q?=E8=B0=83=E6=95=B4GPU=E8=AE=AD=E7=BB=83?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E7=9A=84=E6=97=A5=E5=BF=97=E6=98=BE=E7=A4=BA?= =?UTF-8?q?=E9=80=BB=E8=BE=91=E3=80=82#2706?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zouap --- routers/repo/cloudbrain.go | 2 ++ templates/repo/cloudbrain/trainjob/show.tmpl | 3 +++ 2 files changed, 5 insertions(+) diff --git a/routers/repo/cloudbrain.go b/routers/repo/cloudbrain.go index ae503293a..560cf58f0 100755 --- a/routers/repo/cloudbrain.go +++ b/routers/repo/cloudbrain.go @@ -2895,6 +2895,7 @@ func GetLogFromModelDir(ctx *context.Context) { } startLine := ctx.QueryInt("startLine") endLine := ctx.QueryInt("endLine") + re := "" for _, file := range files { if strings.HasSuffix(file.FileName, "log.txt") { @@ -2905,6 +2906,7 @@ func GetLogFromModelDir(ctx *context.Context) { r := bufio.NewReader(reader) for i := 0; i < endLine; i++ { line, error := r.ReadString('\n') + log.Info("line=" + line) if error == io.EOF { log.Info("read file completed.") break diff --git a/templates/repo/cloudbrain/trainjob/show.tmpl b/templates/repo/cloudbrain/trainjob/show.tmpl index 9efa6d44d..775c49015 100644 --- a/templates/repo/cloudbrain/trainjob/show.tmpl +++ b/templates/repo/cloudbrain/trainjob/show.tmpl @@ -879,6 +879,9 @@ startLine=0; } let endLine = $('input[name=end_line]').val(); + if(endLine==""){ + endLine = 50; + } $.get(`/${userName}/${repoPath}/cloudbrain/train-job/${jobID}/get_log?endLine=${endLine}&startLine=${startLine}`, (data) => { $('input[name=end_line]').val(data.EndLine) $('input[name=start_line]').val(data.StartLine) From 8d37a2bd365d9dfadb7720a20d69f5e6a55dc0c0 Mon Sep 17 00:00:00 2001 From: zouap Date: Fri, 19 Aug 2022 10:24:03 +0800 Subject: [PATCH 39/55] =?UTF-8?q?=E8=B0=83=E6=95=B4GPU=E8=AE=AD=E7=BB=83?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E7=9A=84=E6=97=A5=E5=BF=97=E6=98=BE=E7=A4=BA?= =?UTF-8?q?=E9=80=BB=E8=BE=91=E3=80=82#2706?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zouap --- routers/repo/cloudbrain.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/routers/repo/cloudbrain.go b/routers/repo/cloudbrain.go index 560cf58f0..249bc06b1 100755 --- a/routers/repo/cloudbrain.go +++ b/routers/repo/cloudbrain.go @@ -2900,7 +2900,8 @@ func GetLogFromModelDir(ctx *context.Context) { for _, file := range files { if strings.HasSuffix(file.FileName, "log.txt") { log.Info("filename=" + file.FileName) - reader, err := os.Open(storage.GetMinioPath(ctx.Cloudbrain.JobName, file.FileName)) + log.Info("path=" + storage.GetMinioPath(ctx.Cloudbrain.JobName+ModelMountPath, file.FileName)) + reader, err := os.Open(storage.GetMinioPath(ctx.Cloudbrain.JobName+ModelMountPath, file.FileName)) defer reader.Close() if err == nil { r := bufio.NewReader(reader) @@ -2921,6 +2922,8 @@ func GetLogFromModelDir(ctx *context.Context) { } } } + } else { + log.Info("error:" + err.Error()) } break } From 87010bf0a5a891fb3c531e791c97612b50a34afd Mon Sep 17 00:00:00 2001 From: zouap Date: Fri, 19 Aug 2022 10:31:23 +0800 Subject: [PATCH 40/55] =?UTF-8?q?=E8=B0=83=E6=95=B4GPU=E8=AE=AD=E7=BB=83?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E7=9A=84=E6=97=A5=E5=BF=97=E6=98=BE=E7=A4=BA?= =?UTF-8?q?=E9=80=BB=E8=BE=91=E3=80=82#2706?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zouap --- 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 249bc06b1..884aa326f 100755 --- a/routers/repo/cloudbrain.go +++ b/routers/repo/cloudbrain.go @@ -2899,9 +2899,9 @@ func GetLogFromModelDir(ctx *context.Context) { re := "" for _, file := range files { if strings.HasSuffix(file.FileName, "log.txt") { - log.Info("filename=" + file.FileName) - log.Info("path=" + storage.GetMinioPath(ctx.Cloudbrain.JobName+ModelMountPath, file.FileName)) - reader, err := os.Open(storage.GetMinioPath(ctx.Cloudbrain.JobName+ModelMountPath, file.FileName)) + path := storage.GetMinioPath(ctx.Cloudbrain.JobName+ModelMountPath+"/", file.FileName) + log.Info("path=" + path) + reader, err := os.Open(path) defer reader.Close() if err == nil { r := bufio.NewReader(reader) From e7eb2ef55d294e6e5a9e1b265d8a6514af9f5dca Mon Sep 17 00:00:00 2001 From: zouap Date: Fri, 19 Aug 2022 11:17:02 +0800 Subject: [PATCH 41/55] =?UTF-8?q?=E8=B0=83=E6=95=B4GPU=E8=AE=AD=E7=BB=83?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E7=9A=84=E6=97=A5=E5=BF=97=E6=98=BE=E7=A4=BA?= =?UTF-8?q?=E9=80=BB=E8=BE=91=E3=80=82#2706?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zouap --- templates/repo/cloudbrain/trainjob/show.tmpl | 44 ++++++++++++++++++++++++++-- 1 file changed, 42 insertions(+), 2 deletions(-) diff --git a/templates/repo/cloudbrain/trainjob/show.tmpl b/templates/repo/cloudbrain/trainjob/show.tmpl index 775c49015..f2e337916 100644 --- a/templates/repo/cloudbrain/trainjob/show.tmpl +++ b/templates/repo/cloudbrain/trainjob/show.tmpl @@ -286,10 +286,14 @@
@@ -492,6 +496,41 @@
+ +
+ + + + + + + +
+
+
+
+ + +

+                            
+ +
+
From 1a37b355239b2b880eadde2992a813e2c0dff5ed Mon Sep 17 00:00:00 2001 From: zouap Date: Fri, 19 Aug 2022 11:33:37 +0800 Subject: [PATCH 42/55] =?UTF-8?q?=E8=B0=83=E6=95=B4GPU=E8=AE=AD=E7=BB=83?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E7=9A=84=E6=97=A5=E5=BF=97=E6=98=BE=E7=A4=BA?= =?UTF-8?q?=E9=80=BB=E8=BE=91=E3=80=82#2706?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zouap --- routers/api/v1/repo/cloudbrain.go | 59 +++++++++++++++++++++++++++++++++++++-- routers/routes/routes.go | 2 +- 2 files changed, 57 insertions(+), 4 deletions(-) diff --git a/routers/api/v1/repo/cloudbrain.go b/routers/api/v1/repo/cloudbrain.go index c3a803f70..332a70e6c 100755 --- a/routers/api/v1/repo/cloudbrain.go +++ b/routers/api/v1/repo/cloudbrain.go @@ -6,13 +6,17 @@ package repo import ( - "code.gitea.io/gitea/modules/notification" + "bufio" "encoding/json" + "io" "net/http" + "os" "sort" "strings" "time" + "code.gitea.io/gitea/modules/notification" + "code.gitea.io/gitea/modules/setting" "code.gitea.io/gitea/models" @@ -368,14 +372,16 @@ func CloudbrainForModelConvertGetLog(ctx *context.Context) { func CloudbrainGetLog(ctx *context.Context) { ID := ctx.Params(":id") + startLine := ctx.QueryInt("startLine") + endLine := ctx.QueryInt("endLine") job, err := models.GetCloudbrainByID(ID) if err != nil { log.Error("GetCloudbrainByJobName failed: %v", err, ctx.Data["MsgID"]) ctx.ServerError(err.Error(), err) return } - - result := CloudbrainGetLogByJobId(job.JobID, job.JobName) + result := GetLogFromModelDir(job.JobName, startLine, endLine) + //result := CloudbrainGetLogByJobId(job.JobID, job.JobName) if result == nil { log.Error("GetJobLog failed: %v", err, ctx.Data["MsgID"]) ctx.ServerError(err.Error(), err) @@ -384,6 +390,53 @@ func CloudbrainGetLog(ctx *context.Context) { ctx.JSON(http.StatusOK, result) } +func GetLogFromModelDir(jobName string, startLine int, endLine int) map[string]interface{} { + prefix := "/" + setting.CBCodePathPrefix + jobName + "/model" + files, err := storage.GetOneLevelAllObjectUnderDirMinio(setting.Attachment.Minio.Bucket, prefix, "") + if err != nil { + log.Error("query cloudbrain model failed: %v", err) + return nil + } + + re := "" + for _, file := range files { + if strings.HasSuffix(file.FileName, "log.txt") { + path := storage.GetMinioPath(jobName+"/model/", file.FileName) + log.Info("path=" + path) + reader, err := os.Open(path) + defer reader.Close() + if err == nil { + r := bufio.NewReader(reader) + for i := 0; i < endLine; i++ { + line, error := r.ReadString('\n') + log.Info("line=" + line) + if error == io.EOF { + log.Info("read file completed.") + break + } + if error != nil { + log.Info("read file error." + error.Error()) + break + } + if error == nil { + if i >= startLine { + re = re + line + } + } + } + } else { + log.Info("error:" + err.Error()) + } + break + } + } + + return map[string]interface{}{ + "JobName": jobName, + "Content": re, + } +} + func CloudBrainModelConvertList(ctx *context.APIContext) { var ( err error diff --git a/routers/routes/routes.go b/routers/routes/routes.go index 8c2020e05..41d34b937 100755 --- a/routers/routes/routes.go +++ b/routers/routes/routes.go @@ -1100,7 +1100,7 @@ func RegisterRoutes(m *macaron.Macaron) { m.Post("/del", cloudbrain.AdminOrOwnerOrJobCreaterRightForTrain, repo.CloudBrainTrainJobDel) //m.Get("/models", reqRepoCloudBrainReader, repo.CloudBrainShowModels) m.Get("/download_model", cloudbrain.AdminOrOwnerOrJobCreaterRightForTrain, repo.CloudBrainDownloadModel) - m.Get("/get_log", cloudbrain.AdminOrJobCreaterRightForTrain, repo.GetLogFromModelDir) + //m.Get("/get_log", cloudbrain.AdminOrJobCreaterRightForTrain, repo.GetLogFromModelDir) //m.Post("/create_version", reqWechatBind, cloudbrain.AdminOrJobCreaterRightForTrain, bindIgnErr(auth.CreateModelArtsTrainJobForm{}), repo.TrainJobCreateVersion) }) m.Get("/create", reqWechatBind, reqRepoCloudBrainWriter, repo.CloudBrainTrainJobNew) From cb0903958add86925c12189b0e301c29e30e14f5 Mon Sep 17 00:00:00 2001 From: zouap Date: Fri, 19 Aug 2022 11:38:10 +0800 Subject: [PATCH 43/55] =?UTF-8?q?=E8=B0=83=E6=95=B4GPU=E8=AE=AD=E7=BB=83?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E7=9A=84=E6=97=A5=E5=BF=97=E6=98=BE=E7=A4=BA?= =?UTF-8?q?=E9=80=BB=E8=BE=91=E3=80=82#2706?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zouap --- routers/api/v1/repo/cloudbrain.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/routers/api/v1/repo/cloudbrain.go b/routers/api/v1/repo/cloudbrain.go index 332a70e6c..0e5afe88e 100755 --- a/routers/api/v1/repo/cloudbrain.go +++ b/routers/api/v1/repo/cloudbrain.go @@ -372,15 +372,15 @@ func CloudbrainForModelConvertGetLog(ctx *context.Context) { func CloudbrainGetLog(ctx *context.Context) { ID := ctx.Params(":id") - startLine := ctx.QueryInt("startLine") - endLine := ctx.QueryInt("endLine") + startLine := ctx.QueryInt("base_line") + lines := ctx.QueryInt("lines") job, err := models.GetCloudbrainByID(ID) if err != nil { log.Error("GetCloudbrainByJobName failed: %v", err, ctx.Data["MsgID"]) ctx.ServerError(err.Error(), err) return } - result := GetLogFromModelDir(job.JobName, startLine, endLine) + result := GetLogFromModelDir(job.JobName, startLine, startLine+lines) //result := CloudbrainGetLogByJobId(job.JobID, job.JobName) if result == nil { log.Error("GetJobLog failed: %v", err, ctx.Data["MsgID"]) From 4be93e40cf9274f6f07bb8ab919c1a90c3fc0010 Mon Sep 17 00:00:00 2001 From: zouap Date: Fri, 19 Aug 2022 11:46:17 +0800 Subject: [PATCH 44/55] =?UTF-8?q?=E8=B0=83=E6=95=B4GPU=E8=AE=AD=E7=BB=83?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E7=9A=84=E6=97=A5=E5=BF=97=E6=98=BE=E7=A4=BA?= =?UTF-8?q?=E9=80=BB=E8=BE=91=E3=80=82#2706?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zouap --- routers/api/v1/repo/cloudbrain.go | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/routers/api/v1/repo/cloudbrain.go b/routers/api/v1/repo/cloudbrain.go index 0e5afe88e..e4ed4a8b9 100755 --- a/routers/api/v1/repo/cloudbrain.go +++ b/routers/api/v1/repo/cloudbrain.go @@ -381,13 +381,24 @@ func CloudbrainGetLog(ctx *context.Context) { return } result := GetLogFromModelDir(job.JobName, startLine, startLine+lines) - //result := CloudbrainGetLogByJobId(job.JobID, job.JobName) if result == nil { log.Error("GetJobLog failed: %v", err, ctx.Data["MsgID"]) ctx.ServerError(err.Error(), err) return } - ctx.JSON(http.StatusOK, result) + + re := map[string]interface{}{ + "JobID": ID, + "LogFileName": result["FileName"], + "StartLine": startLine, + "EndLine": startLine + lines, + "Content": result["Content"], + "Lines": lines, + "CanLogDownload": result["Content"] != "", + } + //result := CloudbrainGetLogByJobId(job.JobID, job.JobName) + + ctx.JSON(http.StatusOK, re) } func GetLogFromModelDir(jobName string, startLine int, endLine int) map[string]interface{} { @@ -399,8 +410,10 @@ func GetLogFromModelDir(jobName string, startLine int, endLine int) map[string]i } re := "" + fileName := "" for _, file := range files { if strings.HasSuffix(file.FileName, "log.txt") { + fileName = file.FileName path := storage.GetMinioPath(jobName+"/model/", file.FileName) log.Info("path=" + path) reader, err := os.Open(path) @@ -432,8 +445,9 @@ func GetLogFromModelDir(jobName string, startLine int, endLine int) map[string]i } return map[string]interface{}{ - "JobName": jobName, - "Content": re, + "JobName": jobName, + "Content": re, + "FileName": fileName, } } From e36e418e1a21c97869c7eed0faa697c293ae2bf6 Mon Sep 17 00:00:00 2001 From: zouap Date: Fri, 19 Aug 2022 16:16:55 +0800 Subject: [PATCH 45/55] =?UTF-8?q?=E8=B0=83=E6=95=B4GPU=E8=AE=AD=E7=BB=83?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E7=9A=84=E6=97=A5=E5=BF=97=E6=98=BE=E7=A4=BA?= =?UTF-8?q?=E9=80=BB=E8=BE=91=E3=80=82#2706?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zouap --- web_src/js/features/cloudbrainShow.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/web_src/js/features/cloudbrainShow.js b/web_src/js/features/cloudbrainShow.js index 691ac57c4..a2e8b4f0d 100644 --- a/web_src/js/features/cloudbrainShow.js +++ b/web_src/js/features/cloudbrainShow.js @@ -37,6 +37,7 @@ export default async function initCloudrainSow() { $(`.message${version_name}`).css("display", "none"); }, 1000); } else { + console.log("end_line" + end_line + " data.EndLine=" + data.EndLine); if (end_line === data.EndLine) { return; } else { @@ -61,6 +62,7 @@ export default async function initCloudrainSow() { $(`.message${version_name}`).css("display", "none"); }, 1000); } else { + console.log("log_com " + `#log${version_name}`); $(`#log${version_name} input[name=start_line]`).val(data.StartLine); //如果变动就改变所对应的值 $(`#log${version_name}`).prepend("
" + data.Content);
           }
@@ -110,6 +112,7 @@ export default async function initCloudrainSow() {
     $.get(
       `/api/v1/repos/${repoPath}/${ID}/log?version_name=${version_name}&base_line=&lines=50&order=asc`,
       (data) => {
+        console.log("log_com_2222  " + `#log${version_name}`);
         $(".ui.inverted.active.dimmer").css("display", "none");
         $(`#log${version_name} input[name=end_line]`).val(data.EndLine); //如果变动就改变所对应的值
         $(`#log${version_name} input[name=start_line]`).val(data.StartLine);
@@ -154,6 +157,7 @@ export default async function initCloudrainSow() {
                 $(`.message${version_name}`).css("display", "none");
               }, 1000);
             } else {
+              console.log("end_line 33" + end_line + "   data.EndLine=" + data.EndLine);
               if (end_line === data.EndLine || end_line === "") {
                 return;
               } else {

From 59ee25d119a48855747bad32c6e0bda4b64ec9a9 Mon Sep 17 00:00:00 2001
From: zouap 
Date: Fri, 19 Aug 2022 16:22:32 +0800
Subject: [PATCH 46/55] =?UTF-8?q?=E8=B0=83=E6=95=B4GPU=E8=AE=AD=E7=BB=83?=
 =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E7=9A=84=E6=97=A5=E5=BF=97=E6=98=BE=E7=A4=BA?=
 =?UTF-8?q?=E9=80=BB=E8=BE=91=E3=80=82#2706?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Signed-off-by: zouap 
---
 web_src/js/features/cloudbrainShow.js | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/web_src/js/features/cloudbrainShow.js b/web_src/js/features/cloudbrainShow.js
index a2e8b4f0d..0d10fc373 100644
--- a/web_src/js/features/cloudbrainShow.js
+++ b/web_src/js/features/cloudbrainShow.js
@@ -143,6 +143,7 @@ export default async function initCloudrainSow() {
             .removeClass("ti-download-file")
             .addClass("disabled");
         }
+        console.log("log_com 44 " + `#log${version_name}`);
         $(`#log${version_name} input[name=end_line]`).val(data.EndLine); //如果变动就改变所对应的值
         $(`#log${version_name} input[name=start_line]`).val(data.StartLine);
         $(`#log${version_name}`).append("
" + data.Content);
@@ -157,7 +158,7 @@ export default async function initCloudrainSow() {
                 $(`.message${version_name}`).css("display", "none");
               }, 1000);
             } else {
-              console.log("end_line 33" + end_line + "   data.EndLine=" + data.EndLine);
+              console.log("end_line 33 " + end_line + "   data.EndLine=" + data.EndLine);
               if (end_line === data.EndLine || end_line === "") {
                 return;
               } else {

From a66232b617e8a8cc78b72b56330a27481c8f58f4 Mon Sep 17 00:00:00 2001
From: zouap 
Date: Fri, 19 Aug 2022 16:33:07 +0800
Subject: [PATCH 47/55] =?UTF-8?q?=E8=B0=83=E6=95=B4GPU=E8=AE=AD=E7=BB=83?=
 =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E7=9A=84=E6=97=A5=E5=BF=97=E6=98=BE=E7=A4=BA?=
 =?UTF-8?q?=E9=80=BB=E8=BE=91=E3=80=82#2706?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Signed-off-by: zouap 
---
 templates/repo/cloudbrain/trainjob/show.tmpl | 17 ++---------------
 1 file changed, 2 insertions(+), 15 deletions(-)

diff --git a/templates/repo/cloudbrain/trainjob/show.tmpl b/templates/repo/cloudbrain/trainjob/show.tmpl
index f2e337916..e401a4acf 100644
--- a/templates/repo/cloudbrain/trainjob/show.tmpl
+++ b/templates/repo/cloudbrain/trainjob/show.tmpl
@@ -482,7 +482,7 @@
                             
-                            
@@ -530,20 +530,7 @@
- +
From eee489e4de336d0b95ee274abe212926361b9e98 Mon Sep 17 00:00:00 2001 From: zouap Date: Fri, 19 Aug 2022 16:53:34 +0800 Subject: [PATCH 48/55] =?UTF-8?q?=E8=B0=83=E6=95=B4GPU=E8=AE=AD=E7=BB=83?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E7=9A=84=E6=97=A5=E5=BF=97=E6=98=BE=E7=A4=BA?= =?UTF-8?q?=E9=80=BB=E8=BE=91=E3=80=82#2706?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zouap --- routers/api/v1/repo/cloudbrain.go | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/routers/api/v1/repo/cloudbrain.go b/routers/api/v1/repo/cloudbrain.go index e4ed4a8b9..38409d505 100755 --- a/routers/api/v1/repo/cloudbrain.go +++ b/routers/api/v1/repo/cloudbrain.go @@ -391,9 +391,9 @@ func CloudbrainGetLog(ctx *context.Context) { "JobID": ID, "LogFileName": result["FileName"], "StartLine": startLine, - "EndLine": startLine + lines, + "EndLine": result["endLine"], "Content": result["Content"], - "Lines": lines, + "Lines": result["lines"], "CanLogDownload": result["Content"] != "", } //result := CloudbrainGetLogByJobId(job.JobID, job.JobName) @@ -411,6 +411,8 @@ func GetLogFromModelDir(jobName string, startLine int, endLine int) map[string]i re := "" fileName := "" + count := 0 + fileEndLine := endLine for _, file := range files { if strings.HasSuffix(file.FileName, "log.txt") { fileName = file.FileName @@ -420,7 +422,7 @@ func GetLogFromModelDir(jobName string, startLine int, endLine int) map[string]i defer reader.Close() if err == nil { r := bufio.NewReader(reader) - for i := 0; i < endLine; i++ { + for i := 0; i <= endLine; i++ { line, error := r.ReadString('\n') log.Info("line=" + line) if error == io.EOF { @@ -431,9 +433,11 @@ func GetLogFromModelDir(jobName string, startLine int, endLine int) map[string]i log.Info("read file error." + error.Error()) break } + fileEndLine = i if error == nil { if i >= startLine { re = re + line + count++ } } } @@ -448,6 +452,8 @@ func GetLogFromModelDir(jobName string, startLine int, endLine int) map[string]i "JobName": jobName, "Content": re, "FileName": fileName, + "lines": count, + "endLine": fileEndLine, } } From 8ab705a66cf59e618d725a9e9ed274d12062c878 Mon Sep 17 00:00:00 2001 From: zouap Date: Fri, 19 Aug 2022 17:38:46 +0800 Subject: [PATCH 49/55] =?UTF-8?q?=E8=B0=83=E6=95=B4GPU=E8=AE=AD=E7=BB=83?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E7=9A=84=E6=97=A5=E5=BF=97=E6=98=BE=E7=A4=BA?= =?UTF-8?q?=E9=80=BB=E8=BE=91=E3=80=82#2706?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zouap --- routers/api/v1/api.go | 1 + routers/api/v1/repo/cloudbrain.go | 45 ++++++++++++++++++++++++++-- templates/repo/cloudbrain/trainjob/show.tmpl | 4 +-- 3 files changed, 46 insertions(+), 4 deletions(-) diff --git a/routers/api/v1/api.go b/routers/api/v1/api.go index aa51c6e1a..0b941b400 100755 --- a/routers/api/v1/api.go +++ b/routers/api/v1/api.go @@ -916,6 +916,7 @@ func RegisterRoutes(m *macaron.Macaron) { m.Group("/cloudbrain", func() { m.Get("/:id", repo.GetCloudbrainTask) m.Get("/:id/log", repo.CloudbrainGetLog) + m.Get("/:id/download_log_file", repo.CloudbrainDownloadLogFile) m.Group("/train-job", func() { m.Group("/:jobid", func() { m.Get("", repo.GetModelArtsTrainJobVersion) diff --git a/routers/api/v1/repo/cloudbrain.go b/routers/api/v1/repo/cloudbrain.go index 38409d505..e5042f974 100755 --- a/routers/api/v1/repo/cloudbrain.go +++ b/routers/api/v1/repo/cloudbrain.go @@ -370,17 +370,58 @@ func CloudbrainForModelConvertGetLog(ctx *context.Context) { ctx.JSON(http.StatusOK, result) } +func CloudbrainDownloadLogFile(ctx *context.Context) { + ID := ctx.Params(":id") + job, err := models.GetCloudbrainByID(ID) + if err != nil { + log.Error("GetCloudbrainByJobName failed: %v", err, ctx.Data["MsgID"]) + ctx.ServerError(err.Error(), err) + return + } + prefix := "/" + setting.CBCodePathPrefix + job.JobName + "/model" + files, err := storage.GetOneLevelAllObjectUnderDirMinio(setting.Attachment.Minio.Bucket, prefix, "") + if err != nil { + log.Error("query cloudbrain model failed: %v", err) + return + } + fileName := "" + for _, file := range files { + if strings.HasSuffix(file.FileName, "log.txt") { + fileName = file.FileName + break + } + } + if fileName != "" { + url, err := storage.Attachments.PresignedGetURL(prefix+"/"+fileName, fileName) + if err != nil { + log.Error("Get minio get SignedUrl failed: %v", err.Error(), ctx.Data["msgID"]) + ctx.ServerError("Get minio get SignedUrl failed", err) + return + } + http.Redirect(ctx.Resp, ctx.Req.Request, url, http.StatusMovedPermanently) + } +} + func CloudbrainGetLog(ctx *context.Context) { ID := ctx.Params(":id") startLine := ctx.QueryInt("base_line") lines := ctx.QueryInt("lines") + endLine := startLine + lines + order := ctx.Query("order") + if order == "desc" { + endLine = startLine + startLine = endLine - lines + if startLine < 0 { + startLine = 0 + } + } job, err := models.GetCloudbrainByID(ID) if err != nil { log.Error("GetCloudbrainByJobName failed: %v", err, ctx.Data["MsgID"]) ctx.ServerError(err.Error(), err) return } - result := GetLogFromModelDir(job.JobName, startLine, startLine+lines) + result := getLogFromModelDir(job.JobName, startLine, endLine) if result == nil { log.Error("GetJobLog failed: %v", err, ctx.Data["MsgID"]) ctx.ServerError(err.Error(), err) @@ -401,7 +442,7 @@ func CloudbrainGetLog(ctx *context.Context) { ctx.JSON(http.StatusOK, re) } -func GetLogFromModelDir(jobName string, startLine int, endLine int) map[string]interface{} { +func getLogFromModelDir(jobName string, startLine int, endLine int) map[string]interface{} { prefix := "/" + setting.CBCodePathPrefix + jobName + "/model" files, err := storage.GetOneLevelAllObjectUnderDirMinio(setting.Attachment.Minio.Bucket, prefix, "") if err != nil { diff --git a/templates/repo/cloudbrain/trainjob/show.tmpl b/templates/repo/cloudbrain/trainjob/show.tmpl index e401a4acf..e746c2a4c 100644 --- a/templates/repo/cloudbrain/trainjob/show.tmpl +++ b/templates/repo/cloudbrain/trainjob/show.tmpl @@ -498,8 +498,8 @@
+ class='{{if .CanModify}}ti-download-file{{else}}disabled{{end}}' + href="{{$.RepoLink}}/cloudbrain/train-job/{{.JobID}}/download_log_file"> {{$.i18n.Tr "repo.modelarts.download_log"}} From c02fbf2d5bf3ee146c1dba11208403c7dc723dbe Mon Sep 17 00:00:00 2001 From: zouap Date: Fri, 19 Aug 2022 17:44:16 +0800 Subject: [PATCH 50/55] =?UTF-8?q?=E8=B0=83=E6=95=B4GPU=E8=AE=AD=E7=BB=83?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E7=9A=84=E6=97=A5=E5=BF=97=E6=98=BE=E7=A4=BA?= =?UTF-8?q?=E9=80=BB=E8=BE=91=E3=80=82#2706?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zouap --- routers/api/v1/repo/cloudbrain.go | 2 +- templates/repo/cloudbrain/trainjob/show.tmpl | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/routers/api/v1/repo/cloudbrain.go b/routers/api/v1/repo/cloudbrain.go index e5042f974..7cbb3bc47 100755 --- a/routers/api/v1/repo/cloudbrain.go +++ b/routers/api/v1/repo/cloudbrain.go @@ -408,7 +408,7 @@ func CloudbrainGetLog(ctx *context.Context) { lines := ctx.QueryInt("lines") endLine := startLine + lines order := ctx.Query("order") - if order == "desc" { + if order == "asc" { endLine = startLine startLine = endLine - lines if startLine < 0 { diff --git a/templates/repo/cloudbrain/trainjob/show.tmpl b/templates/repo/cloudbrain/trainjob/show.tmpl index e746c2a4c..2a23cafac 100644 --- a/templates/repo/cloudbrain/trainjob/show.tmpl +++ b/templates/repo/cloudbrain/trainjob/show.tmpl @@ -498,7 +498,7 @@
{{$.i18n.Tr "repo.modelarts.download_log"}} From cac8350fe4e1b8bb6408936622336711f5041391 Mon Sep 17 00:00:00 2001 From: zouap Date: Fri, 19 Aug 2022 17:49:16 +0800 Subject: [PATCH 51/55] =?UTF-8?q?=E8=B0=83=E6=95=B4GPU=E8=AE=AD=E7=BB=83?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E7=9A=84=E6=97=A5=E5=BF=97=E6=98=BE=E7=A4=BA?= =?UTF-8?q?=E9=80=BB=E8=BE=91=E3=80=82#2706?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zouap --- templates/repo/cloudbrain/trainjob/show.tmpl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/repo/cloudbrain/trainjob/show.tmpl b/templates/repo/cloudbrain/trainjob/show.tmpl index 2a23cafac..9d110e8fd 100644 --- a/templates/repo/cloudbrain/trainjob/show.tmpl +++ b/templates/repo/cloudbrain/trainjob/show.tmpl @@ -499,7 +499,7 @@
+ href="/api/v1/repos/{{$.RepoRelPath}}/cloudbrain/train-job/{{.JobID}}/download_log_file"> {{$.i18n.Tr "repo.modelarts.download_log"}} From 4484ed2a248e17a2e4108a495e69e12bfca02f53 Mon Sep 17 00:00:00 2001 From: zouap Date: Mon, 22 Aug 2022 09:16:28 +0800 Subject: [PATCH 52/55] =?UTF-8?q?=E8=B0=83=E6=95=B4GPU=E8=AE=AD=E7=BB=83?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E7=9A=84=E6=97=A5=E5=BF=97=E6=98=BE=E7=A4=BA?= =?UTF-8?q?=E9=80=BB=E8=BE=91=E3=80=82#2706?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zouap --- routers/api/v1/repo/cloudbrain.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/routers/api/v1/repo/cloudbrain.go b/routers/api/v1/repo/cloudbrain.go index 7cbb3bc47..b6bec9faf 100755 --- a/routers/api/v1/repo/cloudbrain.go +++ b/routers/api/v1/repo/cloudbrain.go @@ -463,9 +463,10 @@ func getLogFromModelDir(jobName string, startLine int, endLine int) map[string]i defer reader.Close() if err == nil { r := bufio.NewReader(reader) - for i := 0; i <= endLine; i++ { + for i := 0; i < endLine; i++ { line, error := r.ReadString('\n') log.Info("line=" + line) + fileEndLine = i if error == io.EOF { log.Info("read file completed.") break @@ -474,7 +475,6 @@ func getLogFromModelDir(jobName string, startLine int, endLine int) map[string]i log.Info("read file error." + error.Error()) break } - fileEndLine = i if error == nil { if i >= startLine { re = re + line From 9cb4aae9b4edef8366aa3fa7322952c734ce5f10 Mon Sep 17 00:00:00 2001 From: zouap Date: Mon, 22 Aug 2022 09:35:49 +0800 Subject: [PATCH 53/55] =?UTF-8?q?=E8=B0=83=E6=95=B4GPU=E8=AE=AD=E7=BB=83?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E7=9A=84=E6=97=A5=E5=BF=97=E6=98=BE=E7=A4=BA?= =?UTF-8?q?=E9=80=BB=E8=BE=91=E3=80=82#2706?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zouap --- routers/api/v1/repo/cloudbrain.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/routers/api/v1/repo/cloudbrain.go b/routers/api/v1/repo/cloudbrain.go index b6bec9faf..a8c5762e4 100755 --- a/routers/api/v1/repo/cloudbrain.go +++ b/routers/api/v1/repo/cloudbrain.go @@ -435,7 +435,7 @@ func CloudbrainGetLog(ctx *context.Context) { "EndLine": result["endLine"], "Content": result["Content"], "Lines": result["lines"], - "CanLogDownload": result["Content"] != "", + "CanLogDownload": result["FileName"] != "", } //result := CloudbrainGetLogByJobId(job.JobID, job.JobName) From 434d29b8086531035e66564d267e995c3bfa7eac Mon Sep 17 00:00:00 2001 From: zouap Date: Mon, 22 Aug 2022 10:25:55 +0800 Subject: [PATCH 54/55] =?UTF-8?q?=E8=B0=83=E6=95=B4GPU=E8=AE=AD=E7=BB=83?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E7=9A=84=E6=97=A5=E5=BF=97=E6=98=BE=E7=A4=BA?= =?UTF-8?q?=E9=80=BB=E8=BE=91=E3=80=82#2706?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zouap --- routers/repo/cloudbrain.go | 49 ---------------------------------------------- 1 file changed, 49 deletions(-) diff --git a/routers/repo/cloudbrain.go b/routers/repo/cloudbrain.go index 884aa326f..c3c6c43cb 100755 --- a/routers/repo/cloudbrain.go +++ b/routers/repo/cloudbrain.go @@ -2885,52 +2885,3 @@ func getFlavorNameByFlavorCode(flavorCode string) string { "核" + strconv.Itoa(cardNum*256) + "GB" return cloudbrainTwoFlavorName } - -func GetLogFromModelDir(ctx *context.Context) { - prefix := "/" + setting.CBCodePathPrefix + ctx.Cloudbrain.JobName + ModelMountPath - files, err := storage.GetOneLevelAllObjectUnderDirMinio(setting.Attachment.Minio.Bucket, prefix, "") - if err != nil { - log.Error("query cloudbrain model failed: %v", err) - return - } - startLine := ctx.QueryInt("startLine") - endLine := ctx.QueryInt("endLine") - - re := "" - for _, file := range files { - if strings.HasSuffix(file.FileName, "log.txt") { - path := storage.GetMinioPath(ctx.Cloudbrain.JobName+ModelMountPath+"/", file.FileName) - log.Info("path=" + path) - reader, err := os.Open(path) - defer reader.Close() - if err == nil { - r := bufio.NewReader(reader) - for i := 0; i < endLine; i++ { - line, error := r.ReadString('\n') - log.Info("line=" + line) - if error == io.EOF { - log.Info("read file completed.") - break - } - if error != nil { - log.Info("read file error." + error.Error()) - break - } - if error == nil { - if i >= startLine { - re = re + line - } - } - } - } else { - log.Info("error:" + err.Error()) - } - break - } - } - - ctx.JSON(http.StatusOK, map[string]interface{}{ - "JobName": ctx.Cloudbrain.JobName, - "Content": re, - }) -} From b3efd78ff84cdaef9b7a87a5505c63f6fd8112c3 Mon Sep 17 00:00:00 2001 From: zouap Date: Mon, 22 Aug 2022 10:30:06 +0800 Subject: [PATCH 55/55] =?UTF-8?q?=E8=B0=83=E6=95=B4GPU=E8=AE=AD=E7=BB=83?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E7=9A=84=E6=97=A5=E5=BF=97=E6=98=BE=E7=A4=BA?= =?UTF-8?q?=E9=80=BB=E8=BE=91=E3=80=82#2706?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zouap --- web_src/js/features/cloudbrainShow.js | 5 ----- 1 file changed, 5 deletions(-) diff --git a/web_src/js/features/cloudbrainShow.js b/web_src/js/features/cloudbrainShow.js index 0d10fc373..691ac57c4 100644 --- a/web_src/js/features/cloudbrainShow.js +++ b/web_src/js/features/cloudbrainShow.js @@ -37,7 +37,6 @@ export default async function initCloudrainSow() { $(`.message${version_name}`).css("display", "none"); }, 1000); } else { - console.log("end_line" + end_line + " data.EndLine=" + data.EndLine); if (end_line === data.EndLine) { return; } else { @@ -62,7 +61,6 @@ export default async function initCloudrainSow() { $(`.message${version_name}`).css("display", "none"); }, 1000); } else { - console.log("log_com " + `#log${version_name}`); $(`#log${version_name} input[name=start_line]`).val(data.StartLine); //如果变动就改变所对应的值 $(`#log${version_name}`).prepend("
" + data.Content);
           }
@@ -112,7 +110,6 @@ export default async function initCloudrainSow() {
     $.get(
       `/api/v1/repos/${repoPath}/${ID}/log?version_name=${version_name}&base_line=&lines=50&order=asc`,
       (data) => {
-        console.log("log_com_2222  " + `#log${version_name}`);
         $(".ui.inverted.active.dimmer").css("display", "none");
         $(`#log${version_name} input[name=end_line]`).val(data.EndLine); //如果变动就改变所对应的值
         $(`#log${version_name} input[name=start_line]`).val(data.StartLine);
@@ -143,7 +140,6 @@ export default async function initCloudrainSow() {
             .removeClass("ti-download-file")
             .addClass("disabled");
         }
-        console.log("log_com 44 " + `#log${version_name}`);
         $(`#log${version_name} input[name=end_line]`).val(data.EndLine); //如果变动就改变所对应的值
         $(`#log${version_name} input[name=start_line]`).val(data.StartLine);
         $(`#log${version_name}`).append("
" + data.Content);
@@ -158,7 +154,6 @@ export default async function initCloudrainSow() {
                 $(`.message${version_name}`).css("display", "none");
               }, 1000);
             } else {
-              console.log("end_line 33 " + end_line + "   data.EndLine=" + data.EndLine);
               if (end_line === data.EndLine || end_line === "") {
                 return;
               } else {