Browse Source

update

tags/V1.22.3.1^2
liuzx 3 years ago
parent
commit
76f7f44873
6 changed files with 38 additions and 16 deletions
  1. +2
    -1
      models/cloudbrain.go
  2. +1
    -0
      modules/auth/modelarts.go
  3. +9
    -7
      modules/modelarts/modelarts.go
  4. +15
    -0
      modules/util/util.go
  5. +8
    -5
      routers/repo/modelarts.go
  6. +3
    -3
      templates/repo/modelarts/trainjob/new.tmpl

+ 2
- 1
models/cloudbrain.go View File

@@ -91,7 +91,8 @@ type Cloudbrain struct {
ID int64 `xorm:"pk autoincr"`
JobID string `xorm:"INDEX NOT NULL"`
JobType string `xorm:"INDEX NOT NULL DEFAULT 'DEBUG'"`
JobName string
JobName string `xorm:"INDEX NOT NULL"`
DisplayJobName string
Status string
UserID int64
RepoID int64


+ 1
- 0
modules/auth/modelarts.go View File

@@ -27,6 +27,7 @@ func (f *CreateModelArtsNotebookForm) Validate(ctx *macaron.Context, errs bindin
}

type CreateModelArtsTrainJobForm struct {
DisplayJobName string `form:"display_job_name" binding:"Required"`
JobName string `form:"job_name" binding:"Required"`
Attachment string `form:"attachment" binding:"Required"`
BootFile string `form:"boot_file" binding:"Required"`


+ 9
- 7
modules/modelarts/modelarts.go View File

@@ -15,8 +15,8 @@ import (

const (
//notebook
storageTypeOBS = "obs"
autoStopDuration = 4 * 60 * 60
storageTypeOBS = "obs"
autoStopDuration = 4 * 60 * 60
autoStopDurationMs = 4 * 60 * 60 * 1000

DataSetMountPath = "/home/ma-user/work"
@@ -67,6 +67,7 @@ var (

type GenerateTrainJobReq struct {
JobName string
DisplayJobName string
Uuid string
Description string
CodeObsPath string
@@ -275,12 +276,12 @@ func GenerateNotebook2(ctx *context.Context, jobName, uuid, description, flavor
ImageID: "59a6e9f5-93c0-44dd-85b0-82f390c5d53a",
PoolID: poolInfos.PoolInfo[0].PoolId,
Feature: models.NotebookFeature,
Volume: models.VolumeReq{
Capacity: 100,
Category: models.EVSCategory,
Ownership: models.ManagedOwnership,
Volume: models.VolumeReq{
Capacity: 100,
Category: models.EVSCategory,
Ownership: models.ManagedOwnership,
},
WorkspaceID: "0",
WorkspaceID: "0",
})
if err != nil {
log.Error("createNotebook2 failed: %v", err.Error())
@@ -342,6 +343,7 @@ func GenerateTrainJob(ctx *context.Context, req *GenerateTrainJobReq) (err error
RepoID: ctx.Repo.Repository.ID,
JobID: strconv.FormatInt(jobResult.JobID, 10),
JobName: req.JobName,
DisplayJobName: req.DisplayJobName,
JobType: string(models.JobTypeTrain),
Type: models.TypeCloudBrainTwo,
VersionID: jobResult.VersionID,


+ 15
- 0
modules/util/util.go View File

@@ -6,8 +6,10 @@ package util

import (
"bytes"
"math/rand"
"strconv"
"strings"
"time"
)

// OptionalBool a boolean that can be "null"
@@ -110,3 +112,16 @@ func AddZero(t int64) (m string) {
return strconv.FormatInt(t, 10)
}
}

func ConvertDisplayJobNameToJobName(DisplayName string) (JobName string) {
t := time.Now()
JobName = "openi" + strings.ToLower(cutNameString(DisplayName, 15)) + "t" + t.Format("2006010215") + strconv.Itoa(int(rand.New(rand.NewSource(time.Now().UnixNano())).Int31n(100000)))
return JobName
}

func cutNameString(str string, lens int) string {
if len(str) < lens {
return str
}
return str[:lens]
}

+ 8
- 5
routers/repo/modelarts.go View File

@@ -25,6 +25,7 @@ import (
"code.gitea.io/gitea/modules/obs"
"code.gitea.io/gitea/modules/setting"
"code.gitea.io/gitea/modules/storage"
"code.gitea.io/gitea/modules/util"
)

const (
@@ -516,8 +517,8 @@ func trainJobNewDataPrepare(ctx *context.Context) error {
//}

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)
if err != nil {
@@ -554,8 +555,8 @@ func trainJobNewDataPrepare(ctx *context.Context) error {
}
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
ctx.Data["params"] = ""
ctx.Data["branchName"] = ctx.Repo.BranchName

@@ -841,7 +842,8 @@ func versionErrorDataPrepare(ctx *context.Context, form auth.CreateModelArtsTrai
func TrainJobCreate(ctx *context.Context, form auth.CreateModelArtsTrainJobForm) {
ctx.Data["PageIsTrainJob"] = true
VersionOutputPath := modelarts.GetOutputPathByCount(modelarts.TotalVersionCount)
jobName := form.JobName
displayJobName := form.DisplayJobName
jobName := util.ConvertDisplayJobNameToJobName(displayJobName)
uuid := form.Attachment
description := form.Description
workServerNumber := form.WorkServerNumber
@@ -993,6 +995,7 @@ func TrainJobCreate(ctx *context.Context, form auth.CreateModelArtsTrainJobForm)

req := &modelarts.GenerateTrainJobReq{
JobName: jobName,
DisplayJobName: displayJobName,
DataUrl: dataPath,
Description: description,
CodeObsPath: codeObsPath,


+ 3
- 3
templates/repo/modelarts/trainjob/new.tmpl View File

@@ -80,7 +80,7 @@
<h4 class="unite title ui header ">{{.i18n.Tr "repo.modelarts.train_job.basic_info"}}:</h4>
<div class="required unite min_title inline field">
<label style="font-weight: normal;">{{.i18n.Tr "repo.modelarts.train_job.job_name"}}</label>
<input style="width: 60%;" name="job_name" id="trainjob_job_name" placeholder={{.i18n.Tr "repo.modelarts.train_job.job_name"}} value="{{.job_name}}" tabindex="3" onkeyup="this.value=this.value.replace(/[, ]/g,'')" autofocus required maxlength="64">
<input style="width: 60%;" name="display_job_name" id="job_name" placeholder={{.i18n.Tr "repo.modelarts.train_job.job_name"}} value="{{.display_job_name}}" tabindex="3" onkeyup="this.value=this.value.replace(/[, ]/g,'')" autofocus required maxlength="64">
<span class="tooltips" style="display: block;">请输入字母、数字、_和-,最长64个字符,且不能以中划线(-)结尾。</span>
</div>
@@ -391,8 +391,8 @@
}
]
},
job_name:{
identifier : 'job_name',
display_job_name:{
identifier : 'display_job_name',
rules: [
{
type: 'regExp[/^[a-zA-Z0-9-_]{1,64}[^-]$/]',


Loading…
Cancel
Save