@@ -10,6 +10,7 @@ import ( | |||||
"strings" | "strings" | ||||
"code.gitea.io/gitea/modules/log" | "code.gitea.io/gitea/modules/log" | ||||
"code.gitea.io/gitea/modules/setting" | |||||
"github.com/go-resty/resty/v2" | "github.com/go-resty/resty/v2" | ||||
) | ) | ||||
@@ -71,8 +72,8 @@ func checkSetting() { | |||||
} | } | ||||
func loginCloudbrain() error { | func loginCloudbrain() error { | ||||
HOST = "http://221.122.70.196:8081/atp-api" | |||||
KEY = "1" | |||||
HOST = setting.ModelSafetyTest.HOST | |||||
KEY = setting.ModelSafetyTest.KEY | |||||
return nil | return nil | ||||
} | } | ||||
@@ -597,6 +597,7 @@ var ( | |||||
}{} | }{} | ||||
C2NetInfos *C2NetSqInfos | C2NetInfos *C2NetSqInfos | ||||
C2NetMapInfo map[string]*C2NetSequenceInfo | |||||
//elk config | //elk config | ||||
ElkUrl string | ElkUrl string | ||||
@@ -725,6 +726,9 @@ var ( | |||||
GPUBaseDataSetUUID string | GPUBaseDataSetUUID string | ||||
GPUCombatDataSetName string | GPUCombatDataSetName string | ||||
GPUCombatDataSetUUID string | GPUCombatDataSetUUID string | ||||
HOST string | |||||
KEY string | |||||
}{} | }{} | ||||
ModelApp = struct { | ModelApp = struct { | ||||
@@ -1572,6 +1576,8 @@ func getModelSafetyConfig() { | |||||
ModelSafetyTest.NPUBaseDataSetUUID = sec.Key("NPUBaseDataSetUUID").MustString("") | ModelSafetyTest.NPUBaseDataSetUUID = sec.Key("NPUBaseDataSetUUID").MustString("") | ||||
ModelSafetyTest.NPUCombatDataSetName = sec.Key("NPUCombatDataSetName").MustString("") | ModelSafetyTest.NPUCombatDataSetName = sec.Key("NPUCombatDataSetName").MustString("") | ||||
ModelSafetyTest.NPUCombatDataSetUUID = sec.Key("NPUCombatDataSetUUID").MustString("") | ModelSafetyTest.NPUCombatDataSetUUID = sec.Key("NPUCombatDataSetUUID").MustString("") | ||||
ModelSafetyTest.HOST = sec.Key("HOST").MustString("") | |||||
ModelSafetyTest.KEY = sec.Key("KEY").MustString("") | |||||
} | } | ||||
func getModelConvertConfig() { | func getModelConvertConfig() { | ||||
@@ -1627,6 +1633,10 @@ func getGrampusConfig() { | |||||
if err := json.Unmarshal([]byte(Grampus.C2NetSequence), &C2NetInfos); err != nil { | if err := json.Unmarshal([]byte(Grampus.C2NetSequence), &C2NetInfos); err != nil { | ||||
log.Error("Unmarshal(C2NetSequence) failed:%v", err) | log.Error("Unmarshal(C2NetSequence) failed:%v", err) | ||||
} | } | ||||
C2NetMapInfo=make(map[string]*C2NetSequenceInfo) | |||||
for _,value :=range C2NetInfos.C2NetSqInfo{ | |||||
C2NetMapInfo[value.Name]=value | |||||
} | |||||
} | } | ||||
Grampus.SyncScriptProject = sec.Key("SYNC_SCRIPT_PROJECT").MustString("script_for_grampus") | Grampus.SyncScriptProject = sec.Key("SYNC_SCRIPT_PROJECT").MustString("script_for_grampus") | ||||
@@ -266,7 +266,7 @@ page_dev_yunlao_desc4=Developers can freely select the corresponding computing r | |||||
page_dev_yunlao_desc5=If your model requires more computing resources, you can also apply for it separately. | page_dev_yunlao_desc5=If your model requires more computing resources, you can also apply for it separately. | ||||
page_dev_yunlao_apply=Apply Separately | page_dev_yunlao_apply=Apply Separately | ||||
c2net_title=China Computing Network | c2net_title=China Computing Network | ||||
c2net_desc=The artificial intelligence computing power network promotion alliance has access to 11 intelligent computing centers, with a total scale of 1924p. | |||||
c2net_desc=Extensive access to intelligent computing centers and supercomputing centers across the country to provide users with free computing resources. | |||||
c2net_center=Center | c2net_center=Center | ||||
search=Search | search=Search | ||||
search_repo=Repository | search_repo=Repository | ||||
@@ -267,8 +267,8 @@ page_dev_yunlao_desc3=中国算力网(C²NET)一期可实现不同人工智 | |||||
page_dev_yunlao_desc4=开发者可以根据使用需求,自由选择相应计算资源,可以测试模型在不同硬件环境下的适配能力、性能、稳定性等。 | page_dev_yunlao_desc4=开发者可以根据使用需求,自由选择相应计算资源,可以测试模型在不同硬件环境下的适配能力、性能、稳定性等。 | ||||
page_dev_yunlao_desc5=如果您的模型需要更多的计算资源,也可以单独申请。 | page_dev_yunlao_desc5=如果您的模型需要更多的计算资源,也可以单独申请。 | ||||
page_dev_yunlao_apply=单独申请 | page_dev_yunlao_apply=单独申请 | ||||
c2net_title=智算网络 | |||||
c2net_desc=人工智能算力网络推进联盟已接入11家智算中心,算力总规模1924P | |||||
c2net_title=中国算力网 | |||||
c2net_desc=广泛接入全国各地智算中心、超算中心,为用户提供免费算力资源 | |||||
c2net_center=中心 | c2net_center=中心 | ||||
search=搜索 | search=搜索 | ||||
search_repo=项目 | search_repo=项目 | ||||
@@ -17,6 +17,7 @@ import ( | |||||
"code.gitea.io/gitea/modules/notification" | "code.gitea.io/gitea/modules/notification" | ||||
"code.gitea.io/gitea/modules/setting" | "code.gitea.io/gitea/modules/setting" | ||||
"code.gitea.io/gitea/modules/storage" | "code.gitea.io/gitea/modules/storage" | ||||
"code.gitea.io/gitea/services/cloudbrain/resource" | |||||
uuid "github.com/satori/go.uuid" | uuid "github.com/satori/go.uuid" | ||||
) | ) | ||||
@@ -69,13 +70,10 @@ func saveModelByParameters(jobId string, versionName string, name string, versio | |||||
cloudType = models.TypeCloudBrainTwo | cloudType = models.TypeCloudBrainTwo | ||||
} else if aiTask.ComputeResource == models.GPUResource { | } else if aiTask.ComputeResource == models.GPUResource { | ||||
cloudType = models.TypeCloudBrainOne | cloudType = models.TypeCloudBrainOne | ||||
var ResourceSpecs *models.ResourceSpecs | |||||
json.Unmarshal([]byte(setting.ResourceSpecs), &ResourceSpecs) | |||||
for _, tmp := range ResourceSpecs.ResourceSpec { | |||||
if tmp.Id == aiTask.ResourceSpecId { | |||||
flaverName := ctx.Tr("cloudbrain.gpu_num") + ": " + fmt.Sprint(tmp.GpuNum) + " " + ctx.Tr("cloudbrain.cpu_num") + ": " + fmt.Sprint(tmp.CpuNum) + " " + ctx.Tr("cloudbrain.memory") + "(MB): " + fmt.Sprint(tmp.MemMiB) + " " + ctx.Tr("cloudbrain.shared_memory") + "(MB): " + fmt.Sprint(tmp.ShareMemMiB) | |||||
aiTask.FlavorName = flaverName | |||||
} | |||||
spec, err := resource.GetCloudbrainSpec(aiTask.ID) | |||||
if err == nil { | |||||
flaverName := "GPU: " + fmt.Sprint(spec.AccCardsNum) + "*" + spec.AccCardType + ",CPU: " + fmt.Sprint(spec.CpuCores) + "," + ctx.Tr("cloudbrain.memory") + ": " + fmt.Sprint(spec.MemGiB) + "GB," + ctx.Tr("cloudbrain.shared_memory") + ": " + fmt.Sprint(spec.ShareMemGiB) + "GB" | |||||
aiTask.FlavorName = flaverName | |||||
} | } | ||||
} | } | ||||
@@ -26,7 +26,6 @@ import ( | |||||
"code.gitea.io/gitea/modules/util" | "code.gitea.io/gitea/modules/util" | ||||
"code.gitea.io/gitea/services/cloudbrain/resource" | "code.gitea.io/gitea/services/cloudbrain/resource" | ||||
"code.gitea.io/gitea/services/reward/point/account" | "code.gitea.io/gitea/services/reward/point/account" | ||||
uuid "github.com/satori/go.uuid" | |||||
) | ) | ||||
const ( | const ( | ||||
@@ -37,39 +36,6 @@ const ( | |||||
tplModelSafetyTestShow = "repo/modelsafety/show" | tplModelSafetyTestShow = "repo/modelsafety/show" | ||||
) | ) | ||||
func CloudBrainAiSafetyCreateTest(ctx *context.Context) { | |||||
log.Info("start to create CloudBrainAiSafetyCreate") | |||||
uuid := uuid.NewV4() | |||||
id := uuid.String() | |||||
seriaNoParas := ctx.Query("serialNo") | |||||
fileName := ctx.Query("fileName") | |||||
//if jobType == string(models.JobTypeBenchmark) { | |||||
req := aisafety.TaskReq{ | |||||
UnionId: id, | |||||
EvalName: "test1", | |||||
EvalContent: "test1", | |||||
TLPath: "test1", | |||||
Indicators: []string{"ACC", "ASS"}, | |||||
CDName: "CIFAR10_1000_FGSM", | |||||
BDName: "CIFAR10_1000基础数据集", | |||||
} | |||||
aisafety.GetAlgorithmList() | |||||
if seriaNoParas != "" { | |||||
aisafety.GetTaskStatus(seriaNoParas) | |||||
} else { | |||||
jsonStr, err := getJsonContent("http://192.168.207.34:8065/Test_zap1234/openi_aisafety/raw/branch/master/result/" + fileName) | |||||
serialNo, err := aisafety.CreateSafetyTask(req, jsonStr) | |||||
if err == nil { | |||||
log.Info("serialNo=" + serialNo) | |||||
time.Sleep(time.Duration(2) * time.Second) | |||||
aisafety.GetTaskStatus(serialNo) | |||||
} else { | |||||
log.Info("CreateSafetyTask error," + err.Error()) | |||||
} | |||||
} | |||||
} | |||||
func GetAiSafetyTaskByJob(job *models.Cloudbrain) { | func GetAiSafetyTaskByJob(job *models.Cloudbrain) { | ||||
if job == nil { | if job == nil { | ||||
log.Error("GetCloudbrainByJobID failed") | log.Error("GetCloudbrainByJobID failed") | ||||
@@ -523,6 +523,7 @@ func ReferenceDatasetAvailable(ctx *context.Context) { | |||||
PublicOnly: true, | PublicOnly: true, | ||||
NeedAttachment: false, | NeedAttachment: false, | ||||
CloudBrainType: models.TypeCloudBrainAll, | CloudBrainType: models.TypeCloudBrainAll, | ||||
SearchOrderBy: models.SearchOrderByDefault, | |||||
} | } | ||||
dataset, _ := models.GetDatasetByRepo(&models.Repository{ID: ctx.Repo.Repository.ID}) | dataset, _ := models.GetDatasetByRepo(&models.Repository{ID: ctx.Repo.Repository.ID}) | ||||
if dataset != nil { | if dataset != nil { | ||||
@@ -538,6 +539,7 @@ func PublicDatasetMultiple(ctx *context.Context) { | |||||
PublicOnly: true, | PublicOnly: true, | ||||
NeedAttachment: true, | NeedAttachment: true, | ||||
CloudBrainType: ctx.QueryInt("type"), | CloudBrainType: ctx.QueryInt("type"), | ||||
SearchOrderBy: models.SearchOrderByDefault, | |||||
} | } | ||||
datasetMultiple(ctx, opts) | datasetMultiple(ctx, opts) | ||||
@@ -37,6 +37,7 @@ import ( | |||||
"code.gitea.io/gitea/modules/context" | "code.gitea.io/gitea/modules/context" | ||||
"code.gitea.io/gitea/modules/log" | "code.gitea.io/gitea/modules/log" | ||||
"code.gitea.io/gitea/modules/setting" | "code.gitea.io/gitea/modules/setting" | ||||
cloudbrainService "code.gitea.io/gitea/services/cloudbrain" | |||||
) | ) | ||||
const ( | const ( | ||||
@@ -915,10 +916,7 @@ func GrampusTrainJobShow(ctx *context.Context) { | |||||
ctx.Data["canDownload"] = cloudbrain.CanModifyJob(ctx, task) | ctx.Data["canDownload"] = cloudbrain.CanModifyJob(ctx, task) | ||||
ctx.Data["displayJobName"] = task.DisplayJobName | ctx.Data["displayJobName"] = task.DisplayJobName | ||||
aiCenterInfo := strings.Split(task.AiCenter, "+") | |||||
if len(aiCenterInfo) == 2 { | |||||
ctx.Data["ai_center"] = aiCenterInfo[1] | |||||
} | |||||
ctx.Data["ai_center"] = cloudbrainService.GetAiCenterShow(task.AiCenter,ctx) | |||||
ctx.HTML(http.StatusOK, tplGrampusTrainJobShow) | ctx.HTML(http.StatusOK, tplGrampusTrainJobShow) | ||||
} | } | ||||
@@ -0,0 +1,33 @@ | |||||
package cloudbrain | |||||
import ( | |||||
"code.gitea.io/gitea/modules/context" | |||||
"code.gitea.io/gitea/modules/setting" | |||||
"strings" | |||||
) | |||||
func GetAiCenterShow(aiCenter string,ctx *context.Context) string{ | |||||
aiCenterInfo := strings.Split(aiCenter, "+") | |||||
if len(aiCenterInfo) == 2{ | |||||
if setting.C2NetMapInfo!=nil { | |||||
if info,ok:=setting.C2NetMapInfo[aiCenterInfo[0]];ok { | |||||
if ctx.Language() == "zh-CN" { | |||||
return info.Content | |||||
} else { | |||||
return info.ContentEN | |||||
} | |||||
}else{ | |||||
return aiCenterInfo[1] | |||||
} | |||||
}else{ | |||||
return aiCenterInfo[1] | |||||
} | |||||
} | |||||
return "" | |||||
} |