Browse Source

提交代码。

Signed-off-by: zouap <zouap@pcl.ac.cn>
tags/v1.22.7.1
zouap 4 years ago
parent
commit
90558a4c61
2 changed files with 48 additions and 2 deletions
  1. +33
    -0
      modules/storage/minio_ext.go
  2. +15
    -2
      routers/repo/ai_model_manage.go

+ 33
- 0
modules/storage/minio_ext.go View File

@@ -116,6 +116,39 @@ func GenMultiPartSignedUrl(uuid string, uploadId string, partNumber int, partSiz

}

func MinioPathCopy(bucketName string, srcPath string, destPath string) (int64, error) {
_, core, err := getClients()
var count int64
count = 0
if err != nil {
log.Error("getClients failed:", err.Error())
return count, err
}
delimiter := ""
marker := ""
for {
output, err := core.ListObjects(bucketName, srcPath, marker, delimiter, 1000)
if err == nil {
for _, val := range output.Contents {
srcObjectName := val.Key
destObjectName := destPath + srcObjectName[len(srcPath):]
log.Info("srcObjectName=" + srcObjectName + " destObjectName=" + destObjectName)
core.CopyObject(bucketName, srcObjectName, bucketName, destObjectName, val.UserMetadata)
count++
}
if output.IsTruncated {
marker = output.NextMarker
} else {
break
}
} else {
log.Info("list error." + err.Error())
return 0, err
}
}
return count, nil
}

func NewMultiPartUpload(uuid string) (string, error) {
_, core, err := getClients()
if err != nil {


+ 15
- 2
routers/repo/ai_model_manage.go View File

@@ -39,7 +39,6 @@ func saveModelByParameters(jobId string, versionName string, name string, versio
modelPath := id
var lastNewModelId string
var modelSize int64
cloudType := models.TypeCloudBrainTwo

log.Info("find task name:" + aiTask.JobName)
aimodels := models.QueryModelByName(name, aiTask.RepoID)
@@ -53,7 +52,7 @@ func saveModelByParameters(jobId string, versionName string, name string, versio
}
}
}
cloudType = aiTask.Type
cloudType := aiTask.Type
//download model zip //train type
if cloudType == models.TypeCloudBrainTwo {
modelPath, modelSize, err = downloadModelFromCloudBrainTwo(id, aiTask.JobName, "", aiTask.TrainUrl)
@@ -61,6 +60,8 @@ func saveModelByParameters(jobId string, versionName string, name string, versio
log.Info("download model from CloudBrainTwo faild." + err.Error())
return err
}
} else if cloudType == models.TypeCloudBrainOne {

}
accuracy := make(map[string]string)
accuracy["F1"] = ""
@@ -199,6 +200,18 @@ func downloadModelFromCloudBrainTwo(modelUUID string, jobName string, parentDir
return dataActualPath, size, nil
}

func downloadModelFromCloudBrainOne(modelUUID string, jobName string, parentDir string, trainUrl string) (string, int64, error) {
modelActualPath := storage.GetMinioPath(jobName, "/model/")
destKeyNamePrefix := Model_prefix + models.AttachmentRelativePath(modelUUID) + "/"
size, err := storage.MinioPathCopy(setting.Bucket, modelActualPath, destKeyNamePrefix)
if err == nil {
dataActualPath := setting.Bucket + "/" + destKeyNamePrefix
return dataActualPath, size, nil
} else {
return "", 0, nil
}
}

func DeleteModel(ctx *context.Context) {
log.Info("delete model start.")
id := ctx.Query("ID")


Loading…
Cancel
Save