Browse Source

fix-bug

tags/v1.22.6.2^2
liuzx 3 years ago
parent
commit
b71d92d1cf
2 changed files with 45 additions and 17 deletions
  1. +1
    -0
      modules/modelarts/modelarts.go
  2. +44
    -17
      routers/repo/modelarts.go

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

@@ -51,6 +51,7 @@ const (
Lines = 500
TrainUrl = "train_url"
DataUrl = "data_url"
DatasUrl = "datas_url"
ResultUrl = "result_url"
CkptUrl = "ckpt_url"
DeviceTarget = "device_target"


+ 44
- 17
routers/repo/modelarts.go View File

@@ -288,10 +288,16 @@ func NotebookShow(ctx *context.Context) {
datasetDownloadLink := ""
if ctx.IsSigned {
if task.Uuid != "" && task.UserID == ctx.User.ID {
attachment, err := models.GetAttachmentByUUID(task.Uuid)
uuidList := strings.Split(task.Uuid, ";")
for _, uuidStr := range uuidList {
attachment, err := models.GetAttachmentByUUID(uuidStr)
if err == nil {
datasetDownloadLink = datasetDownloadLink + attachment.S3DownloadURL() + ";"
}
}
datasetName, err := GetDatasetNameByUUID(task.Uuid)
if err == nil {
task.DatasetName = attachment.Name
datasetDownloadLink = attachment.S3DownloadURL()
task.DatasetName = datasetName
}
}
}
@@ -998,7 +1004,6 @@ func TrainJobCreate(ctx *context.Context, form auth.CreateModelArtsTrainJobForm)
ctx.RenderWithErr("GetDatasetNameByUUID error", tplModelArtsTrainJobNew, &form)
return
}
dataPath := GetObsDataPathByUUID(uuid)

count, err := models.GetCloudbrainTrainJobCountByUserID(ctx.User.ID)
if err != nil {
@@ -1109,6 +1114,14 @@ func TrainJobCreate(ctx *context.Context, form auth.CreateModelArtsTrainJobForm)
Value: modelarts.Ascend,
})
}
dataUrl, datasUrl, isMultiDataset := GetObsDataPathByUUID(uuid)
dataPath := dataUrl
if isMultiDataset {
param = append(param, models.Parameter{
Label: modelarts.DatasUrl,
Value: datasUrl,
})
}

//save param config
if isSaveParam == "on" {
@@ -1257,7 +1270,6 @@ func TrainJobCreateVersion(ctx *context.Context, form auth.CreateModelArtsTrainJ
ctx.RenderWithErr("GetDatasetNameByUUID error", tplModelArtsTrainJobVersionNew, &form)
return
}
dataPath := GetObsDataPathByUUID(uuid)

canNewJob, _ := canUserCreateTrainJobVersion(ctx, latestTask.UserID)
if !canNewJob {
@@ -1343,6 +1355,14 @@ func TrainJobCreateVersion(ctx *context.Context, form auth.CreateModelArtsTrainJ
Value: modelarts.Ascend,
})
}
dataUrl, datasUrl, isMultiDataset := GetObsDataPathByUUID(uuid)
dataPath := dataUrl
if isMultiDataset {
param = append(param, models.Parameter{
Label: modelarts.DatasUrl,
Value: datasUrl,
})
}

//save param config
if isSaveParam == "on" {
@@ -2451,20 +2471,27 @@ func TrainJobDownloadLogFile(ctx *context.Context) {
ctx.Resp.Header().Set("Cache-Control", "max-age=0")
http.Redirect(ctx.Resp, ctx.Req.Request, url, http.StatusMovedPermanently)
}
func GetObsDataPathByUUID(uuid string) string {
var obsDataPath string
uuidList := strings.Split(uuid, ";")
for k, _ := range uuidList {
if k <= 0 {
obsDataPath = "/" + setting.Bucket + "/" + setting.BasePath + path.Join(uuid[0:1], uuid[1:2]) + "/" + uuid + uuid + "/"
}
if k > 0 {
obsDataPathNext := ";" + "s3://" + setting.Bucket + "/" + setting.BasePath + path.Join(uuid[0:1], uuid[1:2]) + "/" + uuid + uuid + "/"
obsDataPath = obsDataPath + obsDataPathNext
func GetObsDataPathByUUID(uuidStr string) (string, string, bool) {
var dataUrl string
var datasUrl string
uuidList := strings.Split(uuidStr, ";")
if len(uuidList) <= 1 {
dataUrl = "/" + setting.Bucket + "/" + setting.BasePath + path.Join(uuidStr[0:1], uuidStr[1:2]) + "/" + uuidStr + uuidStr + "/"
datasUrl = "s3://" + setting.Bucket + "/" + setting.BasePath + path.Join(uuidStr[0:1], uuidStr[1:2]) + "/" + uuidStr + uuidStr + "/"
isMultiDataset := false
return dataUrl, datasUrl, isMultiDataset
} else {
for k, uuid := range uuidList {
if k > 0 {
datasUrlNext := ";" + "s3://" + setting.Bucket + "/" + setting.BasePath + path.Join(uuid[0:1], uuid[1:2]) + "/" + uuid + uuid + "/"
datasUrl = datasUrl + datasUrlNext
}
}

firstDataset := uuidList[0]
dataUrl = "/" + setting.Bucket + "/" + setting.BasePath + path.Join(firstDataset[0:1], firstDataset[1:2]) + "/" + firstDataset + firstDataset + "/"
isMultiDataset := true
return dataUrl, datasUrl, isMultiDataset
}
return obsDataPath
}
func GetDatasetNameByUUID(uuid string) (string, error) {
uuidList := strings.Split(uuid, ";")


Loading…
Cancel
Save