Browse Source

fix-isuue

tags/v1.22.6.2^2
liuzx 3 years ago
parent
commit
e453bc9117
2 changed files with 52 additions and 7 deletions
  1. +4
    -0
      models/cloudbrain.go
  2. +48
    -7
      routers/repo/modelarts.go

+ 4
- 0
models/cloudbrain.go View File

@@ -989,6 +989,10 @@ type Parameter struct {
type Parameters struct {
Parameter []Parameter `json:"parameter"`
}
type Datasurl struct {
DatasetUrl string `json:"dataset_url"`
DatasetName string `json:"dataset_name"`
}

type DataSource struct {
DatasetID string `json:"dataset_id"`


+ 48
- 7
routers/repo/modelarts.go View File

@@ -1097,12 +1097,22 @@ func TrainJobCreate(ctx *context.Context, form auth.CreateModelArtsTrainJobForm)
Value: modelarts.Ascend,
})
}
dataUrl, datasUrl, isMultiDataset := GetObsDataPathByUUID(uuid)
datasetNameHead, dataUrl, datasUrl, isMultiDataset := GetObsDataPathByUUID(datasetName, uuid)
dataPath := dataUrl
var datas models.Datasurl
datas.DatasetUrl = datasUrl
datas.DatasetName = datasetNameHead
jsondatas, err := json.Marshal(datas)
if err != nil {
log.Error("Failed to Marshal: %v", err)
trainJobErrorNewDataPrepare(ctx, form)
ctx.RenderWithErr("json化参数失败:"+err.Error(), tplModelArtsTrainJobNew, &form)
return
}
if isMultiDataset {
param = append(param, models.Parameter{
Label: modelarts.DatasUrl,
Value: datasUrl,
Value: string(jsondatas),
})
}

@@ -1338,12 +1348,22 @@ func TrainJobCreateVersion(ctx *context.Context, form auth.CreateModelArtsTrainJ
Value: modelarts.Ascend,
})
}
dataUrl, datasUrl, isMultiDataset := GetObsDataPathByUUID(uuid)
datasetNameHead, dataUrl, datasUrl, isMultiDataset := GetObsDataPathByUUID(datasetName, uuid)
dataPath := dataUrl
var datas models.Datasurl
datas.DatasetUrl = datasUrl
datas.DatasetName = datasetNameHead
jsondatas, err := json.Marshal(datas)
if err != nil {
log.Error("Failed to Marshal: %v", err)
versionErrorDataPrepare(ctx, form)
ctx.RenderWithErr("json化参数失败:"+err.Error(), tplModelArtsTrainJobVersionNew, &form)
return
}
if isMultiDataset {
param = append(param, models.Parameter{
Label: modelarts.DatasUrl,
Value: datasUrl,
Value: string(jsondatas),
})
}

@@ -2465,17 +2485,38 @@ 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(uuidStr string) (string, string, bool) {
func GetObsDataPathByUUID(datasetName string, uuidStr string) (string, string, string, bool) {
var dataUrl string
var datasUrl string
var datasetNameHead string
uuidList := strings.Split(uuidStr, ";")
datasetNameList := strings.Split(datasetName, ";")
for k, datasetName := range datasetNameList {
index := strings.LastIndex(datasetName, ".")
if index <= 0 {
index = 0
}
if k == 0 {
datasetHead := datasetName[:index]
datasetNameHead = datasetNameHead + datasetHead
} else if k > 0 && datasetName != "" {
datasetHead := ";" + datasetName[:index]
datasetNameHead = datasetNameHead + datasetHead
}

}

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
return datasetNameHead, 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
}
if k > 0 {
datasUrlNext := ";" + "s3://" + setting.Bucket + "/" + setting.BasePath + path.Join(uuid[0:1], uuid[1:2]) + "/" + uuid + uuid + "/"
datasUrl = datasUrl + datasUrlNext
@@ -2484,7 +2525,7 @@ func GetObsDataPathByUUID(uuidStr string) (string, string, bool) {
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 datasetNameHead, dataUrl, datasUrl, isMultiDataset
}
}
func GetDatasetNameByUUID(uuid string) (string, error) {


Loading…
Cancel
Save