@@ -81,7 +81,8 @@ func GetQueuesDetail() (*map[string]int, error) { | |||||
var jobResult models.QueueDetailResult | var jobResult models.QueueDetailResult | ||||
var result = make(map[string]int, 0) | var result = make(map[string]int, 0) | ||||
retry := 0 | |||||
sendjob: | |||||
res, err := client.R(). | res, err := client.R(). | ||||
SetHeader("Content-Type", "application/json"). | SetHeader("Content-Type", "application/json"). | ||||
SetAuthToken(TOKEN). | SetAuthToken(TOKEN). | ||||
@@ -92,6 +93,12 @@ func GetQueuesDetail() (*map[string]int, error) { | |||||
return nil, fmt.Errorf("resty get queues detail failed: %s", err) | return nil, fmt.Errorf("resty get queues detail failed: %s", err) | ||||
} | } | ||||
if jobResult.Code == errInvalidToken && retry < 1 { | |||||
retry++ | |||||
_ = loginCloudbrain() | |||||
goto sendjob | |||||
} | |||||
if jobResult.Code != Success { | if jobResult.Code != Success { | ||||
return nil, fmt.Errorf("jobResult err: %s", res.String()) | return nil, fmt.Errorf("jobResult err: %s", res.String()) | ||||
} | } | ||||
@@ -1209,7 +1209,7 @@ modelarts.infer_job_model_file = Model File | |||||
modelarts.infer_job = Inference Job | modelarts.infer_job = Inference Job | ||||
modelarts.infer_job.model_version = Model/Version | modelarts.infer_job.model_version = Model/Version | ||||
modelarts.infer_job.select_model = Select Model | modelarts.infer_job.select_model = Select Model | ||||
modelarts.infer_job.boot_file_helper=The startup file is the entry file for your program execution and must end in.py.Such as inference.py, main.py, example/inference. Py, case/main.py. | |||||
modelarts.infer_job.boot_file_helper=The startup file is the entry file for your program execution and must end in.py.Such as inference.py, main.py, example/inference.py, case/main.py. | |||||
modelarts.infer_job.tooltip = The model has been deleted and cannot be viewed. | modelarts.infer_job.tooltip = The model has been deleted and cannot be viewed. | ||||
modelarts.download_log=Download log file | modelarts.download_log=Download log file | ||||
@@ -1232,7 +1232,7 @@ model.manage.version = Version | |||||
model.manage.label = Label | model.manage.label = Label | ||||
model.manage.size = Size | model.manage.size = Size | ||||
model.manage.create_time = Create Time | model.manage.create_time = Create Time | ||||
model.manage.Description = Description | |||||
model.manage.description = Description | |||||
model.manage.Accuracy = Accuracy | model.manage.Accuracy = Accuracy | ||||
model.manage.F1 = F1 | model.manage.F1 = F1 | ||||
model.manage.Precision = Precision | model.manage.Precision = Precision | ||||
@@ -1244,6 +1244,49 @@ model.convert=Model Transformation | |||||
model.list=Model List | model.list=Model List | ||||
model.manage.create_new_convert_task=Create Model Transformation Task | model.manage.create_new_convert_task=Create Model Transformation Task | ||||
model.manage.notcreatemodel=No model has been created. | |||||
model.manage.init1=Code version: You have not initialized the code repository, please | |||||
model.manage.init2=initialized first ; | |||||
model.manage.createtrainjob_tip=Training task: you haven't created a training task, please create it first | |||||
model.manage.createtrainjob=Training task | |||||
model.manage.delete=Delete Model | |||||
model.manage.delete_confirm=Are you sure to delete this model? Once this model is deleted, it cannot be restored. | |||||
model.manage.select.trainjob=Select train task | |||||
model.manage.select.version=Select version | |||||
model.manage.engine=Model engine | |||||
model.manage.select.engine=Select model engine | |||||
model.manage.modelfile=Model file | |||||
model.manage.modellabel=Model label | |||||
model.manage.modeldesc=Model description | |||||
model.manage.baseinfo=Base Information | |||||
modelconvert.notcreate=No model conversion task has been created. | |||||
modelconvert.importfirst1=Please import first | |||||
modelconvert.importfirst2=download model | |||||
modelconvert.importfirst3=, then converts it. | |||||
modelconvert.download=Download | |||||
modelconvert.taskname=Task name | |||||
modelconvert.modelname=Model name | |||||
modelconvert.selectmodel=Select model | |||||
modelconvert.modelversion=Model version | |||||
modelconvert.selectversion=Select version | |||||
modelconvert.selectmodelfile=Select model file | |||||
modelconvert.taskstatus=Status | |||||
modelconvert.srcengine=Source model engine | |||||
modelconvert.outputformat=Output format | |||||
modelconvert.createtime=Created time | |||||
modelconvert.inputdataformat=Input data format | |||||
modelconvert.inputshape=Input tensor shape | |||||
modelconvert.inputshapetip=For example: 1,1,32,32, corresponding to the input data format. | |||||
modelconvert.netoutputdata=Network output data type | |||||
modelconvert.taskdesc=Task description | |||||
modelconvert.newtask=New | |||||
modelconvert.createtask=Create model transformation task | |||||
modelconvert.taskurlname=Model transformation task | |||||
log_scroll_start=Scroll to top | |||||
log_scroll_end=Scroll to bottom | |||||
modelconvert.tasknameempty=Please enter a task name. | |||||
modelconvert.inputshapeerror=Format input error, please input such as: 1,1,32,32, corresponding to the input data format. | |||||
modelconvert.manage.create_error1=A model transformation task with the same name already exists. | modelconvert.manage.create_error1=A model transformation task with the same name already exists. | ||||
modelconvert.manage.create_error2=Only one running model transformation task can be created. | modelconvert.manage.create_error2=Only one running model transformation task can be created. | ||||
modelconvert.manage.model_not_exist=The model does not exist. | modelconvert.manage.model_not_exist=The model does not exist. | ||||
@@ -1257,6 +1257,50 @@ model.convert=模型转换任务 | |||||
model.list=模型列表 | model.list=模型列表 | ||||
model.manage.create_new_convert_task=创建模型转换任务 | model.manage.create_new_convert_task=创建模型转换任务 | ||||
model.manage.notcreatemodel=未创建过模型 | |||||
model.manage.init1=代码版本:您还没有初始化代码仓库,请先 | |||||
model.manage.init2=创建代码版本; | |||||
model.manage.createtrainjob_tip=训练任务:您还没创建过训练任务,请先创建 | |||||
model.manage.createtrainjob=训练任务 | |||||
model.manage.delete=删除模型 | |||||
model.manage.delete_confirm=你确认删除该模型么?此模型一旦删除不可恢复。 | |||||
model.manage.select.trainjob=选择训练任务 | |||||
model.manage.select.version=选择版本 | |||||
model.manage.engine=模型框架 | |||||
model.manage.select.engine=选择模型框架 | |||||
model.manage.modelfile=模型文件 | |||||
model.manage.modellabel=模型标签 | |||||
model.manage.modeldesc=模型描述 | |||||
model.manage.baseinfo=基本信息 | |||||
modelconvert.notcreate=未创建过模型转换任务 | |||||
modelconvert.importfirst1=请您先导入 | |||||
modelconvert.importfirst2=模型下载 | |||||
modelconvert.importfirst3=,然后再对其进行转换。 | |||||
modelconvert.download=下载 | |||||
modelconvert.taskname=任务名称 | |||||
modelconvert.modelname=模型名称 | |||||
modelconvert.selectmodel=选择模型 | |||||
modelconvert.modelversion=模型版本 | |||||
modelconvert.selectversion=选择版本 | |||||
modelconvert.selectmodelfile=选择模型文件 | |||||
modelconvert.taskstatus=状态 | |||||
modelconvert.srcengine=原模型框架 | |||||
modelconvert.outputformat=转换后格式 | |||||
modelconvert.createtime=创建时间 | |||||
modelconvert.inputdataformat=输入数据格式 | |||||
modelconvert.inputshape=输入张量形状 | |||||
modelconvert.inputshapetip=如:1,1,32,32,与输入数据格式对应。 | |||||
modelconvert.netoutputdata=网络输出数据类型 | |||||
modelconvert.taskdesc=任务描述 | |||||
modelconvert.newtask=新建任务 | |||||
modelconvert.createtask=创建模型转换任务 | |||||
modelconvert.taskurlname=模型转换任务 | |||||
log_scroll_start=滚动到顶部 | |||||
log_scroll_end=滚动到底部 | |||||
modelconvert.tasknameempty=请输入任务名称。 | |||||
modelconvert.inputshapeerror=格式输入错误,请输入如:1,1,32,32,与输入数据格式对应。 | |||||
modelconvert.manage.create_error1=相同的名称模型转换任务已经存在。 | modelconvert.manage.create_error1=相同的名称模型转换任务已经存在。 | ||||
modelconvert.manage.create_error2=只能创建一个正在运行的模型转换任务。 | modelconvert.manage.create_error2=只能创建一个正在运行的模型转换任务。 | ||||
modelconvert.manage.model_not_exist=选择的模型不存在。 | modelconvert.manage.model_not_exist=选择的模型不存在。 | ||||
@@ -134,7 +134,7 @@ | |||||
</div> | </div> | ||||
</form> | </form> | ||||
{{else}} | {{else}} | ||||
<form class="ui form alogrithm_form" action="{{.Link}}?benchmarkMode=alogrithm" method="post"> | |||||
<form id="form_id" class="ui form alogrithm_form" action="{{.Link}}?benchmarkMode=alogrithm" method="post"> | |||||
{{.CsrfTokenHtml}} | {{.CsrfTokenHtml}} | ||||
<input type="hidden" name="action" value="update"> | <input type="hidden" name="action" value="update"> | ||||
<input type="hidden" name="job_type" value="BENCHMARK"> | <input type="hidden" name="job_type" value="BENCHMARK"> | ||||
@@ -178,8 +178,7 @@ | |||||
</div> | </div> | ||||
<div class="required unite inline min_title fields" style="width: 90%;margin-left: 5.7rem;"> | <div class="required unite inline min_title fields" style="width: 90%;margin-left: 5.7rem;"> | ||||
<div class="required eight wide field"> | <div class="required eight wide field"> | ||||
<label | |||||
style="font-weight: normal;white-space: nowrap;">{{.i18n.Tr "repo.cloudbrain.benchmark.evaluate_type"}}</label> | |||||
<label style="font-weight: normal;white-space: nowrap;">{{.i18n.Tr "repo.cloudbrain.benchmark.evaluate_type"}}</label> | |||||
<select class="ui fluid selection search dropdown" id="benchmark_types_id" | <select class="ui fluid selection search dropdown" id="benchmark_types_id" | ||||
name="benchmark_types_id"> | name="benchmark_types_id"> | ||||
@@ -193,12 +192,9 @@ | |||||
</select> | </select> | ||||
</div> | </div> | ||||
<div class="eight wide field" id="engine_name"> | <div class="eight wide field" id="engine_name"> | ||||
<input type="hidden" id="benchmark_child_types_id_hidden" | |||||
name="benchmark_child_types_id_hidden" value="{{.benchmark_child_types_id_hidden}}"> | |||||
<label | |||||
style="font-weight: normal;white-space: nowrap;">{{.i18n.Tr "repo.cloudbrain.benchmark.evaluate_child_type"}}</label> | |||||
<select class="ui fluid selection dropdown nowrapx" id="benchmark_child_types_id" | |||||
style='width: 100%;' name="benchmark_child_types_id"> | |||||
<input type="hidden" id="benchmark_child_types_id_hidden" name="benchmark_child_types_id_hidden" value="{{.benchmark_child_types_id_hidden}}"> | |||||
<label style="font-weight: normal;white-space: nowrap;">{{.i18n.Tr "repo.cloudbrain.benchmark.evaluate_child_type"}}</label> | |||||
<select class="ui fluid selection dropdown nowrapx" id="benchmark_child_types_id" style='width: 100%;' name="benchmark_child_types_id"> | |||||
</select> | </select> | ||||
</div> | </div> | ||||
</div> | </div> | ||||
@@ -388,17 +388,19 @@ | |||||
let value = '' | let value = '' | ||||
value += `<div class="two fields width85" id= "para${i}">` | value += `<div class="two fields width85" id= "para${i}">` | ||||
value += '<div class="field">' | value += '<div class="field">' | ||||
let placeholder_value='{{.i18n.Tr "repo.modelarts.train_job.parameter_value"}}' | |||||
let placeholder_name='{{.i18n.Tr "repo.modelarts.train_job.parameter_name"}}' | |||||
if(flag){ | if(flag){ | ||||
value +=`<input type="text" class="shipping_first-name" value="${paramsObject.label}">` | value +=`<input type="text" class="shipping_first-name" value="${paramsObject.label}">` | ||||
}else{ | }else{ | ||||
value +='<input type="text" class="shipping_first-name" required placeholder={{.i18n.Tr "repo.modelarts.train_job.parameter_name"}}>' | |||||
value +='<input type="text" class="shipping_first-name" required placeholder="' + placeholder_name+ '">' | |||||
} | } | ||||
value += '</div>' | value += '</div>' | ||||
value += '<div class="field">' | value += '<div class="field">' | ||||
if(flag){ | if(flag){ | ||||
value +=`<input type="text" class="shipping_last-name" value="${paramsObject.value}">` | value +=`<input type="text" class="shipping_last-name" value="${paramsObject.value}">` | ||||
}else{ | }else{ | ||||
value +='<input type="text" class="shipping_last-name" required placeholder={{.i18n.Tr "repo.modelarts.train_job.parameter_value"}}>' | |||||
value +='<input type="text" class="shipping_last-name" required placeholder="' + placeholder_value+ '">' | |||||
} | } | ||||
value += '</div>' | value += '</div>' | ||||
value += '<span><i class="trash icon"></i></span>' | value += '<span><i class="trash icon"></i></span>' | ||||
@@ -297,17 +297,19 @@ | |||||
let value = '' | let value = '' | ||||
value += `<div class="two fields width85" id= "para${i}">` | value += `<div class="two fields width85" id= "para${i}">` | ||||
value += '<div class="field">' | value += '<div class="field">' | ||||
let placeholder_value='{{.i18n.Tr "repo.modelarts.train_job.parameter_value"}}' | |||||
let placeholder_name='{{.i18n.Tr "repo.modelarts.train_job.parameter_name"}}' | |||||
if(flag){ | if(flag){ | ||||
value +=`<input type="text" class="shipping_first-name" value="${paramsObject.label}">` | value +=`<input type="text" class="shipping_first-name" value="${paramsObject.label}">` | ||||
}else{ | }else{ | ||||
value +='<input type="text" class="shipping_first-name" required placeholder={{.i18n.Tr "repo.modelarts.train_job.parameter_name"}}>' | |||||
value +='<input type="text" class="shipping_first-name" required placeholder="' + placeholder_name+ '">' | |||||
} | } | ||||
value += '</div>' | value += '</div>' | ||||
value += '<div class="field">' | value += '<div class="field">' | ||||
if(flag){ | if(flag){ | ||||
value +=`<input type="text" class="shipping_last-name" value="${paramsObject.value}">` | value +=`<input type="text" class="shipping_last-name" value="${paramsObject.value}">` | ||||
}else{ | }else{ | ||||
value +='<input type="text" class="shipping_last-name" required placeholder={{.i18n.Tr "repo.modelarts.train_job.parameter_value"}}>' | |||||
value +='<input type="text" class="shipping_last-name" required placeholder="' + placeholder_value + '">' | |||||
} | } | ||||
value += '</div>' | value += '</div>' | ||||
value += '<span><i class="trash icon"></i></span>' | value += '<span><i class="trash icon"></i></span>' | ||||
@@ -584,7 +584,7 @@ | |||||
<div id="newmodel"> | <div id="newmodel"> | ||||
<div class="ui modal second"> | <div class="ui modal second"> | ||||
<div class="header" style="padding: 1rem;background-color: rgba(240, 240, 240, 100);"> | <div class="header" style="padding: 1rem;background-color: rgba(240, 240, 240, 100);"> | ||||
<h4 id="model_header">导入新模型</h4> | |||||
<h4 id="model_header">{{.i18n.Tr "repo.model.manage.import_new_model"}}</h4> | |||||
</div> | </div> | ||||
<div class="content content-padding"> | <div class="content content-padding"> | ||||
<form id="formId" method="POST" class="ui form"> | <form id="formId" method="POST" class="ui form"> | ||||
@@ -594,26 +594,26 @@ | |||||
<input type="hidden" name="trainTaskCreate" value="true"> | <input type="hidden" name="trainTaskCreate" value="true"> | ||||
<div class="required inline field"> | <div class="required inline field"> | ||||
<label>训练任务</label> | |||||
<label>{{.i18n.Tr "repo.model.manage.createtrainjob"}}</label> | |||||
<input type="hidden" class="width83" id="JobId" name="JobId" readonly required> | <input type="hidden" class="width83" id="JobId" name="JobId" readonly required> | ||||
<input type="hidden" id="VersionName" name="VersionName" value="V0001"> | <input type="hidden" id="VersionName" name="VersionName" value="V0001"> | ||||
<input style="width: 45%;" id="JobName" readonly required> | <input style="width: 45%;" id="JobName" readonly required> | ||||
</div> | </div> | ||||
<div class="required inline field" id="modelname"> | <div class="required inline field" id="modelname"> | ||||
<label>模型名称</label> | |||||
<label>{{.i18n.Tr "repo.model.manage.model_name"}}</label> | |||||
<input style="width: 45%;" id="name" name="Name" required maxlength="25" | <input style="width: 45%;" id="name" name="Name" required maxlength="25" | ||||
onkeyup="this.value=this.value.replace(/[, ]/g,'')"> | onkeyup="this.value=this.value.replace(/[, ]/g,'')"> | ||||
</div> | </div> | ||||
<div class="required inline field" id="verionname"> | <div class="required inline field" id="verionname"> | ||||
<label>模型版本</label> | |||||
<label>{{.i18n.Tr "repo.modelconvert.modelversion"}}</label> | |||||
<input style="width: 45%;" id="version" name="Version" value="" readonly required maxlength="255"> | <input style="width: 45%;" id="version" name="Version" value="" readonly required maxlength="255"> | ||||
</div> | </div> | ||||
<div class="unite min_title inline field required"> | <div class="unite min_title inline field required"> | ||||
<label>模型框架</label> | |||||
<label>{{.i18n.Tr "repo.model.manage.engine"}}</label> | |||||
<div class="ui dropdown selection search width70" id="choice_Engine"> | <div class="ui dropdown selection search width70" id="choice_Engine"> | ||||
<input type="hidden" id="Engine" name="Engine" required> | <input type="hidden" id="Engine" name="Engine" required> | ||||
<div class="default text">选择模型框架</div> | |||||
<div class="default text">{{.i18n.Tr "repo.model.manage.select.engine"}}</div> | |||||
<i class="dropdown icon"></i> | <i class="dropdown icon"></i> | ||||
<div class="menu" id="job-Engine"> | <div class="menu" id="job-Engine"> | ||||
<option class="active item" data-value="0">PyTorch</option> | <option class="active item" data-value="0">PyTorch</option> | ||||
@@ -628,7 +628,7 @@ | |||||
</div> | </div> | ||||
<div class="unite min_title inline fields required"> | <div class="unite min_title inline fields required"> | ||||
<div class="field required"> | <div class="field required"> | ||||
<label for="modelSelectedFile">模型文件</label> | |||||
<label for="modelSelectedFile">{{.i18n.Tr "repo.model.manage.modelfile"}}</label> | |||||
</div> | </div> | ||||
<div class="thirteen wide field" style="position:relative"> | <div class="thirteen wide field" style="position:relative"> | ||||
<input id="modelSelectedFile" type="text" readonly required onclick="showMenu();" name="modelSelectedFile" > | <input id="modelSelectedFile" type="text" readonly required onclick="showMenu();" name="modelSelectedFile" > | ||||
@@ -638,12 +638,12 @@ | |||||
</div> | </div> | ||||
</div> | </div> | ||||
<div class="inline field"> | <div class="inline field"> | ||||
<label>模型标签</label> | |||||
<label>{{.i18n.Tr "repo.model.manage.modellabel"}}</label> | |||||
<input style="width: 83%;margin-left: 7px;" id="label" name="Label" maxlength="255" | <input style="width: 83%;margin-left: 7px;" id="label" name="Label" maxlength="255" | ||||
placeholder='{{.i18n.Tr "repo.modelarts.train_job.label_place"}}'> | placeholder='{{.i18n.Tr "repo.modelarts.train_job.label_place"}}'> | ||||
</div> | </div> | ||||
<div class="inline field"> | <div class="inline field"> | ||||
<label for="description">模型描述</label> | |||||
<label for="description">{{.i18n.Tr "repo.model.manage.modeldesc"}}</label> | |||||
<textarea style="width: 83%;margin-left: 7px;" id="Description" name="Description" rows="3" | <textarea style="width: 83%;margin-left: 7px;" id="Description" name="Description" rows="3" | ||||
maxlength="255" placeholder='{{.i18n.Tr "repo.modelarts.train_job.new_place"}}' | maxlength="255" placeholder='{{.i18n.Tr "repo.modelarts.train_job.new_place"}}' | ||||
onchange="this.value=this.value.substring(0, 255)" | onchange="this.value=this.value.substring(0, 255)" | ||||
@@ -243,17 +243,19 @@ | |||||
let value = '' | let value = '' | ||||
value += `<div class="two fields width85" id= "para${i}">` | value += `<div class="two fields width85" id= "para${i}">` | ||||
value += '<div class="field">' | value += '<div class="field">' | ||||
let placeholder_value='{{.i18n.Tr "repo.modelarts.train_job.parameter_value"}}' | |||||
let placeholder_name='{{.i18n.Tr "repo.modelarts.train_job.parameter_name"}}' | |||||
if(flag){ | if(flag){ | ||||
value +=`<input type="text" class="shipping_first-name" value="${paramsObject.label}">` | value +=`<input type="text" class="shipping_first-name" value="${paramsObject.label}">` | ||||
}else{ | }else{ | ||||
value +='<input type="text" class="shipping_first-name" required placeholder={{.i18n.Tr "repo.modelarts.train_job.parameter_name"}}>' | |||||
value +='<input type="text" class="shipping_first-name" required placeholder="' + placeholder_name+ '">' | |||||
} | } | ||||
value += '</div>' | value += '</div>' | ||||
value += '<div class="field">' | value += '<div class="field">' | ||||
if(flag){ | if(flag){ | ||||
value +=`<input type="text" class="shipping_last-name" value="${paramsObject.value}">` | value +=`<input type="text" class="shipping_last-name" value="${paramsObject.value}">` | ||||
}else{ | }else{ | ||||
value +='<input type="text" class="shipping_last-name" required placeholder={{.i18n.Tr "repo.modelarts.train_job.parameter_value"}}>' | |||||
value +='<input type="text" class="shipping_last-name" required placeholder="' + placeholder_value+ '">' | |||||
} | } | ||||
value += '</div>' | value += '</div>' | ||||
value += '<span><i class="trash icon"></i></span>' | value += '<span><i class="trash icon"></i></span>' | ||||
@@ -269,17 +269,19 @@ | |||||
let value = '' | let value = '' | ||||
value += `<div class="two fields width85" id= "para${i}">` | value += `<div class="two fields width85" id= "para${i}">` | ||||
value += '<div class="field">' | value += '<div class="field">' | ||||
let placeholder_value='{{.i18n.Tr "repo.modelarts.train_job.parameter_value"}}' | |||||
let placeholder_name='{{.i18n.Tr "repo.modelarts.train_job.parameter_name"}}' | |||||
if(flag){ | if(flag){ | ||||
value +=`<input type="text" class="shipping_first-name" value="${paramsObject.label}">` | value +=`<input type="text" class="shipping_first-name" value="${paramsObject.label}">` | ||||
}else{ | }else{ | ||||
value +='<input type="text" class="shipping_first-name" required placeholder={{.i18n.Tr "repo.modelarts.train_job.parameter_name"}}>' | |||||
value +='<input type="text" class="shipping_first-name" required placeholder="' + placeholder_name+ '">' | |||||
} | } | ||||
value += '</div>' | value += '</div>' | ||||
value += '<div class="field">' | value += '<div class="field">' | ||||
if(flag){ | if(flag){ | ||||
value +=`<input type="text" class="shipping_last-name" value="${paramsObject.value}">` | value +=`<input type="text" class="shipping_last-name" value="${paramsObject.value}">` | ||||
}else{ | }else{ | ||||
value +='<input type="text" class="shipping_last-name" required placeholder={{.i18n.Tr "repo.modelarts.train_job.parameter_value"}}>' | |||||
value +='<input type="text" class="shipping_last-name" required placeholder="' + placeholder_value+ '">' | |||||
} | } | ||||
value += '</div>' | value += '</div>' | ||||
value += '<span><i class="trash icon"></i></span>' | value += '<span><i class="trash icon"></i></span>' | ||||
@@ -470,11 +470,11 @@ | |||||
<div class="ui tab" data-tab="second{{$k}}"> | <div class="ui tab" data-tab="second{{$k}}"> | ||||
<div style="position: relative;"> | <div style="position: relative;"> | ||||
<span> | <span> | ||||
<a title="滚动到顶部" style="position: absolute; right: -32px;cursor: pointer;" | |||||
<a title="{{$.i18n.Tr "repo.log_scroll_start"}}" style="position: absolute; right: -32px;cursor: pointer;" | |||||
class="log_top" data-version="{{.VersionName}}"><i class="icon-to-top"></i></a> | class="log_top" data-version="{{.VersionName}}"><i class="icon-to-top"></i></a> | ||||
</span> | </span> | ||||
<span class="log-info-{{.VersionName}}"> | <span class="log-info-{{.VersionName}}"> | ||||
<a title="滚动到底部" style="position: absolute; bottom: 10px;right: -32px;cursor: pointer;" | |||||
<a title="{{$.i18n.Tr "repo.log_scroll_end"}}" style="position: absolute; bottom: 10px;right: -32px;cursor: pointer;" | |||||
class="log_bottom" data-version="{{.VersionName}}"><i | class="log_bottom" data-version="{{.VersionName}}"><i | ||||
class="icon-to-bottom"></i></a> | class="icon-to-bottom"></i></a> | ||||
</span> | </span> | ||||
@@ -541,7 +541,7 @@ | |||||
<div id="newmodel"> | <div id="newmodel"> | ||||
<div class="ui modal second"> | <div class="ui modal second"> | ||||
<div class="header" style="padding: 1rem;background-color: rgba(240, 240, 240, 100);"> | <div class="header" style="padding: 1rem;background-color: rgba(240, 240, 240, 100);"> | ||||
<h4 id="model_header">导入新模型</h4> | |||||
<h4 id="model_header">{{.i18n.Tr "repo.model.manage.import_new_model"}}</h4> | |||||
</div> | </div> | ||||
<div class="content content-padding"> | <div class="content content-padding"> | ||||
<form id="formId" method="POST" class="ui form"> | <form id="formId" method="POST" class="ui form"> | ||||
@@ -551,26 +551,26 @@ | |||||
<input type="hidden" name="trainTaskCreate" value="true"> | <input type="hidden" name="trainTaskCreate" value="true"> | ||||
<div class="required inline field"> | <div class="required inline field"> | ||||
<label>训练任务</label> | |||||
<label>{{.i18n.Tr "repo.model.manage.createtrainjob"}}</label> | |||||
<input type="hidden" class="width83" id="JobId" name="JobId" readonly required> | <input type="hidden" class="width83" id="JobId" name="JobId" readonly required> | ||||
<input type="hidden" id="VersionName" name="VersionName" value="V0001"> | <input type="hidden" id="VersionName" name="VersionName" value="V0001"> | ||||
<input style="width: 45%;" id="JobName" readonly required> | <input style="width: 45%;" id="JobName" readonly required> | ||||
</div> | </div> | ||||
<div class="required inline field" id="modelname"> | <div class="required inline field" id="modelname"> | ||||
<label>模型名称</label> | |||||
<label>{{.i18n.Tr "repo.model.manage.model_name"}}</label> | |||||
<input style="width: 45%;" id="name" name="Name" required maxlength="25" | <input style="width: 45%;" id="name" name="Name" required maxlength="25" | ||||
onkeyup="this.value=this.value.replace(/[, ]/g,'')"> | onkeyup="this.value=this.value.replace(/[, ]/g,'')"> | ||||
</div> | </div> | ||||
<div class="required inline field" id="verionname"> | <div class="required inline field" id="verionname"> | ||||
<label>模型版本</label> | |||||
<label>{{.i18n.Tr "repo.modelconvert.modelversion"}}</label> | |||||
<input style="width: 45%;" id="version" name="Version" value="" readonly required maxlength="255"> | <input style="width: 45%;" id="version" name="Version" value="" readonly required maxlength="255"> | ||||
</div> | </div> | ||||
<div class="unite min_title inline field required"> | <div class="unite min_title inline field required"> | ||||
<label>模型框架</label> | |||||
<label>{{.i18n.Tr "repo.model.manage.engine"}}</label> | |||||
<div class="ui dropdown selection search width70" id="choice_Engine"> | <div class="ui dropdown selection search width70" id="choice_Engine"> | ||||
<input type="hidden" id="Engine" name="Engine" required> | <input type="hidden" id="Engine" name="Engine" required> | ||||
<div class="default text">选择模型框架</div> | |||||
<div class="default text">{{.i18n.Tr "repo.model.manage.select.engine"}}</div> | |||||
<i class="dropdown icon"></i> | <i class="dropdown icon"></i> | ||||
<div class="menu" id="job-Engine"> | <div class="menu" id="job-Engine"> | ||||
<option class="active item" data-value="0">PyTorch</option> | <option class="active item" data-value="0">PyTorch</option> | ||||
@@ -586,7 +586,7 @@ | |||||
</div> | </div> | ||||
<div class="unite min_title inline fields required"> | <div class="unite min_title inline fields required"> | ||||
<div class="field required"> | <div class="field required"> | ||||
<label for="modelSelectedFile">模型文件</label> | |||||
<label for="modelSelectedFile">{{.i18n.Tr "repo.model.manage.modelfile"}}</label> | |||||
</div> | </div> | ||||
<div class="thirteen wide field" style="position:relative"> | <div class="thirteen wide field" style="position:relative"> | ||||
<input id="modelSelectedFile" type="text" readonly required onclick="showMenu();" name="modelSelectedFile" > | <input id="modelSelectedFile" type="text" readonly required onclick="showMenu();" name="modelSelectedFile" > | ||||
@@ -596,12 +596,12 @@ | |||||
</div> | </div> | ||||
</div> | </div> | ||||
<div class="inline field"> | <div class="inline field"> | ||||
<label>模型标签</label> | |||||
<label>{{.i18n.Tr "repo.model.manage.modellabel"}}</label> | |||||
<input style="width: 83%;margin-left: 7px;" id="label" name="Label" maxlength="255" | <input style="width: 83%;margin-left: 7px;" id="label" name="Label" maxlength="255" | ||||
placeholder='{{.i18n.Tr "repo.modelarts.train_job.label_place"}}'> | placeholder='{{.i18n.Tr "repo.modelarts.train_job.label_place"}}'> | ||||
</div> | </div> | ||||
<div class="inline field"> | <div class="inline field"> | ||||
<label for="description">模型描述</label> | |||||
<label for="description">{{.i18n.Tr "repo.model.manage.modeldesc"}}</label> | |||||
<textarea style="width: 83%;margin-left: 7px;" id="Description" name="Description" rows="3" | <textarea style="width: 83%;margin-left: 7px;" id="Description" name="Description" rows="3" | ||||
maxlength="255" placeholder='{{.i18n.Tr "repo.modelarts.train_job.new_place"}}' | maxlength="255" placeholder='{{.i18n.Tr "repo.modelarts.train_job.new_place"}}' | ||||
onchange="this.value=this.value.substring(0, 255)" | onchange="this.value=this.value.substring(0, 255)" | ||||
@@ -196,7 +196,7 @@ | |||||
{{end}} | {{end}} | ||||
</select> | </select> | ||||
</div> | </div> | ||||
<span class="tooltips" style="margin-left: 11.5rem;margin-bottom: 1rem;"></span> | |||||
<!-- 数据集 --> | <!-- 数据集 --> | ||||
<div id="select-multi-dataset"> | <div id="select-multi-dataset"> | ||||
@@ -409,12 +409,14 @@ | |||||
// 参数增加、删除、修改、保存 | // 参数增加、删除、修改、保存 | ||||
function Add_parameter(i){ | function Add_parameter(i){ | ||||
let placeholder_value='{{.i18n.Tr "repo.modelarts.train_job.parameter_value"}}' | |||||
let placeholder_name='{{.i18n.Tr "repo.modelarts.train_job.parameter_name"}}' | |||||
value = '<div class="two fields width85" id= "para'+ i +'">' + | value = '<div class="two fields width85" id= "para'+ i +'">' + | ||||
'<div class="field">' + | '<div class="field">' + | ||||
'<input type="text" name="shipping_first-name" required placeholder={{.i18n.Tr "repo.modelarts.train_job.parameter_name"}}> ' + | |||||
'<input type="text" name="shipping_first-name" required placeholder="' + placeholder_name+ '">' + | |||||
'</div> ' + | '</div> ' + | ||||
'<div class="field"> ' + | '<div class="field"> ' + | ||||
'<input type="text" name="shipping_last-name" required placeholder={{.i18n.Tr "repo.modelarts.train_job.parameter_value"}}>' + | |||||
'<input type="text" name="shipping_last-name" required placeholder="' + placeholder_value + '">' + | |||||
'</div>'+ | '</div>'+ | ||||
'<span>' + | '<span>' + | ||||
'<i class="trash icon">' + | '<i class="trash icon">' + | ||||
@@ -76,10 +76,10 @@ | |||||
{{range .para}} | {{range .para}} | ||||
<div class="two fields"> | <div class="two fields"> | ||||
<div class="field"> | <div class="field"> | ||||
<input type="text" name="shipping_first-name" placeholder={{.i18n.Tr "repo.modelarts.train_job.parameter_name"}}> | |||||
<input type="text" name="shipping_first-name" placeholder="{{.i18n.Tr "repo.modelarts.train_job.parameter_name"}}"> | |||||
</div> | </div> | ||||
<div class="field"> | <div class="field"> | ||||
<input type="text" name="shipping_last-name" placeholder={{.i18n.Tr "repo.modelarts.train_job.parameter_value"}}> | |||||
<input type="text" name="shipping_last-name" placeholder="{{.i18n.Tr "repo.modelarts.train_job.parameter_value"}}"> | |||||
</div> | </div> | ||||
<span> | <span> | ||||
<i class="trash icon"> | <i class="trash icon"> | ||||
@@ -151,12 +151,14 @@ | |||||
// 参数增加、删除、修改、保存 | // 参数增加、删除、修改、保存 | ||||
function Add_parameter(){ | function Add_parameter(){ | ||||
let placeholder_value='{{.i18n.Tr "repo.modelarts.train_job.parameter_value"}}' | |||||
let placeholder_name='{{.i18n.Tr "repo.modelarts.train_job.parameter_name"}}' | |||||
value = '<div class="two fields">' + | value = '<div class="two fields">' + | ||||
'<div class="field">' + | '<div class="field">' + | ||||
'<input type="text" name="shipping_first-name" placeholder={{.i18n.Tr "repo.modelarts.train_job.parameter_name"}}> ' + | |||||
'<input type="text" name="shipping_first-name" placeholder="' + placeholder_name+ '">' + | |||||
'</div> ' + | '</div> ' + | ||||
'<div class="field"> ' + | '<div class="field"> ' + | ||||
'<input type="text" name="shipping_last-name" placeholder={{.i18n.Tr "repo.modelarts.train_job.parameter_value"}}>' + | |||||
'<input type="text" name="shipping_last-name" placeholder="' + placeholder_value+ '">' + | |||||
'</div>'+ | '</div>'+ | ||||
'<span>' + | '<span>' + | ||||
'<i class="trash icon">' + | '<i class="trash icon">' + | ||||
@@ -332,12 +332,14 @@ | |||||
}); | }); | ||||
// 参数增加、删除、修改、保存 | // 参数增加、删除、修改、保存 | ||||
function Add_parameter(i) { | function Add_parameter(i) { | ||||
let placeholder_value='{{.i18n.Tr "repo.modelarts.train_job.parameter_value"}}' | |||||
let placeholder_name='{{.i18n.Tr "repo.modelarts.train_job.parameter_name"}}' | |||||
value = '<div class="two fields width85" id= "para' + i + '">' + | value = '<div class="two fields width85" id= "para' + i + '">' + | ||||
'<div class="field">' + | '<div class="field">' + | ||||
'<input type="text" name="shipping_first-name" required placeholder={{.i18n.Tr "repo.modelarts.train_job.parameter_name"}}> ' + | |||||
'<input type="text" name="shipping_first-name" required placeholder="' + placeholder_name+ '">' + | |||||
'</div> ' + | '</div> ' + | ||||
'<div class="field"> ' + | '<div class="field"> ' + | ||||
'<input type="text" name="shipping_last-name" required placeholder={{.i18n.Tr "repo.modelarts.train_job.parameter_value"}}>' + | |||||
'<input type="text" name="shipping_last-name" required placeholder="' + placeholder_value+ '">' + | |||||
'</div>' + | '</div>' + | ||||
'<span>' + | '<span>' + | ||||
'<i class="trash icon">' + | '<i class="trash icon">' + | ||||
@@ -514,11 +514,11 @@ | |||||
<div | <div | ||||
style="position: relative;border: 1px solid rgba(0,0,0,.2);padding: 0 10px;margin-top: 10px;"> | style="position: relative;border: 1px solid rgba(0,0,0,.2);padding: 0 10px;margin-top: 10px;"> | ||||
<span> | <span> | ||||
<a title="滚动到顶部" style="position: absolute; right: -32px;cursor: pointer;" | |||||
<a title="{{$.i18n.Tr "repo.log_scroll_start"}}" style="position: absolute; right: -32px;cursor: pointer;" | |||||
class="log_top" data-version="{{.VersionName}}"><i class="icon-to-top"></i></a> | class="log_top" data-version="{{.VersionName}}"><i class="icon-to-top"></i></a> | ||||
</span> | </span> | ||||
<span class="log-info-{{.VersionName}}"> | <span class="log-info-{{.VersionName}}"> | ||||
<a title="滚动到底部" style="position: absolute; bottom: 10px;right: -32px;cursor: pointer;" | |||||
<a title="{{$.i18n.Tr "repo.log_scroll_end"}}" style="position: absolute; bottom: 10px;right: -32px;cursor: pointer;" | |||||
class="log_bottom" data-version="{{.VersionName}}"><i | class="log_bottom" data-version="{{.VersionName}}"><i | ||||
class="icon-to-bottom"></i></a> | class="icon-to-bottom"></i></a> | ||||
</span> | </span> | ||||
@@ -593,7 +593,7 @@ | |||||
<div id="newmodel"> | <div id="newmodel"> | ||||
<div class="ui modal second"> | <div class="ui modal second"> | ||||
<div class="header" style="padding: 1rem;background-color: rgba(240, 240, 240, 100);"> | <div class="header" style="padding: 1rem;background-color: rgba(240, 240, 240, 100);"> | ||||
<h4 id="model_header">导入新模型</h4> | |||||
<h4 id="model_header">{{.i18n.Tr "repo.model.manage.import_new_model"}}</h4> | |||||
</div> | </div> | ||||
<div class="content content-padding"> | <div class="content content-padding"> | ||||
<form id="formId" method="POST" class="ui form"> | <form id="formId" method="POST" class="ui form"> | ||||
@@ -604,34 +604,34 @@ | |||||
<div class="two inline fields "> | <div class="two inline fields "> | ||||
<div class="required ten wide field"> | <div class="required ten wide field"> | ||||
<label style="margin-left: -23px;">选择训练任务</label> | |||||
<label style="margin-left: -23px;">{{.i18n.Tr "repo.model.manage.createtrainjob"}}</label> | |||||
<input type="hidden" class="width83" id="JobId" name="JobId" readonly required> | <input type="hidden" class="width83" id="JobId" name="JobId" readonly required> | ||||
<input class="width83" id="JobName" readonly required> | <input class="width83" id="JobName" readonly required> | ||||
</div> | </div> | ||||
<div class="required six widde field"> | <div class="required six widde field"> | ||||
<label>版本</label> | |||||
<label>{{.i18n.Tr "repo.model.manage.version"}}</label> | |||||
<input class="width70" id="VersionName" name="VersionName" readonly required> | <input class="width70" id="VersionName" name="VersionName" readonly required> | ||||
</div> | </div> | ||||
</div> | </div> | ||||
<div class="required inline field" id="modelname"> | <div class="required inline field" id="modelname"> | ||||
<label>模型名称</label> | |||||
<label>{{.i18n.Tr "repo.model.manage.model_name"}}</label> | |||||
<input style="width: 45%;" id="name" name="Name" required maxlength="25" | <input style="width: 45%;" id="name" name="Name" required maxlength="25" | ||||
onkeyup="this.value=this.value.replace(/[, ]/g,'')"> | onkeyup="this.value=this.value.replace(/[, ]/g,'')"> | ||||
</div> | </div> | ||||
<div class="required inline field" id="verionname"> | <div class="required inline field" id="verionname"> | ||||
<label>模型版本</label> | |||||
<label>{{.i18n.Tr "repo.modelconvert.modelversion"}}</label> | |||||
<input style="width: 45%;" id="version" name="Version" value="" readonly required maxlength="255"> | <input style="width: 45%;" id="version" name="Version" value="" readonly required maxlength="255"> | ||||
</div> | </div> | ||||
<div class="unite min_title inline field required"> | <div class="unite min_title inline field required"> | ||||
<label>模型框架</label> | |||||
<label>{{.i18n.Tr "repo.model.manage.engine"}}</label> | |||||
<input type="hidden" id="Engine" name="Engine" required> | <input type="hidden" id="Engine" name="Engine" required> | ||||
<input style="width: 45%;" id="Engine_name" name="Engine_name" readonly required maxlength="255"> | <input style="width: 45%;" id="Engine_name" name="Engine_name" readonly required maxlength="255"> | ||||
</div> | </div> | ||||
<div class="unite min_title inline fields required"> | <div class="unite min_title inline fields required"> | ||||
<div class="field required"> | <div class="field required"> | ||||
<label for="modelSelectedFile">模型文件</label> | |||||
<label for="modelSelectedFile">{{.i18n.Tr "repo.model.manage.modelfile"}}</label> | |||||
</div> | </div> | ||||
<div class="thirteen wide field" style="position:relative"> | <div class="thirteen wide field" style="position:relative"> | ||||
<input id="modelSelectedFile" type="text" readonly required onclick="showMenu();" name="modelSelectedFile" > | <input id="modelSelectedFile" type="text" readonly required onclick="showMenu();" name="modelSelectedFile" > | ||||
@@ -641,12 +641,12 @@ | |||||
</div> | </div> | ||||
</div> | </div> | ||||
<div class="inline field"> | <div class="inline field"> | ||||
<label>模型标签</label> | |||||
<label>{{.i18n.Tr "repo.model.manage.modellabel"}}</label> | |||||
<input style="width: 83%;margin-left: 7px;" id="label" name="Label" maxlength="255" | <input style="width: 83%;margin-left: 7px;" id="label" name="Label" maxlength="255" | ||||
placeholder='{{.i18n.Tr "repo.modelarts.train_job.label_place"}}'> | placeholder='{{.i18n.Tr "repo.modelarts.train_job.label_place"}}'> | ||||
</div> | </div> | ||||
<div class="inline field"> | <div class="inline field"> | ||||
<label for="description">模型描述</label> | |||||
<label for="description">{{.i18n.Tr "repo.model.manage.modeldesc"}}</label> | |||||
<textarea style="width: 83%;margin-left: 7px;" id="Description" name="Description" rows="3" | <textarea style="width: 83%;margin-left: 7px;" id="Description" name="Description" rows="3" | ||||
maxlength="255" placeholder='{{.i18n.Tr "repo.modelarts.train_job.new_place"}}' | maxlength="255" placeholder='{{.i18n.Tr "repo.modelarts.train_job.new_place"}}' | ||||
onchange="this.value=this.value.substring(0, 255)" | onchange="this.value=this.value.substring(0, 255)" | ||||
@@ -280,12 +280,14 @@ | |||||
// 参数增加、删除、修改、保存 | // 参数增加、删除、修改、保存 | ||||
function Add_parameter(i){ | function Add_parameter(i){ | ||||
let placeholder_value='{{.i18n.Tr "repo.modelarts.train_job.parameter_value"}}' | |||||
let placeholder_name='{{.i18n.Tr "repo.modelarts.train_job.parameter_name"}}' | |||||
value = '<div class="two fields width85" id= "para'+ i +'">' + | value = '<div class="two fields width85" id= "para'+ i +'">' + | ||||
'<div class="field">' + | '<div class="field">' + | ||||
'<input type="text" name="shipping_first-name" required placeholder={{.i18n.Tr "repo.modelarts.train_job.parameter_name"}}> ' + | |||||
'<input type="text" name="shipping_first-name" required placeholder="' + placeholder_name+ '">' + | |||||
'</div> ' + | '</div> ' + | ||||
'<div class="field"> ' + | '<div class="field"> ' + | ||||
'<input type="text" name="shipping_last-name" required placeholder={{.i18n.Tr "repo.modelarts.train_job.parameter_value"}}>' + | |||||
'<input type="text" name="shipping_last-name" required placeholder="' + placeholder_value+ '">' + | |||||
'</div>'+ | '</div>'+ | ||||
'<span>' + | '<span>' + | ||||
'<i class="trash icon">' + | '<i class="trash icon">' + | ||||
@@ -47,13 +47,12 @@ | |||||
{{if eq .MODEL_CONVERT_COUNT 0}} | {{if eq .MODEL_CONVERT_COUNT 0}} | ||||
<div class="ui placeholder segment bgtask-none"> | <div class="ui placeholder segment bgtask-none"> | ||||
<div class="ui icon header bgtask-header-pic"></div> | <div class="ui icon header bgtask-header-pic"></div> | ||||
<div class="bgtask-content-header">未创建过模型转换任务</div> | |||||
<div class="bgtask-content-header">{{$.i18n.Tr "repo.modelconvert.notcreate"}}</div> | |||||
<div class="bgtask-content"> | <div class="bgtask-content"> | ||||
{{if eq .MODEL_COUNT 0}} | {{if eq .MODEL_COUNT 0}} | ||||
<div class="bgtask-content-txt">请您先导入<a href="{{.RepoLink}}/modelmanage/show_model">模型</a>,然后再对其进行转换。</div> | |||||
<div class="bgtask-content-txt">{{$.i18n.Tr "repo.modelconvert.importfirst1"}}<a href="{{.RepoLink}}/modelmanage/show_model">{{$.i18n.Tr "repo.modelconvert.importfirst2"}}</a>{{$.i18n.Tr "repo.modelconvert.importfirst3"}}</div> | |||||
{{end}} | {{end}} | ||||
<div class="bgtask-content-txt">使用说明:可以参考启智AI协作平台<a | |||||
href="https://git.openi.org.cn/zeizei/OpenI_Learning">小白训练营课程。</a></div> | |||||
<div class="bgtask-content-txt">{{$.i18n.Tr "repo.platform_instructions"}}</div> | |||||
</div> | </div> | ||||
</div> | </div> | ||||
@@ -68,19 +67,19 @@ | |||||
<div class="ui grid stackable" style="background: #f0f0f0;;"> | <div class="ui grid stackable" style="background: #f0f0f0;;"> | ||||
<div class="row"> | <div class="row"> | ||||
<div class="three wide column padding0"> | <div class="three wide column padding0"> | ||||
<span style="margin:0 6px">任务名称</span> | |||||
<span style="margin:0 6px">{{$.i18n.Tr "repo.modelconvert.taskname"}}</span> | |||||
</div> | </div> | ||||
<div class="two wide column text center padding0"> | <div class="two wide column text center padding0"> | ||||
<span>状态</span> | |||||
<span>{{$.i18n.Tr "repo.modelconvert.taskstatus"}}</span> | |||||
</div> | </div> | ||||
<div class="two wide column text center padding0"> | <div class="two wide column text center padding0"> | ||||
<span>原模型框架</span> | |||||
<span>{{$.i18n.Tr "repo.modelconvert.srcengine"}}</span> | |||||
</div> | </div> | ||||
<div class="two wide column text center padding0"> | <div class="two wide column text center padding0"> | ||||
<span>转换后格式</span> | |||||
<span>{{$.i18n.Tr "repo.modelconvert.outputformat"}}</span> | |||||
</div> | </div> | ||||
<div class="two wide column text center padding0"> | <div class="two wide column text center padding0"> | ||||
<span>创建时间</span> | |||||
<span>{{$.i18n.Tr "repo.modelconvert.createtime"}}</span> | |||||
</div> | </div> | ||||
<div class="one wide column text center padding0"> | <div class="one wide column text center padding0"> | ||||
<span>{{$.i18n.Tr "repo.cloudbrain_creator"}}</span> | <span>{{$.i18n.Tr "repo.cloudbrain_creator"}}</span> | ||||
@@ -143,10 +142,10 @@ | |||||
{{if .IsCanOper}} | {{if .IsCanOper}} | ||||
<a id="ai-download-{{.ID}}" href="{{$.Repository.HTMLURL}}/modelmanage/download_model_convert/{{.ID}}?AllDownload=true&a=1" class='ui basic {{if eq .Status "SUCCEEDED" "COMPLETED"}}blue {{else}}disabled {{end}}button' style="border-radius: .28571429rem;"> | <a id="ai-download-{{.ID}}" href="{{$.Repository.HTMLURL}}/modelmanage/download_model_convert/{{.ID}}?AllDownload=true&a=1" class='ui basic {{if eq .Status "SUCCEEDED" "COMPLETED"}}blue {{else}}disabled {{end}}button' style="border-radius: .28571429rem;"> | ||||
下载 | |||||
{{$.i18n.Tr "repo.modelconvert.download"}} | |||||
</a> | </a> | ||||
{{else}} | {{else}} | ||||
<a class="ui basic disabled button">下载</a> | |||||
<a class="ui basic disabled button">{{$.i18n.Tr "repo.modelconvert.download"}}</a> | |||||
{{end}} | {{end}} | ||||
</div> | </div> | ||||
</div> | </div> | ||||
@@ -211,7 +210,7 @@ | |||||
<input type="hidden" name="_csrf" value=""> | <input type="hidden" name="_csrf" value=""> | ||||
<div class="unite min_title required inline fields" id="task_name"> | <div class="unite min_title required inline fields" id="task_name"> | ||||
<div class="three wide field right aligned"> | <div class="three wide field right aligned"> | ||||
<label for="model_convert_name">任务名称</label> | |||||
<label for="model_convert_name">{{$.i18n.Tr "repo.modelconvert.taskname"}}</label> | |||||
</div> | </div> | ||||
<div class="twelve wide field"> | <div class="twelve wide field"> | ||||
<input id="model_convert_name" name="model_convert_name" required maxlength="25" onkeyup="this.value=this.value.replace(/[, ]/g,'')"> | <input id="model_convert_name" name="model_convert_name" required maxlength="25" onkeyup="this.value=this.value.replace(/[, ]/g,'')"> | ||||
@@ -219,10 +218,10 @@ | |||||
</div> | </div> | ||||
<div class="unite min_title inline fields required"> | <div class="unite min_title inline fields required"> | ||||
<div class="three wide field right aligned"> | <div class="three wide field right aligned"> | ||||
<label for="choice_model">模型名称</label> | |||||
<label for="choice_model">{{$.i18n.Tr "repo.modelconvert.modelname"}}</label> | |||||
</div> | </div> | ||||
<div class="ui dropdown selection search eight wide field loading" id="choice_model" name="choice_model"> | <div class="ui dropdown selection search eight wide field loading" id="choice_model" name="choice_model"> | ||||
<div class="default text">选择模型</div> | |||||
<div class="default text">{{$.i18n.Tr "repo.modelconvert.selectmodel"}}</div> | |||||
<i class="dropdown icon"></i> | <i class="dropdown icon"></i> | ||||
<div class="menu" id="model-name"> | <div class="menu" id="model-name"> | ||||
</div> | </div> | ||||
@@ -230,12 +229,12 @@ | |||||
</div> | </div> | ||||
<div class="unite min_title inline fields required"> | <div class="unite min_title inline fields required"> | ||||
<div class="three wide field right aligned"> | <div class="three wide field right aligned"> | ||||
<label for="choice_version">模型版本</label> | |||||
<label for="choice_version">{{$.i18n.Tr "repo.modelconvert.modelversion"}}</label> | |||||
</div> | </div> | ||||
<div class="ui dropdown selection search eight wide field" id="choice_version"> | <div class="ui dropdown selection search eight wide field" id="choice_version"> | ||||
<input type="hidden" id="ModelVersion" name="ModelVersion" required> | <input type="hidden" id="ModelVersion" name="ModelVersion" required> | ||||
<div class="default text">选择版本</div> | |||||
<div class="default text">{{$.i18n.Tr "repo.modelconvert.selectversion"}}</div> | |||||
<i class="dropdown icon"></i> | <i class="dropdown icon"></i> | ||||
<div class="menu" id="model-version"> | <div class="menu" id="model-version"> | ||||
@@ -244,11 +243,11 @@ | |||||
</div> | </div> | ||||
<div class="unite min_title inline fields required"> | <div class="unite min_title inline fields required"> | ||||
<div class="three wide field right aligned"> | <div class="three wide field right aligned"> | ||||
<label for="choice_file">模型文件</label> | |||||
<label for="choice_file">{{$.i18n.Tr "repo.model.manage.modelfile"}}</label> | |||||
</div> | </div> | ||||
<div class="ui dropdown selection search eight wide field" id="choice_file"> | <div class="ui dropdown selection search eight wide field" id="choice_file"> | ||||
<input type="hidden" id="ModelFile" name="ModelFile" required> | <input type="hidden" id="ModelFile" name="ModelFile" required> | ||||
<div class="default text">选择模型文件</div> | |||||
<div class="default text">{{$.i18n.Tr "repo.modelconvert.selectmodelfile"}}</div> | |||||
<i class="dropdown icon"></i> | <i class="dropdown icon"></i> | ||||
<div class="menu" id="model-file"> | <div class="menu" id="model-file"> | ||||
@@ -261,7 +260,7 @@ | |||||
</div> | </div> | ||||
<div class="unite min_title inline fields required"> | <div class="unite min_title inline fields required"> | ||||
<div class="three wide field right aligned"> | <div class="three wide field right aligned"> | ||||
<label for="SrcEngine">原模型框架</label> | |||||
<label for="SrcEngine">{{$.i18n.Tr "repo.modelconvert.srcengine"}}</label> | |||||
</div> | </div> | ||||
<select id="SrcEngine" class="ui search dropdown eight wide field" placeholder="" style='color:#000000;' name="SrcEngine" onchange="javascript:srcEngineChanged()"> | <select id="SrcEngine" class="ui search dropdown eight wide field" placeholder="" style='color:#000000;' name="SrcEngine" onchange="javascript:srcEngineChanged()"> | ||||
@@ -270,7 +269,7 @@ | |||||
</div> | </div> | ||||
<div class="unite min_title required inline fields" id="inputdataformat_div"> | <div class="unite min_title required inline fields" id="inputdataformat_div"> | ||||
<div class="three wide field right aligned"> | <div class="three wide field right aligned"> | ||||
<label for="inputdataformat">输入数据格式</label> | |||||
<label for="inputdataformat">{{$.i18n.Tr "repo.modelconvert.inputdataformat"}}</label> | |||||
</div> | </div> | ||||
<select id="inputdataformat" class="ui search dropdown eight wide field" placeholder="" style='width:50%' name="inputdataformat"> | <select id="inputdataformat" class="ui search dropdown eight wide field" placeholder="" style='width:50%' name="inputdataformat"> | ||||
@@ -281,16 +280,16 @@ | |||||
</div> | </div> | ||||
<div class="unite min_title required inline fields" id="inputshape_div"> | <div class="unite min_title required inline fields" id="inputshape_div"> | ||||
<div class="three wide field right aligned"> | <div class="three wide field right aligned"> | ||||
<label for="inputshape">输入张量形状</label> | |||||
<label for="inputshape">{{$.i18n.Tr "repo.modelconvert.inputshape"}}</label> | |||||
</div> | </div> | ||||
<div class="eight wide field"> | <div class="eight wide field"> | ||||
<input id="inputshape" name="inputshape" placeholder="如:1,1,32,32,与输入数据格式对应。" required maxlength="25"> | |||||
<input id="inputshape" name="inputshape" placeholder="{{$.i18n.Tr "repo.modelconvert.inputshapetip"}}" required maxlength="25"> | |||||
</div> | </div> | ||||
</div> | </div> | ||||
<div class="unite min_title inline fields required"> | <div class="unite min_title inline fields required"> | ||||
<div class="three wide field right aligned"> | <div class="three wide field right aligned"> | ||||
<label for="DestFormat">转换后格式</label> | |||||
<label for="DestFormat">{{$.i18n.Tr "repo.modelconvert.outputformat"}}</label> | |||||
</div> | </div> | ||||
<select id="DestFormat" class="ui search dropdown eight wide field" placeholder="" style='width:50%' name="DestFormat"> | <select id="DestFormat" class="ui search dropdown eight wide field" placeholder="" style='width:50%' name="DestFormat"> | ||||
@@ -300,7 +299,7 @@ | |||||
</div> | </div> | ||||
<div class="unite min_title inline fields"> | <div class="unite min_title inline fields"> | ||||
<div class="three wide field right aligned"> | <div class="three wide field right aligned"> | ||||
<label for="NetOutputFormat">网络输出数据类型 </label> | |||||
<label for="NetOutputFormat">{{$.i18n.Tr "repo.modelconvert.netoutputdata"}} </label> | |||||
</div> | </div> | ||||
<select id="NetOutputFormat" class="ui search dropdown eight wide field" placeholder="" style='width:50%' name="NetOutputFormat"> | <select id="NetOutputFormat" class="ui search dropdown eight wide field" placeholder="" style='width:50%' name="NetOutputFormat"> | ||||
@@ -310,7 +309,7 @@ | |||||
</div> | </div> | ||||
<div class="unite min_title inline fields"> | <div class="unite min_title inline fields"> | ||||
<div class="three wide field right aligned"> | <div class="three wide field right aligned"> | ||||
<label for="Description">任务描述 </label> | |||||
<label for="Description">{{$.i18n.Tr "repo.modelconvert.taskdesc"}} </label> | |||||
</div> | </div> | ||||
<div class="twelve wide field"> | <div class="twelve wide field"> | ||||
<textarea id="Description" name="Description" rows="1" maxlength="255" placeholder='{{.i18n.Tr "repo.modelarts.train_job.new_place"}}' onchange="this.value=this.value.substring(0, 255)" onkeydown="this.value=this.value.substring(0, 255)" onkeyup="this.value=this.value.substring(0, 256)"></textarea> | <textarea id="Description" name="Description" rows="1" maxlength="255" placeholder='{{.i18n.Tr "repo.modelarts.train_job.new_place"}}' onchange="this.value=this.value.substring(0, 255)" onkeydown="this.value=this.value.substring(0, 255)" onkeyup="this.value=this.value.substring(0, 256)"></textarea> | ||||
@@ -318,7 +317,7 @@ | |||||
</div> | </div> | ||||
<div class="unite min_title inline field"> | <div class="unite min_title inline field"> | ||||
<button id="submitId" name="submitId" type="button" class="ui create_train_job green button" style="position: absolute;margin-left: 150px;"> | <button id="submitId" name="submitId" type="button" class="ui create_train_job green button" style="position: absolute;margin-left: 150px;"> | ||||
新建任务 | |||||
{{$.i18n.Tr "repo.modelconvert.newtask"}} | |||||
</button> | </button> | ||||
</div> | </div> | ||||
</div> | </div> | ||||
@@ -357,7 +356,7 @@ | |||||
data['name']= $('#model_convert_name').val() | data['name']= $('#model_convert_name').val() | ||||
if(data['name']==""){ | if(data['name']==""){ | ||||
$('.ui.error.message').text("请输入任务名称。") | |||||
$('.ui.error.message').text("{{.i18n.Tr "repo.modelconvert.tasknameempty"}}") | |||||
$('.ui.error.message').css('display','block') | $('.ui.error.message').css('display','block') | ||||
$("#task_name").addClass("error") | $("#task_name").addClass("error") | ||||
return false | return false | ||||
@@ -371,7 +370,7 @@ | |||||
data['inputshape']= $('#inputshape').val(); | data['inputshape']= $('#inputshape').val(); | ||||
if(inputshapeNotValid(data['inputshape'])){ | if(inputshapeNotValid(data['inputshape'])){ | ||||
$('.ui.error.message').text("格式输入错误,请输入如:1,1,32,32,与输入数据格式对应。") | |||||
$('.ui.error.message').text("{{.i18n.Tr "repo.modelconvert.inputshapeerror"}}") | |||||
$('.ui.error.message').css('display','block') | $('.ui.error.message').css('display','block') | ||||
$("#inputshape_div").addClass("error") | $("#inputshape_div").addClass("error") | ||||
return false | return false | ||||
@@ -411,7 +410,7 @@ | |||||
.modal({ | .modal({ | ||||
centered: false, | centered: false, | ||||
onShow:function(){ | onShow:function(){ | ||||
$('#model_header').text("创建模型转换任务") | |||||
$('#model_header').text("{{.i18n.Tr "repo.modelconvert.createtask"}}") | |||||
$('.ui.dimmer').css({"background-color":"rgb(136, 136, 136,0.7)"}) | $('.ui.dimmer').css({"background-color":"rgb(136, 136, 136,0.7)"}) | ||||
createModelName() | createModelName() | ||||
loadModelList() | loadModelList() | ||||
@@ -173,7 +173,7 @@ td, th { | |||||
<h4 class="ui header" id="vertical-segment"> | <h4 class="ui header" id="vertical-segment"> | ||||
<div class="ui breadcrumb"> | <div class="ui breadcrumb"> | ||||
<a class="section" href="{{$.RepoLink}}/modelmanage/convert_model"> | <a class="section" href="{{$.RepoLink}}/modelmanage/convert_model"> | ||||
模型转换任务 | |||||
{{.i18n.Tr "repo.modelconvert.taskurlname"}} | |||||
</a> | </a> | ||||
<div class="divider"> / </div> | <div class="divider"> / </div> | ||||
<div class="active section">{{.Name}}</div> | <div class="active section">{{.Name}}</div> | ||||
@@ -243,7 +243,7 @@ td, th { | |||||
<tr class="ti-no-ng-animate"> | <tr class="ti-no-ng-animate"> | ||||
<td class="ti-no-ng-animate ti-text-form-label text-width80"> | <td class="ti-no-ng-animate ti-text-form-label text-width80"> | ||||
输入张量形状 | |||||
{{$.i18n.Tr "repo.modelconvert.inputshape"}} | |||||
</td> | </td> | ||||
<td class="ti-text-form-content"> | <td class="ti-text-form-content"> | ||||
@@ -255,7 +255,7 @@ td, th { | |||||
<tr class="ti-no-ng-animate"> | <tr class="ti-no-ng-animate"> | ||||
<td class="ti-no-ng-animate ti-text-form-label text-width80"> | <td class="ti-no-ng-animate ti-text-form-label text-width80"> | ||||
输入数据格式 | |||||
{{$.i18n.Tr "repo.modelconvert.inputdataformat"}} | |||||
</td> | </td> | ||||
<td class="ti-text-form-content"> | <td class="ti-text-form-content"> | ||||
@@ -291,7 +291,7 @@ td, th { | |||||
<tr class="ti-no-ng-animate"> | <tr class="ti-no-ng-animate"> | ||||
<td class="ti-no-ng-animate ti-text-form-label text-width80"> | <td class="ti-no-ng-animate ti-text-form-label text-width80"> | ||||
网络输出数据类型 | |||||
{{$.i18n.Tr "repo.modelconvert.netoutputdata"}} | |||||
</td> | </td> | ||||
<td class="ti-text-form-content"> | <td class="ti-text-form-content"> | ||||
@@ -311,7 +311,7 @@ td, th { | |||||
<tr class="ti-no-ng-animate"> | <tr class="ti-no-ng-animate"> | ||||
<td class="ti-no-ng-animate ti-text-form-label text-width80"> | <td class="ti-no-ng-animate ti-text-form-label text-width80"> | ||||
模型名称 | |||||
{{$.i18n.Tr "repo.modelconvert.modelname"}} | |||||
</td> | </td> | ||||
<td class="ti-text-form-content"> | <td class="ti-text-form-content"> | ||||
@@ -324,7 +324,7 @@ td, th { | |||||
<tr class="ti-no-ng-animate"> | <tr class="ti-no-ng-animate"> | ||||
<td class="ti-no-ng-animate ti-text-form-label text-width80"> | <td class="ti-no-ng-animate ti-text-form-label text-width80"> | ||||
模型版本 | |||||
{{$.i18n.Tr "repo.modelconvert.modelversion"}} | |||||
</td> | </td> | ||||
<td class="ti-text-form-content"> | <td class="ti-text-form-content"> | ||||
@@ -337,7 +337,7 @@ td, th { | |||||
<tr class="ti-no-ng-animate"> | <tr class="ti-no-ng-animate"> | ||||
<td class="ti-no-ng-animate ti-text-form-label text-width80"> | <td class="ti-no-ng-animate ti-text-form-label text-width80"> | ||||
模型文件 | |||||
{{$.i18n.Tr "repo.model.manage.modelfile"}} | |||||
</td> | </td> | ||||
<td class="ti-text-form-content"> | <td class="ti-text-form-content"> | ||||
@@ -350,7 +350,7 @@ td, th { | |||||
<tr class="ti-no-ng-animate"> | <tr class="ti-no-ng-animate"> | ||||
<td class="ti-no-ng-animate ti-text-form-label text-width80"> | <td class="ti-no-ng-animate ti-text-form-label text-width80"> | ||||
原模型框架 | |||||
{{$.i18n.Tr "repo.modelconvert.srcengine"}} | |||||
</td> | </td> | ||||
<td class="ti-text-form-content"> | <td class="ti-text-form-content"> | ||||
@@ -362,7 +362,7 @@ td, th { | |||||
<tr class="ti-no-ng-animate"> | <tr class="ti-no-ng-animate"> | ||||
<td class="ti-no-ng-animate ti-text-form-label text-width80"> | <td class="ti-no-ng-animate ti-text-form-label text-width80"> | ||||
转换后格式 | |||||
{{$.i18n.Tr "repo.modelconvert.outputformat"}} | |||||
</td> | </td> | ||||
<td class="ti-text-form-content"> | <td class="ti-text-form-content"> | ||||
@@ -439,10 +439,10 @@ td, th { | |||||
<div class="ui tab" data-tab="five"> | <div class="ui tab" data-tab="five"> | ||||
<div style="position: relative;"> | <div style="position: relative;"> | ||||
<span> | <span> | ||||
<a title="滚动到顶部" style="position: absolute; right: -32px;cursor: pointer;" class="log_top" data-version="V0001"><i class="icon-to-top"></i></a> | |||||
<a title="{{$.i18n.Tr "repo.log_scroll_start"}}" style="position: absolute; right: -32px;cursor: pointer;" class="log_top" data-version="V0001"><i class="icon-to-top"></i></a> | |||||
</span> | </span> | ||||
<span> | <span> | ||||
<a title="滚动到底部" style="position: absolute; bottom: 10px;right: -32px;cursor: pointer;" class="log_bottom" data-version="V0001"><i class="icon-to-bottom"></i></a> | |||||
<a title="{{$.i18n.Tr "repo.log_scroll_end"}}" style="position: absolute; bottom: 10px;right: -32px;cursor: pointer;" class="log_bottom" data-version="V0001"><i class="icon-to-bottom"></i></a> | |||||
</span> | </span> | ||||
<div id="log_npu_message" class="ui message message" style="display: none;"> | <div id="log_npu_message" class="ui message message" style="display: none;"> | ||||
<div id="log_npu_header"></div> | <div id="log_npu_header"></div> | ||||
@@ -64,17 +64,16 @@ | |||||
{{if eq $.MODEL_COUNT 0}} | {{if eq $.MODEL_COUNT 0}} | ||||
<div class="ui placeholder segment bgtask-none"> | <div class="ui placeholder segment bgtask-none"> | ||||
<div class="ui icon header bgtask-header-pic"></div> | <div class="ui icon header bgtask-header-pic"></div> | ||||
<div class="bgtask-content-header">未创建过模型</div> | |||||
<div class="bgtask-content-header">{{$.i18n.Tr "repo.model.manage.notcreatemodel"}}</div> | |||||
<div class="bgtask-content"> | <div class="bgtask-content"> | ||||
{{if $.RepoIsEmpty}} | {{if $.RepoIsEmpty}} | ||||
<div class="bgtask-content-txt">代码版本:您还没有初始化代码仓库,请先<a href="{{.RepoLink}}">创建代码版本;</a></div> | |||||
<div class="bgtask-content-txt">{{$.i18n.Tr "repo.model.manage.init1"}}<a href="{{.RepoLink}}">{{$.i18n.Tr "repo.model.manage.init2"}}</a></div> | |||||
{{end}} | {{end}} | ||||
{{if eq $.TRAIN_COUNT 0}} | {{if eq $.TRAIN_COUNT 0}} | ||||
<div class="bgtask-content-txt">训练任务:您还没创建过训练任务,请先创建<a | |||||
href="{{.RepoLink}}/modelarts/train-job">训练任务</a>。</div> | |||||
<div class="bgtask-content-txt">{{$.i18n.Tr "repo.model.manage.createtrainjob_tip"}}<a | |||||
href="{{.RepoLink}}/modelarts/train-job">{{$.i18n.Tr "repo.model.manage.createtrainjob"}}</a>。</div> | |||||
{{end}} | {{end}} | ||||
<div class="bgtask-content-txt">使用说明:可以参考启智AI协作平台<a | |||||
href="https://git.openi.org.cn/zeizei/OpenI_Learning">小白训练营课程。</a></div> | |||||
<div class="bgtask-content-txt">{{$.i18n.Tr "repo.platform_instructions"}}</a></div> | |||||
</div> | </div> | ||||
<div style="display: none;"> | <div style="display: none;"> | ||||
@@ -108,11 +107,11 @@ | |||||
<div id="deletemodel"> | <div id="deletemodel"> | ||||
<div class="ui basic modal first"> | <div class="ui basic modal first"> | ||||
<div class="ui icon header"> | <div class="ui icon header"> | ||||
<i class="trash icon"></i> 删除模型 | |||||
<i class="trash icon"></i> {{.i18n.Tr "repo.model.manage.delete"}} | |||||
</div> | </div> | ||||
<div class="content"> | <div class="content"> | ||||
<p>你确认删除该模型么?此模型一旦删除不可恢复。</p> | |||||
<p>{{.i18n.Tr "repo.model.manage.delete_confirm"}}</p> | |||||
</div> | </div> | ||||
<div class="actions"> | <div class="actions"> | ||||
<div class="ui red basic inverted cancel button"> | <div class="ui red basic inverted cancel button"> | ||||
@@ -139,21 +138,21 @@ | |||||
<input type="hidden" name="_csrf" value=""> | <input type="hidden" name="_csrf" value=""> | ||||
<div class="inline fields"> | <div class="inline fields"> | ||||
<div class="required two wide field right aligned"> | <div class="required two wide field right aligned"> | ||||
<label for="JobId">选择训练任务</label> | |||||
<label for="JobId">{{.i18n.Tr "repo.model.manage.select.trainjob"}}</label> | |||||
</div> | </div> | ||||
<div class="required thirteen wide inline field"> | <div class="required thirteen wide inline field"> | ||||
<div class="ui dropdown selection search loading" id="choice_model"> | <div class="ui dropdown selection search loading" id="choice_model"> | ||||
<input type="hidden" id="JobId" name="JobId" required> | <input type="hidden" id="JobId" name="JobId" required> | ||||
<div class="default text">选择训练任务</div> | |||||
<div class="default text">{{.i18n.Tr "repo.model.manage.select.trainjob"}}</div> | |||||
<i class="dropdown icon"></i> | <i class="dropdown icon"></i> | ||||
<div class="menu" id="job-name"> | <div class="menu" id="job-name"> | ||||
</div> | </div> | ||||
</div> | </div> | ||||
<label for="VersionName">版本</label> | |||||
<label for="VersionName">{{.i18n.Tr "repo.model.manage.version"}}</label> | |||||
<span> </span> | <span> </span> | ||||
<div class="ui dropdown selection search" id="choice_version"> | <div class="ui dropdown selection search" id="choice_version"> | ||||
<input type="hidden" id="VersionName" name="VersionName" required> | <input type="hidden" id="VersionName" name="VersionName" required> | ||||
<div class="default text">选择版本</div> | |||||
<div class="default text">{{.i18n.Tr "repo.model.manage.select.version"}}</div> | |||||
<i class="dropdown icon"></i> | <i class="dropdown icon"></i> | ||||
<div class="menu" id="job-version"> | <div class="menu" id="job-version"> | ||||
@@ -163,7 +162,7 @@ | |||||
</div> | </div> | ||||
<div class="required inline fields" id="modelname"> | <div class="required inline fields" id="modelname"> | ||||
<div class="two wide field right aligned"> | <div class="two wide field right aligned"> | ||||
<label for="Name">模型名称</label> | |||||
<label for="Name">{{.i18n.Tr "repo.model.manage.model_name"}}</label> | |||||
</div> | </div> | ||||
<div class="eight wide field"> | <div class="eight wide field"> | ||||
<input id="name" name="Name" required maxlength="25" onkeyup="this.value=this.value.replace(/[, ]/g,'')"> | <input id="name" name="Name" required maxlength="25" onkeyup="this.value=this.value.replace(/[, ]/g,'')"> | ||||
@@ -171,7 +170,7 @@ | |||||
</div> | </div> | ||||
<div class="required inline fields" id="verionname"> | <div class="required inline fields" id="verionname"> | ||||
<div class="two wide field right aligned"> | <div class="two wide field right aligned"> | ||||
<label for="Version">模型版本</label> | |||||
<label for="Version">{{.i18n.Tr "repo.model.manage.version"}}</label> | |||||
</div> | </div> | ||||
<div class="eight wide field"> | <div class="eight wide field"> | ||||
<input id="version" name="Version" value="" readonly required maxlength="255"> | <input id="version" name="Version" value="" readonly required maxlength="255"> | ||||
@@ -180,11 +179,11 @@ | |||||
<div class="unite min_title inline fields required"> | <div class="unite min_title inline fields required"> | ||||
<div class="two wide field right aligned"> | <div class="two wide field right aligned"> | ||||
<label for="Engine">模型框架</label> | |||||
<label for="Engine">{{.i18n.Tr "repo.model.manage.engine"}}</label> | |||||
</div> | </div> | ||||
<div class="ui ten wide field dropdown selection search" id="choice_Engine"> | <div class="ui ten wide field dropdown selection search" id="choice_Engine"> | ||||
<input type="hidden" id="Engine" name="Engine" required> | <input type="hidden" id="Engine" name="Engine" required> | ||||
<div class="default text newtext">选择模型框架</div> | |||||
<div class="default text newtext">{{.i18n.Tr "repo.model.manage.select.engine"}}</div> | |||||
<i class="dropdown icon"></i> | <i class="dropdown icon"></i> | ||||
<div class="menu" id="job-Engine"> | <div class="menu" id="job-Engine"> | ||||
@@ -195,7 +194,7 @@ | |||||
<div class="unite min_title inline fields required"> | <div class="unite min_title inline fields required"> | ||||
<div class="two wide field right aligned"> | <div class="two wide field right aligned"> | ||||
<label for="modelSelectedFile">模型文件</label> | |||||
<label for="modelSelectedFile">{{.i18n.Tr "repo.model.manage.modelfile"}}</label> | |||||
</div> | </div> | ||||
<div class="thirteen wide field" style="position:relative"> | <div class="thirteen wide field" style="position:relative"> | ||||
<input id="modelSelectedFile" type="text" readonly required onclick="showMenu();" name="modelSelectedFile" > | <input id="modelSelectedFile" type="text" readonly required onclick="showMenu();" name="modelSelectedFile" > | ||||
@@ -207,7 +206,7 @@ | |||||
<div class="inline fields"> | <div class="inline fields"> | ||||
<div class="two wide field right aligned"> | <div class="two wide field right aligned"> | ||||
<label for="Label">模型标签  </label> | |||||
<label for="Label">{{.i18n.Tr "repo.model.manage.modellabel"}}  </label> | |||||
</div> | </div> | ||||
<div class="thirteen wide field"> | <div class="thirteen wide field"> | ||||
<input id="label" name="Label" maxlength="255" placeholder='{{.i18n.Tr "repo.modelarts.train_job.label_place"}}'> | <input id="label" name="Label" maxlength="255" placeholder='{{.i18n.Tr "repo.modelarts.train_job.label_place"}}'> | ||||
@@ -215,7 +214,7 @@ | |||||
</div> | </div> | ||||
<div class="inline fields"> | <div class="inline fields"> | ||||
<div class="two wide field right aligned"> | <div class="two wide field right aligned"> | ||||
<label for="description">模型描述  </label> | |||||
<label for="description">{{.i18n.Tr "repo.model.manage.modeldesc"}}  </label> | |||||
</div> | </div> | ||||
<div class="thirteen wide field"> | <div class="thirteen wide field"> | ||||
<textarea id="Description" name="Description" rows="3" | <textarea id="Description" name="Description" rows="3" | ||||
@@ -86,7 +86,7 @@ | |||||
</div> | </div> | ||||
<div class="ui tab active" data-tab="first"> | <div class="ui tab active" data-tab="first"> | ||||
<div class="half-table"> | <div class="half-table"> | ||||
<span class="model_header_text">基本信息</span> | |||||
<span class="model_header_text">{{$.i18n.Tr "repo.model.manage.baseinfo"}}</span> | |||||
<table class="tableStyle" style="margin-top:20px;"> | <table class="tableStyle" style="margin-top:20px;"> | ||||
<tbody> | <tbody> | ||||
<tr> | <tr> | ||||
@@ -125,7 +125,7 @@ | |||||
</td> | </td> | ||||
</tr> | </tr> | ||||
<tr> | <tr> | ||||
<td class="ti-text-form-label text-width80">训练任务</td> | |||||
<td class="ti-text-form-label text-width80">{{$.i18n.Tr "repo.model.manage.createtrainjob"}}</td> | |||||
<td class="ti-text-form-content word-elipsis"> | <td class="ti-text-form-content word-elipsis"> | ||||
<a id="DisplayJobNameHref" class="title" style="font-size: 14px;" target="_blank"> | <a id="DisplayJobNameHref" class="title" style="font-size: 14px;" target="_blank"> | ||||
<span id="DisplayJobName" class="fitted" style="width: 90%;vertical-align: middle;"></span> | <span id="DisplayJobName" class="fitted" style="width: 90%;vertical-align: middle;"></span> | ||||