|
|
@@ -1,7 +1,6 @@ |
|
|
package grampus |
|
|
package grampus |
|
|
|
|
|
|
|
|
import ( |
|
|
import ( |
|
|
"encoding/json" |
|
|
|
|
|
"fmt" |
|
|
"fmt" |
|
|
"strings" |
|
|
"strings" |
|
|
|
|
|
|
|
|
@@ -40,7 +39,7 @@ var ( |
|
|
|
|
|
|
|
|
SpecialPools *models.SpecialPools |
|
|
SpecialPools *models.SpecialPools |
|
|
|
|
|
|
|
|
CommandPrepareScriptGpu = ";mkdir -p output;mkdir -p code;mkdir -p dataset;mkdir -p pretrainmodel;echo \"start loading script\";wget -q https://openi.pcl.ac.cn/OpenIOSSG/%s/archive/master.zip;" + |
|
|
|
|
|
|
|
|
CommandPrepareScriptGpu = ";mkdir -p output;mkdir -p code;mkdir -p dataset;mkdir -p pretrainmodel;echo \"start loading script\";wget -q https://git.openi.org.cn/OpenIOSSG/%s/archive/master.zip;" + |
|
|
"echo \"finish loading script\";unzip -q master.zip;cd %s;chmod 777 downloader_for_obs uploader_for_npu downloader_for_minio uploader_for_gpu;" |
|
|
"echo \"finish loading script\";unzip -q master.zip;cd %s;chmod 777 downloader_for_obs uploader_for_npu downloader_for_minio uploader_for_gpu;" |
|
|
) |
|
|
) |
|
|
|
|
|
|
|
|
@@ -85,22 +84,28 @@ type GenerateTrainJobReq struct { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
type GenerateNotebookJobReq struct { |
|
|
type GenerateNotebookJobReq struct { |
|
|
JobName string |
|
|
|
|
|
Command string |
|
|
|
|
|
ImageUrl string |
|
|
|
|
|
ImageId string |
|
|
|
|
|
DisplayJobName string |
|
|
|
|
|
Uuid string |
|
|
|
|
|
Description string |
|
|
|
|
|
CodeStoragePath string |
|
|
|
|
|
CommitID string |
|
|
|
|
|
BranchName string |
|
|
|
|
|
ComputeResource string |
|
|
|
|
|
ProcessType string |
|
|
|
|
|
DatasetNames string |
|
|
|
|
|
DatasetInfos map[string]models.DatasetInfo |
|
|
|
|
|
Spec *models.Specification |
|
|
|
|
|
CodeName string |
|
|
|
|
|
|
|
|
JobName string |
|
|
|
|
|
Command string |
|
|
|
|
|
ImageUrl string |
|
|
|
|
|
ImageId string |
|
|
|
|
|
DisplayJobName string |
|
|
|
|
|
Uuid string |
|
|
|
|
|
Description string |
|
|
|
|
|
CodeStoragePath string |
|
|
|
|
|
CommitID string |
|
|
|
|
|
BranchName string |
|
|
|
|
|
ComputeResource string |
|
|
|
|
|
ProcessType string |
|
|
|
|
|
DatasetNames string |
|
|
|
|
|
DatasetInfos map[string]models.DatasetInfo |
|
|
|
|
|
ModelName string |
|
|
|
|
|
LabelName string |
|
|
|
|
|
CkptName string |
|
|
|
|
|
ModelVersion string |
|
|
|
|
|
PreTrainModelPath string |
|
|
|
|
|
PreTrainModelUrl string |
|
|
|
|
|
Spec *models.Specification |
|
|
|
|
|
CodeName string |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
func getEndPoint() string { |
|
|
func getEndPoint() string { |
|
|
@@ -151,16 +156,37 @@ func GenerateNotebookJob(ctx *context.Context, req *GenerateNotebookJobReq) (job |
|
|
imageUrl := req.ImageUrl |
|
|
imageUrl := req.ImageUrl |
|
|
if ProcessorTypeNPU == req.ProcessType { |
|
|
if ProcessorTypeNPU == req.ProcessType { |
|
|
datasetGrampus = getDatasetGrampus(req.DatasetInfos) |
|
|
datasetGrampus = getDatasetGrampus(req.DatasetInfos) |
|
|
|
|
|
if len(req.ModelName) != 0 { |
|
|
|
|
|
datasetGrampus = append(datasetGrampus, models.GrampusDataset{ |
|
|
|
|
|
Name: req.ModelName, |
|
|
|
|
|
Bucket: setting.Bucket, |
|
|
|
|
|
EndPoint: getEndPoint(), |
|
|
|
|
|
ReadOnly: true, |
|
|
|
|
|
ObjectKey: req.PreTrainModelPath, |
|
|
|
|
|
}) |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
codeGrampus = models.GrampusDataset{ |
|
|
codeGrampus = models.GrampusDataset{ |
|
|
Name: req.CodeName, |
|
|
Name: req.CodeName, |
|
|
Bucket: setting.Bucket, |
|
|
Bucket: setting.Bucket, |
|
|
EndPoint: getEndPoint(), |
|
|
EndPoint: getEndPoint(), |
|
|
ObjectKey: req.CodeStoragePath + cloudbrain.DefaultBranchName + ".zip", |
|
|
ObjectKey: req.CodeStoragePath + cloudbrain.DefaultBranchName + ".zip", |
|
|
|
|
|
ReadOnly: false, |
|
|
} |
|
|
} |
|
|
imageUrl = "" |
|
|
imageUrl = "" |
|
|
req.Command = "" |
|
|
req.Command = "" |
|
|
} else { |
|
|
} else { |
|
|
datasetGrampus, cpCommand = getDatasetGPUGrampus(req.DatasetInfos) |
|
|
datasetGrampus, cpCommand = getDatasetGPUGrampus(req.DatasetInfos) |
|
|
|
|
|
if len(req.ModelName) != 0 { |
|
|
|
|
|
datasetGrampus = append(datasetGrampus, models.GrampusDataset{ |
|
|
|
|
|
Name: req.ModelName, |
|
|
|
|
|
Bucket: setting.Attachment.Minio.Bucket, |
|
|
|
|
|
EndPoint: setting.Attachment.Minio.Endpoint, |
|
|
|
|
|
ObjectKey: req.PreTrainModelPath, |
|
|
|
|
|
ReadOnly: true, |
|
|
|
|
|
ContainerPath: "/model", |
|
|
|
|
|
}) |
|
|
|
|
|
} |
|
|
codeGrampus = models.GrampusDataset{ |
|
|
codeGrampus = models.GrampusDataset{ |
|
|
Name: req.CodeName, |
|
|
Name: req.CodeName, |
|
|
Bucket: setting.Attachment.Minio.Bucket, |
|
|
Bucket: setting.Attachment.Minio.Bucket, |
|
|
@@ -218,6 +244,11 @@ func GenerateNotebookJob(ctx *context.Context, req *GenerateNotebookJobReq) (job |
|
|
CreatedUnix: createTime, |
|
|
CreatedUnix: createTime, |
|
|
UpdatedUnix: createTime, |
|
|
UpdatedUnix: createTime, |
|
|
Spec: req.Spec, |
|
|
Spec: req.Spec, |
|
|
|
|
|
ModelName: req.ModelName, |
|
|
|
|
|
ModelVersion: req.ModelVersion, |
|
|
|
|
|
LabelName: req.LabelName, |
|
|
|
|
|
PreTrainModelUrl: req.PreTrainModelUrl, |
|
|
|
|
|
CkptName: req.CkptName, |
|
|
}) |
|
|
}) |
|
|
|
|
|
|
|
|
if err != nil { |
|
|
if err != nil { |
|
|
@@ -406,11 +437,6 @@ func TransTrainJobStatus(status string) string { |
|
|
|
|
|
|
|
|
return strings.ToUpper(status) |
|
|
return strings.ToUpper(status) |
|
|
} |
|
|
} |
|
|
func InitSpecialPool() { |
|
|
|
|
|
if SpecialPools == nil && setting.Grampus.SpecialPools != "" { |
|
|
|
|
|
json.Unmarshal([]byte(setting.Grampus.SpecialPools), &SpecialPools) |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
func GetNpuModelRemoteObsUrl(jobName string) string { |
|
|
func GetNpuModelRemoteObsUrl(jobName string) string { |
|
|
return "s3:///" + BucketRemote + "/" + GetNpuModelObjectKey(jobName) |
|
|
return "s3:///" + BucketRemote + "/" + GetNpuModelObjectKey(jobName) |
|
|
|