|
|
|
@@ -26,7 +26,7 @@ const ( |
|
|
|
MODEL_NOT_LATEST = 0 |
|
|
|
) |
|
|
|
|
|
|
|
func saveModelByParameters(jobId string, versionName string, name string, version string, label string, description string, userId int64, userName string, userHeadUrl string) error { |
|
|
|
func saveModelByParameters(jobId string, versionName string, name string, version string, label string, description string, ctx *context.Context) error { |
|
|
|
aiTask, err := models.GetCloudbrainByJobIDAndVersionName(jobId, versionName) |
|
|
|
//aiTask, err := models.GetCloudbrainByJobID(jobId) |
|
|
|
if err != nil { |
|
|
|
@@ -45,6 +45,9 @@ func saveModelByParameters(jobId string, versionName string, name string, versio |
|
|
|
aimodels := models.QueryModelByName(name, aiTask.RepoID) |
|
|
|
if len(aimodels) > 0 { |
|
|
|
for _, model := range aimodels { |
|
|
|
if model.Version == version { |
|
|
|
return errors.New(ctx.Tr("repo.model.manage.create_error")) |
|
|
|
} |
|
|
|
if model.New == MODEL_LATEST { |
|
|
|
lastNewModelId = model.ID |
|
|
|
} |
|
|
|
@@ -82,9 +85,9 @@ func saveModelByParameters(jobId string, versionName string, name string, versio |
|
|
|
Size: modelSize, |
|
|
|
AttachmentId: aiTask.Uuid, |
|
|
|
RepoId: aiTask.RepoID, |
|
|
|
UserId: userId, |
|
|
|
UserName: userName, |
|
|
|
UserRelAvatarLink: userHeadUrl, |
|
|
|
UserId: ctx.User.ID, |
|
|
|
UserName: ctx.User.Name, |
|
|
|
UserRelAvatarLink: ctx.User.RelAvatarLink(), |
|
|
|
CodeBranch: aiTask.BranchName, |
|
|
|
CodeCommitID: aiTask.CommitID, |
|
|
|
Engine: aiTask.EngineID, |
|
|
|
@@ -125,7 +128,7 @@ func SaveModel(ctx *context.Context) { |
|
|
|
return |
|
|
|
} |
|
|
|
|
|
|
|
err := saveModelByParameters(JobId, VersionName, name, version, label, description, ctx.User.ID, ctx.User.Name, ctx.User.RelAvatarLink()) |
|
|
|
err := saveModelByParameters(JobId, VersionName, name, version, label, description, ctx) |
|
|
|
|
|
|
|
if err != nil { |
|
|
|
log.Info("save model error." + err.Error()) |
|
|
|
@@ -355,33 +358,12 @@ func ShowModelInfo(ctx *context.Context) { |
|
|
|
} |
|
|
|
|
|
|
|
func ShowSingleModel(ctx *context.Context) { |
|
|
|
id := ctx.Params(":ID") |
|
|
|
parentDir := ctx.Query("parentDir") |
|
|
|
log.Info("Show single ModelInfo start.id=" + id) |
|
|
|
task, err := models.QueryModelById(id) |
|
|
|
if err != nil { |
|
|
|
log.Error("no such model!", err.Error()) |
|
|
|
ctx.ServerError("no such model:", err) |
|
|
|
return |
|
|
|
} |
|
|
|
log.Info("bucket=" + setting.Bucket + " key=" + task.Path[len(setting.Bucket)+1:]) |
|
|
|
models, err := storage.GetOneLevelAllObjectUnderDir(setting.Bucket, task.Path[len(setting.Bucket)+1:], parentDir) |
|
|
|
if err != nil { |
|
|
|
log.Info("get model list failed:", err) |
|
|
|
ctx.ServerError("GetObsListObject:", err) |
|
|
|
return |
|
|
|
} else { |
|
|
|
log.Info("get model file,size=" + fmt.Sprint(len(models))) |
|
|
|
} |
|
|
|
name := ctx.Query("name") |
|
|
|
|
|
|
|
if err != nil { |
|
|
|
ctx.ServerError("QueryTrainJobList:", err) |
|
|
|
} else { |
|
|
|
mapInterface := make(map[string]interface{}) |
|
|
|
mapInterface["task"] = task |
|
|
|
mapInterface["models"] = models |
|
|
|
ctx.JSON(http.StatusOK, mapInterface) |
|
|
|
} |
|
|
|
log.Info("Show single ModelInfo start.name=" + name) |
|
|
|
models := models.QueryModelByName(name, ctx.Repo.Repository.ID) |
|
|
|
|
|
|
|
ctx.JSON(http.StatusOK, models) |
|
|
|
} |
|
|
|
|
|
|
|
func ShowOneVersionOtherModel(ctx *context.Context) { |
|
|
|
|