|
|
@@ -46,22 +46,6 @@ const ( |
|
|
) |
|
|
) |
|
|
|
|
|
|
|
|
func DebugJobIndex(ctx *context.Context) { |
|
|
func DebugJobIndex(ctx *context.Context) { |
|
|
//到任务首页时将DisplayJobName更新, |
|
|
|
|
|
allTasks, count, err := models.Cloudbrains(&models.CloudbrainsOptions{}) |
|
|
|
|
|
if err != nil { |
|
|
|
|
|
ctx.ServerError("Get allTasks faild:", err) |
|
|
|
|
|
return |
|
|
|
|
|
} |
|
|
|
|
|
for i, task := range allTasks { |
|
|
|
|
|
if task.Cloudbrain.DisplayJobName == "" { |
|
|
|
|
|
task.Cloudbrain.DisplayJobName = allTasks[i].Cloudbrain.JobName |
|
|
|
|
|
err = models.UpdateDisplayJobName(&allTasks[i].Cloudbrain) |
|
|
|
|
|
if err != nil { |
|
|
|
|
|
log.Error("Update DisplayJobName failed:", err) |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
debugListType := ctx.Query("debugListType") |
|
|
debugListType := ctx.Query("debugListType") |
|
|
ctx.Data["ListType"] = debugListType |
|
|
ctx.Data["ListType"] = debugListType |
|
|
MustEnableCloudbrain(ctx) |
|
|
MustEnableCloudbrain(ctx) |
|
|
@@ -608,8 +592,8 @@ func trainJobErrorNewDataPrepare(ctx *context.Context, form auth.CreateModelArts |
|
|
//} |
|
|
//} |
|
|
|
|
|
|
|
|
t := time.Now() |
|
|
t := time.Now() |
|
|
var jobName = cutString(ctx.User.Name, 5) + t.Format("2006010215") + strconv.Itoa(int(t.Unix()))[5:] |
|
|
|
|
|
ctx.Data["job_name"] = jobName |
|
|
|
|
|
|
|
|
var displayJobName = cutString(ctx.User.Name, 5) + t.Format("2006010215") + strconv.Itoa(int(t.Unix()))[5:] |
|
|
|
|
|
ctx.Data["display_job_name"] = displayJobName |
|
|
|
|
|
|
|
|
attachs, err := models.GetModelArtsTrainAttachments(ctx.User.ID) |
|
|
attachs, err := models.GetModelArtsTrainAttachments(ctx.User.ID) |
|
|
if err != nil { |
|
|
if err != nil { |
|
|
@@ -646,8 +630,8 @@ func trainJobErrorNewDataPrepare(ctx *context.Context, form auth.CreateModelArts |
|
|
} |
|
|
} |
|
|
ctx.Data["flavor_infos"] = flavorInfos.Info |
|
|
ctx.Data["flavor_infos"] = flavorInfos.Info |
|
|
|
|
|
|
|
|
outputObsPath := "/" + setting.Bucket + modelarts.JobPath + jobName + modelarts.OutputPath |
|
|
|
|
|
ctx.Data["train_url"] = outputObsPath |
|
|
|
|
|
|
|
|
// outputObsPath := "/" + setting.Bucket + modelarts.JobPath + jobName + modelarts.OutputPath |
|
|
|
|
|
// ctx.Data["train_url"] = outputObsPath |
|
|
|
|
|
|
|
|
configList, err := getConfigList(modelarts.PerPage, 1, modelarts.SortByCreateTime, "desc", "", modelarts.ConfigTypeCustom) |
|
|
configList, err := getConfigList(modelarts.PerPage, 1, modelarts.SortByCreateTime, "desc", "", modelarts.ConfigTypeCustom) |
|
|
if err != nil { |
|
|
if err != nil { |
|
|
@@ -886,6 +870,44 @@ func TrainJobCreate(ctx *context.Context, form auth.CreateModelArtsTrainJobForm) |
|
|
VersionCount := modelarts.VersionCount |
|
|
VersionCount := modelarts.VersionCount |
|
|
EngineName := form.EngineName |
|
|
EngineName := form.EngineName |
|
|
|
|
|
|
|
|
|
|
|
if err := paramCheckCreateTrainJob(form); err != nil { |
|
|
|
|
|
log.Error("paramCheckCreateTrainJob failed:(%v)", err) |
|
|
|
|
|
trainJobErrorNewDataPrepare(ctx, form) |
|
|
|
|
|
ctx.RenderWithErr(err.Error(), tplModelArtsTrainJobNew, &form) |
|
|
|
|
|
return |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
//判断项目内任务名称是否重复 |
|
|
|
|
|
var jobTypes []string |
|
|
|
|
|
jobTypes = append(jobTypes, string(models.JobTypeTrain)) |
|
|
|
|
|
tasks, _, err := models.Cloudbrains(&models.CloudbrainsOptions{ |
|
|
|
|
|
ListOptions: models.ListOptions{ |
|
|
|
|
|
PageSize: setting.UI.IssuePagingNum, |
|
|
|
|
|
}, |
|
|
|
|
|
RepoID: repo.ID, |
|
|
|
|
|
Type: models.TypeCloudBrainTwo, |
|
|
|
|
|
JobTypeNot: false, |
|
|
|
|
|
JobTypes: jobTypes, |
|
|
|
|
|
IsLatestVersion: modelarts.IsLatestVersion, |
|
|
|
|
|
}) |
|
|
|
|
|
if err == nil { |
|
|
|
|
|
for _, task := range tasks { |
|
|
|
|
|
if strings.EqualFold(task.JobName, displayJobName) { |
|
|
|
|
|
log.Error("the job name did already exist", ctx.Data["MsgID"]) |
|
|
|
|
|
trainJobErrorNewDataPrepare(ctx, form) |
|
|
|
|
|
ctx.RenderWithErr("任务名称已经被使用!", tplModelArtsTrainJobNew, &form) |
|
|
|
|
|
return |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} else { |
|
|
|
|
|
if !models.IsErrJobNotExist(err) { |
|
|
|
|
|
log.Error("system error, %v", err, ctx.Data["MsgID"]) |
|
|
|
|
|
trainJobErrorNewDataPrepare(ctx, form) |
|
|
|
|
|
ctx.RenderWithErr("system error", tplModelArtsTrainJobNew, &form) |
|
|
|
|
|
return |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
count, err := models.GetCloudbrainTrainJobCountByUserID(ctx.User.ID) |
|
|
count, err := models.GetCloudbrainTrainJobCountByUserID(ctx.User.ID) |
|
|
if err != nil { |
|
|
if err != nil { |
|
|
log.Error("GetCloudbrainTrainJobCountByUserID failed:%v", err, ctx.Data["MsgID"]) |
|
|
log.Error("GetCloudbrainTrainJobCountByUserID failed:%v", err, ctx.Data["MsgID"]) |
|
|
@@ -901,13 +923,6 @@ func TrainJobCreate(ctx *context.Context, form auth.CreateModelArtsTrainJobForm) |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
if err := paramCheckCreateTrainJob(form); err != nil { |
|
|
|
|
|
log.Error("paramCheckCreateTrainJob failed:(%v)", err) |
|
|
|
|
|
trainJobErrorNewDataPrepare(ctx, form) |
|
|
|
|
|
ctx.RenderWithErr(err.Error(), tplModelArtsTrainJobNew, &form) |
|
|
|
|
|
return |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
//todo: del the codeLocalPath |
|
|
//todo: del the codeLocalPath |
|
|
_, err = ioutil.ReadDir(codeLocalPath) |
|
|
_, err = ioutil.ReadDir(codeLocalPath) |
|
|
if err == nil { |
|
|
if err == nil { |
|
|
@@ -1677,7 +1692,8 @@ func getConfigList(perPage, page int, sortBy, order, searchContent, configType s |
|
|
func InferenceJobCreate(ctx *context.Context, form auth.CreateModelArtsInferenceJobForm) { |
|
|
func InferenceJobCreate(ctx *context.Context, form auth.CreateModelArtsInferenceJobForm) { |
|
|
ctx.Data["PageIsTrainJob"] = true |
|
|
ctx.Data["PageIsTrainJob"] = true |
|
|
VersionOutputPath := modelarts.GetOutputPathByCount(modelarts.TotalVersionCount) |
|
|
VersionOutputPath := modelarts.GetOutputPathByCount(modelarts.TotalVersionCount) |
|
|
jobName := form.JobName |
|
|
|
|
|
|
|
|
displayJobName := form.DisplayJobName |
|
|
|
|
|
jobName := util.ConvertDisplayJobNameToJobName(displayJobName) |
|
|
uuid := form.Attachment |
|
|
uuid := form.Attachment |
|
|
description := form.Description |
|
|
description := form.Description |
|
|
workServerNumber := form.WorkServerNumber |
|
|
workServerNumber := form.WorkServerNumber |
|
|
@@ -1712,6 +1728,37 @@ func InferenceJobCreate(ctx *context.Context, form auth.CreateModelArtsInference |
|
|
return |
|
|
return |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
//判断项目内任务名称是否重复 |
|
|
|
|
|
var jobTypes []string |
|
|
|
|
|
jobTypes = append(jobTypes, string(models.JobTypeTrain)) |
|
|
|
|
|
tasks, _, err := models.Cloudbrains(&models.CloudbrainsOptions{ |
|
|
|
|
|
ListOptions: models.ListOptions{ |
|
|
|
|
|
PageSize: setting.UI.IssuePagingNum, |
|
|
|
|
|
}, |
|
|
|
|
|
RepoID: repo.ID, |
|
|
|
|
|
Type: models.TypeCloudBrainTwo, |
|
|
|
|
|
JobTypeNot: false, |
|
|
|
|
|
JobTypes: jobTypes, |
|
|
|
|
|
IsLatestVersion: modelarts.IsLatestVersion, |
|
|
|
|
|
}) |
|
|
|
|
|
if err == nil { |
|
|
|
|
|
for _, task := range tasks { |
|
|
|
|
|
if strings.EqualFold(task.JobName, displayJobName) { |
|
|
|
|
|
log.Error("the job name did already exist", ctx.Data["MsgID"]) |
|
|
|
|
|
inferenceJobErrorNewDataPrepare(ctx, form) |
|
|
|
|
|
ctx.RenderWithErr("任务名称已经被使用!", tplModelArtsInferenceJobNew, &form) |
|
|
|
|
|
return |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} else { |
|
|
|
|
|
if !models.IsErrJobNotExist(err) { |
|
|
|
|
|
log.Error("system error, %v", err, ctx.Data["MsgID"]) |
|
|
|
|
|
inferenceJobErrorNewDataPrepare(ctx, form) |
|
|
|
|
|
ctx.RenderWithErr("system error", tplModelArtsInferenceJobNew, &form) |
|
|
|
|
|
return |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
count, err := models.GetCloudbrainInferenceJobCountByUserID(ctx.User.ID) |
|
|
count, err := models.GetCloudbrainInferenceJobCountByUserID(ctx.User.ID) |
|
|
if err != nil { |
|
|
if err != nil { |
|
|
log.Error("GetCloudbrainInferenceJobCountByUserID failed:%v", err, ctx.Data["MsgID"]) |
|
|
log.Error("GetCloudbrainInferenceJobCountByUserID failed:%v", err, ctx.Data["MsgID"]) |
|
|
@@ -1798,6 +1845,7 @@ func InferenceJobCreate(ctx *context.Context, form auth.CreateModelArtsInference |
|
|
|
|
|
|
|
|
req := &modelarts.GenerateInferenceJobReq{ |
|
|
req := &modelarts.GenerateInferenceJobReq{ |
|
|
JobName: jobName, |
|
|
JobName: jobName, |
|
|
|
|
|
DisplayJobName: displayJobName, |
|
|
DataUrl: dataPath, |
|
|
DataUrl: dataPath, |
|
|
Description: description, |
|
|
Description: description, |
|
|
CodeObsPath: codeObsPath, |
|
|
CodeObsPath: codeObsPath, |
|
|
|