Browse Source

Merge branch 'liuzx_trainjob' of https://git.openi.org.cn/OpenI/aiforge into liuzx_trainjob

pull/1071/head
zhoupzh 3 years ago
parent
commit
10d5688ff0
3 changed files with 65 additions and 2 deletions
  1. +5
    -2
      modules/modelarts/modelarts.go
  2. +56
    -0
      routers/repo/modelarts.go
  3. +4
    -0
      routers/routes/routes.go

+ 5
- 2
modules/modelarts/modelarts.go View File

@@ -49,6 +49,9 @@ const (
IsLatestVersion = "1" IsLatestVersion = "1"
NotLatestVersion = "0" NotLatestVersion = "0"
ComputeResource = "NPU" ComputeResource = "NPU"
NPUResource = "NPU"
GPUResource = "CPU/GPU"
DebugType = -1
VersionCount = 1 VersionCount = 1


SortByCreateTime = "create_time" SortByCreateTime = "create_time"
@@ -273,7 +276,7 @@ func GenerateTrainJob(ctx *context.Context, req *GenerateTrainJobReq) (err error
DatasetName: attach.Name, DatasetName: attach.Name,
CommitID: req.CommitID, CommitID: req.CommitID,
IsLatestVersion: req.IsLatestVersion, IsLatestVersion: req.IsLatestVersion,
ComputeResource: ComputeResource,
ComputeResource: NPUResource,
EngineID: req.EngineID, EngineID: req.EngineID,
TrainUrl: req.TrainUrl, TrainUrl: req.TrainUrl,
BranchName: req.BranchName, BranchName: req.BranchName,
@@ -356,7 +359,7 @@ func GenerateTrainJobVersion(ctx *context.Context, req *GenerateTrainJobReq, job
CommitID: req.CommitID, CommitID: req.CommitID,
IsLatestVersion: req.IsLatestVersion, IsLatestVersion: req.IsLatestVersion,
PreVersionName: req.PreVersionName, PreVersionName: req.PreVersionName,
ComputeResource: ComputeResource,
ComputeResource: NPUResource,
EngineID: req.EngineID, EngineID: req.EngineID,
TrainUrl: req.TrainUrl, TrainUrl: req.TrainUrl,
BranchName: req.BranchName, BranchName: req.BranchName,


+ 56
- 0
routers/repo/modelarts.go View File

@@ -26,6 +26,8 @@ import (
) )


const ( const (
tplDebugJobIndex base.TplName = "repo/debugjob/index"

tplModelArtsNotebookIndex base.TplName = "repo/modelarts/notebook/index" tplModelArtsNotebookIndex base.TplName = "repo/modelarts/notebook/index"
tplModelArtsNotebookNew base.TplName = "repo/modelarts/notebook/new" tplModelArtsNotebookNew base.TplName = "repo/modelarts/notebook/new"
tplModelArtsNotebookShow base.TplName = "repo/modelarts/notebook/show" tplModelArtsNotebookShow base.TplName = "repo/modelarts/notebook/show"
@@ -36,6 +38,60 @@ const (
tplModelArtsTrainJobVersionNew base.TplName = "repo/modelarts/trainjob/version_new" tplModelArtsTrainJobVersionNew base.TplName = "repo/modelarts/trainjob/version_new"
) )


func DebugJobIndex(ctx *context.Context) {
MustEnableCloudbrain(ctx)
repo := ctx.Repo.Repository
page := ctx.QueryInt("page")
if page <= 0 {
page = 1
}

ciTasks, count, err := models.Cloudbrains(&models.CloudbrainsOptions{
ListOptions: models.ListOptions{
Page: page,
PageSize: setting.UI.IssuePagingNum,
},
RepoID: repo.ID,
Type: modelarts.DebugType,
JobType: string(models.JobTypeDebug),
})
if err != nil {
ctx.ServerError("Get debugjob faild:", err)
return
}

timestamp := time.Now().Unix()

for i, task := range ciTasks {
if task.Cloudbrain.Type == models.TypeCloudBrainOne {
if task.Status == string(models.JobRunning) && (timestamp-int64(task.Cloudbrain.CreatedUnix) > 10) {
ciTasks[i].CanDebug = true
} else {
ciTasks[i].CanDebug = false
}
ciTasks[i].CanDel = models.CanDelJob(ctx.IsSigned, ctx.User, task)
ciTasks[i].Cloudbrain.ComputeResource = modelarts.GPUResource
}
if task.Cloudbrain.Type == models.TypeCloudBrainTwo {
if task.Status == string(models.JobRunning) {
ciTasks[i].CanDebug = true
} else {
ciTasks[i].CanDebug = false
}
ciTasks[i].Cloudbrain.ComputeResource = modelarts.NPUResource
}

}

pager := context.NewPagination(int(count), setting.UI.IssuePagingNum, page, 5)
pager.SetDefaultParams(ctx)
ctx.Data["Page"] = pager

ctx.Data["PageIsCloudBrain"] = true
ctx.Data["Tasks"] = ciTasks
ctx.HTML(200, tplDebugJobIndex)
}

// MustEnableDataset check if repository enable internal cb // MustEnableDataset check if repository enable internal cb
func MustEnableModelArts(ctx *context.Context) { func MustEnableModelArts(ctx *context.Context) {
if !ctx.Repo.CanRead(models.UnitTypeCloudBrain) { if !ctx.Repo.CanRead(models.UnitTypeCloudBrain) {


+ 4
- 0
routers/routes/routes.go View File

@@ -969,6 +969,10 @@ func RegisterRoutes(m *macaron.Macaron) {
m.Post("/create", reqRepoCloudBrainWriter, bindIgnErr(auth.CreateCloudBrainForm{}), repo.CloudBrainCreate) m.Post("/create", reqRepoCloudBrainWriter, bindIgnErr(auth.CreateCloudBrainForm{}), repo.CloudBrainCreate)
}, context.RepoRef()) }, context.RepoRef())


m.Group("/debugjob", func() {
m.Get("", reqRepoCloudBrainReader, repo.DebugJobIndex)
}, context.RepoRef())

m.Group("/modelarts", func() { m.Group("/modelarts", func() {
m.Group("/notebook", func() { m.Group("/notebook", func() {
m.Get("", reqRepoCloudBrainReader, repo.NotebookIndex) m.Get("", reqRepoCloudBrainReader, repo.NotebookIndex)


Loading…
Cancel
Save