brainscore
into V20211101
2 years ago
@@ -27,6 +27,7 @@ const ( | |||||
JobTypeDebug JobType = "DEBUG" | JobTypeDebug JobType = "DEBUG" | ||||
JobTypeBenchmark JobType = "BENCHMARK" | JobTypeBenchmark JobType = "BENCHMARK" | ||||
JobTypeSnn4imagenet JobType = "SNN4IMAGENET" | JobTypeSnn4imagenet JobType = "SNN4IMAGENET" | ||||
JobTypeBrainScore JobType = "BRAINSCORE" | |||||
ModelArtsCreateQueue ModelArtsJobStatus = "CREATE_QUEUING" //免费资源创建排队中 | ModelArtsCreateQueue ModelArtsJobStatus = "CREATE_QUEUING" //免费资源创建排队中 | ||||
ModelArtsCreating ModelArtsJobStatus = "CREATING" //创建中 | ModelArtsCreating ModelArtsJobStatus = "CREATING" //创建中 | ||||
@@ -16,6 +16,7 @@ const ( | |||||
ModelMountPath = "/model" | ModelMountPath = "/model" | ||||
BenchMarkMountPath = "/benchmark" | BenchMarkMountPath = "/benchmark" | ||||
Snn4imagenetMountPath = "/snn4imagenet" | Snn4imagenetMountPath = "/snn4imagenet" | ||||
BrainScoreMountPath = "/brainscore" | |||||
TaskInfoName = "/taskInfo" | TaskInfoName = "/taskInfo" | ||||
SubTaskName = "task1" | SubTaskName = "task1" | ||||
@@ -457,6 +457,11 @@ var ( | |||||
Snn4imagenetCode string | Snn4imagenetCode string | ||||
Snn4imagenetServerHost string | Snn4imagenetServerHost string | ||||
//snn4imagenet config | |||||
IsBrainScoreEnabled bool | |||||
BrainScoreCode string | |||||
BrainScoreServerHost string | |||||
//blockchain config | //blockchain config | ||||
BlockChainHost string | BlockChainHost string | ||||
CommitValidDate string | CommitValidDate string | ||||
@@ -1181,8 +1186,13 @@ func NewContext() { | |||||
sec = Cfg.Section("snn4imagenet") | sec = Cfg.Section("snn4imagenet") | ||||
IsSnn4imagenetEnabled = sec.Key("ENABLED").MustBool(false) | IsSnn4imagenetEnabled = sec.Key("ENABLED").MustBool(false) | ||||
Snn4imagenetCode = sec.Key("SNN4IMAGENETCODE").MustString("https://yangzhx:justfortest123@git.openi.org.cn/yangzhx/detection_benchmark_script.git") | |||||
Snn4imagenetServerHost = sec.Key("HOST").MustString("http://192.168.202.90:3366/") | |||||
Snn4imagenetCode = sec.Key("SNN4IMAGENETCODE").MustString("https://yult:19910821ylt@git.openi.org.cn/yult/snn4imagenet_script.git") | |||||
Snn4imagenetServerHost = sec.Key("HOST").MustString("http://192.168.207.76:8080/") | |||||
sec = Cfg.Section("brainscore") | |||||
IsBrainScoreEnabled = sec.Key("ENABLED").MustBool(false) | |||||
BrainScoreCode = sec.Key("BRAINSCORECODE").MustString("https://yult:19910821ylt@git.openi.org.cn/yult/brainscore_script.git") | |||||
BrainScoreServerHost = sec.Key("HOST").MustString("http://192.168.207.76:8080/") | |||||
sec = Cfg.Section("blockchain") | sec = Cfg.Section("blockchain") | ||||
BlockChainHost = sec.Key("HOST").MustString("http://192.168.136.66:3302/") | BlockChainHost = sec.Key("HOST").MustString("http://192.168.136.66:3302/") | ||||
@@ -175,6 +175,9 @@ func cloudBrainNewDataPrepare(ctx *context.Context) error{ | |||||
ctx.Data["snn4imagenet_path"] = cloudbrain.Snn4imagenetMountPath | ctx.Data["snn4imagenet_path"] = cloudbrain.Snn4imagenetMountPath | ||||
ctx.Data["is_snn4imagenet_enabled"] = setting.IsSnn4imagenetEnabled | ctx.Data["is_snn4imagenet_enabled"] = setting.IsSnn4imagenetEnabled | ||||
ctx.Data["brainscore_path"] = cloudbrain.BrainScoreMountPath | |||||
ctx.Data["is_brainscore_enabled"] = setting.IsBrainScoreEnabled | |||||
return nil | return nil | ||||
} | } | ||||
@@ -198,7 +201,7 @@ func CloudBrainCreate(ctx *context.Context, form auth.CreateCloudBrainForm) { | |||||
codePath := setting.JobPath + jobName + cloudbrain.CodeMountPath | codePath := setting.JobPath + jobName + cloudbrain.CodeMountPath | ||||
resourceSpecId := form.ResourceSpecId | resourceSpecId := form.ResourceSpecId | ||||
if jobType != string(models.JobTypeBenchmark) && jobType != string(models.JobTypeDebug) && jobType != string(models.JobTypeSnn4imagenet) { | |||||
if jobType != string(models.JobTypeBenchmark) && jobType != string(models.JobTypeDebug) && jobType != string(models.JobTypeSnn4imagenet) && jobType != string(models.JobTypeBrainScore) { | |||||
log.Error("jobtype error:", jobType, ctx.Data["MsgID"]) | log.Error("jobtype error:", jobType, ctx.Data["MsgID"]) | ||||
cloudBrainNewDataPrepare(ctx) | cloudBrainNewDataPrepare(ctx) | ||||
ctx.RenderWithErr("jobtype error", tplCloudBrainNew, &form) | ctx.RenderWithErr("jobtype error", tplCloudBrainNew, &form) | ||||
@@ -247,6 +250,11 @@ func CloudBrainCreate(ctx *context.Context, form auth.CreateCloudBrainForm) { | |||||
downloadRateCode(repo, jobName, setting.Snn4imagenetCode, snn4imagenetPath, "", "") | downloadRateCode(repo, jobName, setting.Snn4imagenetCode, snn4imagenetPath, "", "") | ||||
} | } | ||||
brainScorePath := setting.JobPath + jobName + cloudbrain.BrainScoreMountPath | |||||
if setting.IsBrainScoreEnabled && jobType == string(models.JobTypeBrainScore) { | |||||
downloadRateCode(repo, jobName, setting.BrainScoreCode, brainScorePath, "", "") | |||||
} | |||||
err = cloudbrain.GenerateTask(ctx, jobName, image, command, uuid, codePath, modelPath, benchmarkPath, snn4imagenetPath, jobType, gpuQueue, resourceSpecId) | err = cloudbrain.GenerateTask(ctx, jobName, image, command, uuid, codePath, modelPath, benchmarkPath, snn4imagenetPath, jobType, gpuQueue, resourceSpecId) | ||||
if err != nil { | if err != nil { | ||||
cloudBrainNewDataPrepare(ctx) | cloudBrainNewDataPrepare(ctx) | ||||
@@ -568,6 +576,8 @@ func GetRate(ctx *context.Context) { | |||||
ctx.Redirect(setting.BenchmarkServerHost + "?username=" + ctx.User.Name) | ctx.Redirect(setting.BenchmarkServerHost + "?username=" + ctx.User.Name) | ||||
} else if job.JobType == string(models.JobTypeSnn4imagenet) { | } else if job.JobType == string(models.JobTypeSnn4imagenet) { | ||||
ctx.Redirect(setting.Snn4imagenetServerHost) | ctx.Redirect(setting.Snn4imagenetServerHost) | ||||
} else if job.JobType == string(models.JobTypeBrainScore) { | |||||
ctx.Redirect(setting.BrainScoreServerHost) | |||||
} else { | } else { | ||||
log.Error("JobType error:%s", job.JobType, ctx.Data["msgID"]) | log.Error("JobType error:%s", job.JobType, ctx.Data["msgID"]) | ||||
} | } | ||||
@@ -89,6 +89,10 @@ | |||||
display: none; | display: none; | ||||
} | } | ||||
.inline.required.field.cloudbrain_brainscore { | |||||
display: none; | |||||
} | |||||
.select2-container .select2-selection--single{ | .select2-container .select2-selection--single{ | ||||
height:38px !important; | height:38px !important; | ||||
} | } | ||||
@@ -130,12 +134,13 @@ | |||||
<input name="job_name" id="cloudbrain_job_name" placeholder="任务名称" value="{{.job_name}}" tabindex="3" autofocus required maxlength="255"> | <input name="job_name" id="cloudbrain_job_name" placeholder="任务名称" value="{{.job_name}}" tabindex="3" autofocus required maxlength="255"> | ||||
</div> | </div> | ||||
<div class="inline required field" style="{{if .is_benchmark_enabled}}display:block;{{else if .is_snn4imagenet_enabled}}display:block;{{else}}display:none;{{end}}"> | |||||
<div class="inline required field" style="{{if ((.is_benchmark_enabled) or (.is_snn4imagenet_enabled) or (.is_brainscore_enabled))}}display:block;{{else}}display:none;{{end}}"> | |||||
<label>任务类型</label> | <label>任务类型</label> | ||||
<select id="cloudbrain_job_type" class="ui search dropdown" placeholder="选择任务类型" style='width:385px' name="job_type"> | <select id="cloudbrain_job_type" class="ui search dropdown" placeholder="选择任务类型" style='width:385px' name="job_type"> | ||||
<option name="job_type" value="DEBUG">DEBUG</option> | <option name="job_type" value="DEBUG">DEBUG</option> | ||||
<option name="job_type" value="BENCHMARK">BENCHMARK</option> | <option name="job_type" value="BENCHMARK">BENCHMARK</option> | ||||
<option name="job_type" value="SNN4IMAGENET">SNN4IMAGENET</option> | <option name="job_type" value="SNN4IMAGENET">SNN4IMAGENET</option> | ||||
<option name="job_type" value="BRAINSCORE">BRAINSCORE</option> | |||||
</select> | </select> | ||||
</div> | </div> | ||||
@@ -215,6 +220,10 @@ | |||||
<label>snn4imagenet脚本存放路径</label> | <label>snn4imagenet脚本存放路径</label> | ||||
<input name="snn4imagenet_path" id="cloudbrain_snn4imagenet_path" value="{{.snn4imagenet_path}}" tabindex="3" autofocus required maxlength="255" readonly="readonly"> | <input name="snn4imagenet_path" id="cloudbrain_snn4imagenet_path" value="{{.snn4imagenet_path}}" tabindex="3" autofocus required maxlength="255" readonly="readonly"> | ||||
</div> | </div> | ||||
<div class="inline required field cloudbrain_brainscore"> | |||||
<label>brainscore脚本存放路径</label> | |||||
<input name="brainscore_path" id="cloudbrain_brainscore_path" value="{{.brainscore_path}}" tabindex="3" autofocus required maxlength="255" readonly="readonly"> | |||||
</div> | |||||
<div class="inline required field" hidden> | <div class="inline required field" hidden> | ||||
<label>启动命令</label> | <label>启动命令</label> | ||||
<textarea name="command" rows="10" readonly="readonly">{{.command}}</textarea> | <textarea name="command" rows="10" readonly="readonly">{{.command}}</textarea> | ||||
@@ -311,9 +320,12 @@ | |||||
$(".cloudbrain_benchmark").show(); | $(".cloudbrain_benchmark").show(); | ||||
} else if ($(this).val() == 'SNN4IMAGENET') { | } else if ($(this).val() == 'SNN4IMAGENET') { | ||||
$(".cloudbrain_snn4imagenet").show(); | $(".cloudbrain_snn4imagenet").show(); | ||||
} else if ($(this).val() == 'BRAINSCORE') { | |||||
$(".cloudbrain_brainscore").show(); | |||||
} else { | } else { | ||||
$(".cloudbrain_benchmark").hide(); | $(".cloudbrain_benchmark").hide(); | ||||
$(".cloudbrain_snn4imagenet").hide(); | $(".cloudbrain_snn4imagenet").hide(); | ||||
$(".cloudbrain_brainscore").hide(); | |||||
} | } | ||||
}) | }) | ||||
}) | }) | ||||
Dear OpenI User
Thank you for your continuous support to the Openl Qizhi Community AI Collaboration Platform. In order to protect your usage rights and ensure network security, we updated the Openl Qizhi Community AI Collaboration Platform Usage Agreement in January 2024. The updated agreement specifies that users are prohibited from using intranet penetration tools. After you click "Agree and continue", you can continue to use our services. Thank you for your cooperation and understanding.
For more agreement content, please refer to the《Openl Qizhi Community AI Collaboration Platform Usage Agreement》