@@ -81,7 +81,8 @@ func GetQueuesDetail() (*map[string]int, error) { | |||
var jobResult models.QueueDetailResult | |||
var result = make(map[string]int, 0) | |||
retry := 0 | |||
sendjob: | |||
res, err := client.R(). | |||
SetHeader("Content-Type", "application/json"). | |||
SetAuthToken(TOKEN). | |||
@@ -92,6 +93,12 @@ func GetQueuesDetail() (*map[string]int, error) { | |||
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 { | |||
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.model_version = Model/Version | |||
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.download_log=Download log file | |||
@@ -1232,7 +1232,7 @@ model.manage.version = Version | |||
model.manage.label = Label | |||
model.manage.size = Size | |||
model.manage.create_time = Create Time | |||
model.manage.Description = Description | |||
model.manage.description = Description | |||
model.manage.Accuracy = Accuracy | |||
model.manage.F1 = F1 | |||
model.manage.Precision = Precision | |||
@@ -1244,6 +1244,49 @@ model.convert=Model Transformation | |||
model.list=Model List | |||
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_error2=Only one running model transformation task can be created. | |||
modelconvert.manage.model_not_exist=The model does not exist. | |||
@@ -1257,6 +1257,50 @@ model.convert=模型转换任务 | |||
model.list=模型列表 | |||
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_error2=只能创建一个正在运行的模型转换任务。 | |||
modelconvert.manage.model_not_exist=选择的模型不存在。 | |||
@@ -134,7 +134,7 @@ | |||
</div> | |||
</form> | |||
{{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}} | |||
<input type="hidden" name="action" value="update"> | |||
<input type="hidden" name="job_type" value="BENCHMARK"> | |||
@@ -178,8 +178,7 @@ | |||
</div> | |||
<div class="required unite inline min_title fields" style="width: 90%;margin-left: 5.7rem;"> | |||
<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" | |||
name="benchmark_types_id"> | |||
@@ -193,12 +192,9 @@ | |||
</select> | |||
</div> | |||
<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> | |||
</div> | |||
</div> | |||
@@ -388,17 +388,19 @@ | |||
let value = '' | |||
value += `<div class="two fields width85" id= "para${i}">` | |||
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){ | |||
value +=`<input type="text" class="shipping_first-name" value="${paramsObject.label}">` | |||
}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 class="field">' | |||
if(flag){ | |||
value +=`<input type="text" class="shipping_last-name" value="${paramsObject.value}">` | |||
}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 += '<span><i class="trash icon"></i></span>' | |||
@@ -297,17 +297,19 @@ | |||
let value = '' | |||
value += `<div class="two fields width85" id= "para${i}">` | |||
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){ | |||
value +=`<input type="text" class="shipping_first-name" value="${paramsObject.label}">` | |||
}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 class="field">' | |||
if(flag){ | |||
value +=`<input type="text" class="shipping_last-name" value="${paramsObject.value}">` | |||
}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 += '<span><i class="trash icon"></i></span>' | |||
@@ -584,7 +584,7 @@ | |||
<div id="newmodel"> | |||
<div class="ui modal second"> | |||
<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 class="content content-padding"> | |||
<form id="formId" method="POST" class="ui form"> | |||
@@ -594,26 +594,26 @@ | |||
<input type="hidden" name="trainTaskCreate" value="true"> | |||
<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" id="VersionName" name="VersionName" value="V0001"> | |||
<input style="width: 45%;" id="JobName" readonly required> | |||
</div> | |||
<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" | |||
onkeyup="this.value=this.value.replace(/[, ]/g,'')"> | |||
</div> | |||
<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"> | |||
</div> | |||
<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"> | |||
<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> | |||
<div class="menu" id="job-Engine"> | |||
<option class="active item" data-value="0">PyTorch</option> | |||
@@ -628,7 +628,7 @@ | |||
</div> | |||
<div class="unite min_title inline fields required"> | |||
<div class="field required"> | |||
<label for="modelSelectedFile">模型文件</label> | |||
<label for="modelSelectedFile">{{.i18n.Tr "repo.model.manage.modelfile"}}</label> | |||
</div> | |||
<div class="thirteen wide field" style="position:relative"> | |||
<input id="modelSelectedFile" type="text" readonly required onclick="showMenu();" name="modelSelectedFile" > | |||
@@ -638,12 +638,12 @@ | |||
</div> | |||
</div> | |||
<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" | |||
placeholder='{{.i18n.Tr "repo.modelarts.train_job.label_place"}}'> | |||
</div> | |||
<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" | |||
maxlength="255" placeholder='{{.i18n.Tr "repo.modelarts.train_job.new_place"}}' | |||
onchange="this.value=this.value.substring(0, 255)" | |||
@@ -243,17 +243,19 @@ | |||
let value = '' | |||
value += `<div class="two fields width85" id= "para${i}">` | |||
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){ | |||
value +=`<input type="text" class="shipping_first-name" value="${paramsObject.label}">` | |||
}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 class="field">' | |||
if(flag){ | |||
value +=`<input type="text" class="shipping_last-name" value="${paramsObject.value}">` | |||
}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 += '<span><i class="trash icon"></i></span>' | |||
@@ -269,17 +269,19 @@ | |||
let value = '' | |||
value += `<div class="two fields width85" id= "para${i}">` | |||
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){ | |||
value +=`<input type="text" class="shipping_first-name" value="${paramsObject.label}">` | |||
}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 class="field">' | |||
if(flag){ | |||
value +=`<input type="text" class="shipping_last-name" value="${paramsObject.value}">` | |||
}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 += '<span><i class="trash icon"></i></span>' | |||
@@ -470,11 +470,11 @@ | |||
<div class="ui tab" data-tab="second{{$k}}"> | |||
<div style="position: relative;"> | |||
<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> | |||
</span> | |||
<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="icon-to-bottom"></i></a> | |||
</span> | |||
@@ -541,7 +541,7 @@ | |||
<div id="newmodel"> | |||
<div class="ui modal second"> | |||
<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 class="content content-padding"> | |||
<form id="formId" method="POST" class="ui form"> | |||
@@ -551,26 +551,26 @@ | |||
<input type="hidden" name="trainTaskCreate" value="true"> | |||
<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" id="VersionName" name="VersionName" value="V0001"> | |||
<input style="width: 45%;" id="JobName" readonly required> | |||
</div> | |||
<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" | |||
onkeyup="this.value=this.value.replace(/[, ]/g,'')"> | |||
</div> | |||
<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"> | |||
</div> | |||
<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"> | |||
<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> | |||
<div class="menu" id="job-Engine"> | |||
<option class="active item" data-value="0">PyTorch</option> | |||
@@ -586,7 +586,7 @@ | |||
</div> | |||
<div class="unite min_title inline fields required"> | |||
<div class="field required"> | |||
<label for="modelSelectedFile">模型文件</label> | |||
<label for="modelSelectedFile">{{.i18n.Tr "repo.model.manage.modelfile"}}</label> | |||
</div> | |||
<div class="thirteen wide field" style="position:relative"> | |||
<input id="modelSelectedFile" type="text" readonly required onclick="showMenu();" name="modelSelectedFile" > | |||
@@ -596,12 +596,12 @@ | |||
</div> | |||
</div> | |||
<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" | |||
placeholder='{{.i18n.Tr "repo.modelarts.train_job.label_place"}}'> | |||
</div> | |||
<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" | |||
maxlength="255" placeholder='{{.i18n.Tr "repo.modelarts.train_job.new_place"}}' | |||
onchange="this.value=this.value.substring(0, 255)" | |||
@@ -196,7 +196,7 @@ | |||
{{end}} | |||
</select> | |||
</div> | |||
<span class="tooltips" style="margin-left: 11.5rem;margin-bottom: 1rem;"></span> | |||
<!-- 数据集 --> | |||
<div id="select-multi-dataset"> | |||
@@ -409,12 +409,14 @@ | |||
// 参数增加、删除、修改、保存 | |||
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 +'">' + | |||
'<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 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>'+ | |||
'<span>' + | |||
'<i class="trash icon">' + | |||
@@ -76,10 +76,10 @@ | |||
{{range .para}} | |||
<div class="two fields"> | |||
<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 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> | |||
<span> | |||
<i class="trash icon"> | |||
@@ -151,12 +151,14 @@ | |||
// 参数增加、删除、修改、保存 | |||
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">' + | |||
'<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 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>'+ | |||
'<span>' + | |||
'<i class="trash icon">' + | |||
@@ -332,12 +332,14 @@ | |||
}); | |||
// 参数增加、删除、修改、保存 | |||
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 + '">' + | |||
'<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 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>' + | |||
'<span>' + | |||
'<i class="trash icon">' + | |||
@@ -514,11 +514,11 @@ | |||
<div | |||
style="position: relative;border: 1px solid rgba(0,0,0,.2);padding: 0 10px;margin-top: 10px;"> | |||
<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> | |||
</span> | |||
<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="icon-to-bottom"></i></a> | |||
</span> | |||
@@ -593,7 +593,7 @@ | |||
<div id="newmodel"> | |||
<div class="ui modal second"> | |||
<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 class="content content-padding"> | |||
<form id="formId" method="POST" class="ui form"> | |||
@@ -604,34 +604,34 @@ | |||
<div class="two inline fields "> | |||
<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 class="width83" id="JobName" readonly required> | |||
</div> | |||
<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> | |||
</div> | |||
</div> | |||
<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" | |||
onkeyup="this.value=this.value.replace(/[, ]/g,'')"> | |||
</div> | |||
<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"> | |||
</div> | |||
<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 style="width: 45%;" id="Engine_name" name="Engine_name" readonly required maxlength="255"> | |||
</div> | |||
<div class="unite min_title inline fields required"> | |||
<div class="field required"> | |||
<label for="modelSelectedFile">模型文件</label> | |||
<label for="modelSelectedFile">{{.i18n.Tr "repo.model.manage.modelfile"}}</label> | |||
</div> | |||
<div class="thirteen wide field" style="position:relative"> | |||
<input id="modelSelectedFile" type="text" readonly required onclick="showMenu();" name="modelSelectedFile" > | |||
@@ -641,12 +641,12 @@ | |||
</div> | |||
</div> | |||
<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" | |||
placeholder='{{.i18n.Tr "repo.modelarts.train_job.label_place"}}'> | |||
</div> | |||
<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" | |||
maxlength="255" placeholder='{{.i18n.Tr "repo.modelarts.train_job.new_place"}}' | |||
onchange="this.value=this.value.substring(0, 255)" | |||
@@ -280,12 +280,14 @@ | |||
// 参数增加、删除、修改、保存 | |||
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 +'">' + | |||
'<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 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>'+ | |||
'<span>' + | |||
'<i class="trash icon">' + | |||
@@ -47,13 +47,12 @@ | |||
{{if eq .MODEL_CONVERT_COUNT 0}} | |||
<div class="ui placeholder segment bgtask-none"> | |||
<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"> | |||
{{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}} | |||
<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> | |||
@@ -68,19 +67,19 @@ | |||
<div class="ui grid stackable" style="background: #f0f0f0;;"> | |||
<div class="row"> | |||
<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 class="two wide column text center padding0"> | |||
<span>状态</span> | |||
<span>{{$.i18n.Tr "repo.modelconvert.taskstatus"}}</span> | |||
</div> | |||
<div class="two wide column text center padding0"> | |||
<span>原模型框架</span> | |||
<span>{{$.i18n.Tr "repo.modelconvert.srcengine"}}</span> | |||
</div> | |||
<div class="two wide column text center padding0"> | |||
<span>转换后格式</span> | |||
<span>{{$.i18n.Tr "repo.modelconvert.outputformat"}}</span> | |||
</div> | |||
<div class="two wide column text center padding0"> | |||
<span>创建时间</span> | |||
<span>{{$.i18n.Tr "repo.modelconvert.createtime"}}</span> | |||
</div> | |||
<div class="one wide column text center padding0"> | |||
<span>{{$.i18n.Tr "repo.cloudbrain_creator"}}</span> | |||
@@ -143,10 +142,10 @@ | |||
{{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;"> | |||
下载 | |||
{{$.i18n.Tr "repo.modelconvert.download"}} | |||
</a> | |||
{{else}} | |||
<a class="ui basic disabled button">下载</a> | |||
<a class="ui basic disabled button">{{$.i18n.Tr "repo.modelconvert.download"}}</a> | |||
{{end}} | |||
</div> | |||
</div> | |||
@@ -211,7 +210,7 @@ | |||
<input type="hidden" name="_csrf" value=""> | |||
<div class="unite min_title required inline fields" id="task_name"> | |||
<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 class="twelve wide field"> | |||
<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 class="unite min_title inline fields required"> | |||
<div class="three wide field right aligned"> | |||
<label for="choice_model">模型名称</label> | |||
<label for="choice_model">{{$.i18n.Tr "repo.modelconvert.modelname"}}</label> | |||
</div> | |||
<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> | |||
<div class="menu" id="model-name"> | |||
</div> | |||
@@ -230,12 +229,12 @@ | |||
</div> | |||
<div class="unite min_title inline fields required"> | |||
<div class="three wide field right aligned"> | |||
<label for="choice_version">模型版本</label> | |||
<label for="choice_version">{{$.i18n.Tr "repo.modelconvert.modelversion"}}</label> | |||
</div> | |||
<div class="ui dropdown selection search eight wide field" id="choice_version"> | |||
<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> | |||
<div class="menu" id="model-version"> | |||
@@ -244,11 +243,11 @@ | |||
</div> | |||
<div class="unite min_title inline fields required"> | |||
<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 class="ui dropdown selection search eight wide field" id="choice_file"> | |||
<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> | |||
<div class="menu" id="model-file"> | |||
@@ -261,7 +260,7 @@ | |||
</div> | |||
<div class="unite min_title inline fields required"> | |||
<div class="three wide field right aligned"> | |||
<label for="SrcEngine">原模型框架</label> | |||
<label for="SrcEngine">{{$.i18n.Tr "repo.modelconvert.srcengine"}}</label> | |||
</div> | |||
<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 class="unite min_title required inline fields" id="inputdataformat_div"> | |||
<div class="three wide field right aligned"> | |||
<label for="inputdataformat">输入数据格式</label> | |||
<label for="inputdataformat">{{$.i18n.Tr "repo.modelconvert.inputdataformat"}}</label> | |||
</div> | |||
<select id="inputdataformat" class="ui search dropdown eight wide field" placeholder="" style='width:50%' name="inputdataformat"> | |||
@@ -281,16 +280,16 @@ | |||
</div> | |||
<div class="unite min_title required inline fields" id="inputshape_div"> | |||
<div class="three wide field right aligned"> | |||
<label for="inputshape">输入张量形状</label> | |||
<label for="inputshape">{{$.i18n.Tr "repo.modelconvert.inputshape"}}</label> | |||
</div> | |||
<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 class="unite min_title inline fields required"> | |||
<div class="three wide field right aligned"> | |||
<label for="DestFormat">转换后格式</label> | |||
<label for="DestFormat">{{$.i18n.Tr "repo.modelconvert.outputformat"}}</label> | |||
</div> | |||
<select id="DestFormat" class="ui search dropdown eight wide field" placeholder="" style='width:50%' name="DestFormat"> | |||
@@ -300,7 +299,7 @@ | |||
</div> | |||
<div class="unite min_title inline fields"> | |||
<div class="three wide field right aligned"> | |||
<label for="NetOutputFormat">网络输出数据类型 </label> | |||
<label for="NetOutputFormat">{{$.i18n.Tr "repo.modelconvert.netoutputdata"}} </label> | |||
</div> | |||
<select id="NetOutputFormat" class="ui search dropdown eight wide field" placeholder="" style='width:50%' name="NetOutputFormat"> | |||
@@ -310,7 +309,7 @@ | |||
</div> | |||
<div class="unite min_title inline fields"> | |||
<div class="three wide field right aligned"> | |||
<label for="Description">任务描述 </label> | |||
<label for="Description">{{$.i18n.Tr "repo.modelconvert.taskdesc"}} </label> | |||
</div> | |||
<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> | |||
@@ -318,7 +317,7 @@ | |||
</div> | |||
<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;"> | |||
新建任务 | |||
{{$.i18n.Tr "repo.modelconvert.newtask"}} | |||
</button> | |||
</div> | |||
</div> | |||
@@ -357,7 +356,7 @@ | |||
data['name']= $('#model_convert_name').val() | |||
if(data['name']==""){ | |||
$('.ui.error.message').text("请输入任务名称。") | |||
$('.ui.error.message').text("{{.i18n.Tr "repo.modelconvert.tasknameempty"}}") | |||
$('.ui.error.message').css('display','block') | |||
$("#task_name").addClass("error") | |||
return false | |||
@@ -371,7 +370,7 @@ | |||
data['inputshape']= $('#inputshape').val(); | |||
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') | |||
$("#inputshape_div").addClass("error") | |||
return false | |||
@@ -411,7 +410,7 @@ | |||
.modal({ | |||
centered: false, | |||
onShow:function(){ | |||
$('#model_header').text("创建模型转换任务") | |||
$('#model_header').text("{{.i18n.Tr "repo.modelconvert.createtask"}}") | |||
$('.ui.dimmer').css({"background-color":"rgb(136, 136, 136,0.7)"}) | |||
createModelName() | |||
loadModelList() | |||
@@ -173,7 +173,7 @@ td, th { | |||
<h4 class="ui header" id="vertical-segment"> | |||
<div class="ui breadcrumb"> | |||
<a class="section" href="{{$.RepoLink}}/modelmanage/convert_model"> | |||
模型转换任务 | |||
{{.i18n.Tr "repo.modelconvert.taskurlname"}} | |||
</a> | |||
<div class="divider"> / </div> | |||
<div class="active section">{{.Name}}</div> | |||
@@ -243,7 +243,7 @@ td, th { | |||
<tr class="ti-no-ng-animate"> | |||
<td class="ti-no-ng-animate ti-text-form-label text-width80"> | |||
输入张量形状 | |||
{{$.i18n.Tr "repo.modelconvert.inputshape"}} | |||
</td> | |||
<td class="ti-text-form-content"> | |||
@@ -255,7 +255,7 @@ td, th { | |||
<tr class="ti-no-ng-animate"> | |||
<td class="ti-no-ng-animate ti-text-form-label text-width80"> | |||
输入数据格式 | |||
{{$.i18n.Tr "repo.modelconvert.inputdataformat"}} | |||
</td> | |||
<td class="ti-text-form-content"> | |||
@@ -291,7 +291,7 @@ td, th { | |||
<tr class="ti-no-ng-animate"> | |||
<td class="ti-no-ng-animate ti-text-form-label text-width80"> | |||
网络输出数据类型 | |||
{{$.i18n.Tr "repo.modelconvert.netoutputdata"}} | |||
</td> | |||
<td class="ti-text-form-content"> | |||
@@ -311,7 +311,7 @@ td, th { | |||
<tr class="ti-no-ng-animate"> | |||
<td class="ti-no-ng-animate ti-text-form-label text-width80"> | |||
模型名称 | |||
{{$.i18n.Tr "repo.modelconvert.modelname"}} | |||
</td> | |||
<td class="ti-text-form-content"> | |||
@@ -324,7 +324,7 @@ td, th { | |||
<tr class="ti-no-ng-animate"> | |||
<td class="ti-no-ng-animate ti-text-form-label text-width80"> | |||
模型版本 | |||
{{$.i18n.Tr "repo.modelconvert.modelversion"}} | |||
</td> | |||
<td class="ti-text-form-content"> | |||
@@ -337,7 +337,7 @@ td, th { | |||
<tr class="ti-no-ng-animate"> | |||
<td class="ti-no-ng-animate ti-text-form-label text-width80"> | |||
模型文件 | |||
{{$.i18n.Tr "repo.model.manage.modelfile"}} | |||
</td> | |||
<td class="ti-text-form-content"> | |||
@@ -350,7 +350,7 @@ td, th { | |||
<tr class="ti-no-ng-animate"> | |||
<td class="ti-no-ng-animate ti-text-form-label text-width80"> | |||
原模型框架 | |||
{{$.i18n.Tr "repo.modelconvert.srcengine"}} | |||
</td> | |||
<td class="ti-text-form-content"> | |||
@@ -362,7 +362,7 @@ td, th { | |||
<tr class="ti-no-ng-animate"> | |||
<td class="ti-no-ng-animate ti-text-form-label text-width80"> | |||
转换后格式 | |||
{{$.i18n.Tr "repo.modelconvert.outputformat"}} | |||
</td> | |||
<td class="ti-text-form-content"> | |||
@@ -439,10 +439,10 @@ td, th { | |||
<div class="ui tab" data-tab="five"> | |||
<div style="position: relative;"> | |||
<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> | |||
<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> | |||
<div id="log_npu_message" class="ui message message" style="display: none;"> | |||
<div id="log_npu_header"></div> | |||
@@ -64,17 +64,16 @@ | |||
{{if eq $.MODEL_COUNT 0}} | |||
<div class="ui placeholder segment bgtask-none"> | |||
<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"> | |||
{{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}} | |||
{{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}} | |||
<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 style="display: none;"> | |||
@@ -108,11 +107,11 @@ | |||
<div id="deletemodel"> | |||
<div class="ui basic modal first"> | |||
<div class="ui icon header"> | |||
<i class="trash icon"></i> 删除模型 | |||
<i class="trash icon"></i> {{.i18n.Tr "repo.model.manage.delete"}} | |||
</div> | |||
<div class="content"> | |||
<p>你确认删除该模型么?此模型一旦删除不可恢复。</p> | |||
<p>{{.i18n.Tr "repo.model.manage.delete_confirm"}}</p> | |||
</div> | |||
<div class="actions"> | |||
<div class="ui red basic inverted cancel button"> | |||
@@ -139,21 +138,21 @@ | |||
<input type="hidden" name="_csrf" value=""> | |||
<div class="inline fields"> | |||
<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 class="required thirteen wide inline field"> | |||
<div class="ui dropdown selection search loading" id="choice_model"> | |||
<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> | |||
<div class="menu" id="job-name"> | |||
</div> | |||
</div> | |||
<label for="VersionName">版本</label> | |||
<label for="VersionName">{{.i18n.Tr "repo.model.manage.version"}}</label> | |||
<span> </span> | |||
<div class="ui dropdown selection search" id="choice_version"> | |||
<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> | |||
<div class="menu" id="job-version"> | |||
@@ -163,7 +162,7 @@ | |||
</div> | |||
<div class="required inline fields" id="modelname"> | |||
<div class="two wide field right aligned"> | |||
<label for="Name">模型名称</label> | |||
<label for="Name">{{.i18n.Tr "repo.model.manage.model_name"}}</label> | |||
</div> | |||
<div class="eight wide field"> | |||
<input id="name" name="Name" required maxlength="25" onkeyup="this.value=this.value.replace(/[, ]/g,'')"> | |||
@@ -171,7 +170,7 @@ | |||
</div> | |||
<div class="required inline fields" id="verionname"> | |||
<div class="two wide field right aligned"> | |||
<label for="Version">模型版本</label> | |||
<label for="Version">{{.i18n.Tr "repo.model.manage.version"}}</label> | |||
</div> | |||
<div class="eight wide field"> | |||
<input id="version" name="Version" value="" readonly required maxlength="255"> | |||
@@ -180,11 +179,11 @@ | |||
<div class="unite min_title inline fields required"> | |||
<div class="two wide field right aligned"> | |||
<label for="Engine">模型框架</label> | |||
<label for="Engine">{{.i18n.Tr "repo.model.manage.engine"}}</label> | |||
</div> | |||
<div class="ui ten wide field dropdown selection search" id="choice_Engine"> | |||
<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> | |||
<div class="menu" id="job-Engine"> | |||
@@ -195,7 +194,7 @@ | |||
<div class="unite min_title inline fields required"> | |||
<div class="two wide field right aligned"> | |||
<label for="modelSelectedFile">模型文件</label> | |||
<label for="modelSelectedFile">{{.i18n.Tr "repo.model.manage.modelfile"}}</label> | |||
</div> | |||
<div class="thirteen wide field" style="position:relative"> | |||
<input id="modelSelectedFile" type="text" readonly required onclick="showMenu();" name="modelSelectedFile" > | |||
@@ -207,7 +206,7 @@ | |||
<div class="inline fields"> | |||
<div class="two wide field right aligned"> | |||
<label for="Label">模型标签  </label> | |||
<label for="Label">{{.i18n.Tr "repo.model.manage.modellabel"}}  </label> | |||
</div> | |||
<div class="thirteen wide field"> | |||
<input id="label" name="Label" maxlength="255" placeholder='{{.i18n.Tr "repo.modelarts.train_job.label_place"}}'> | |||
@@ -215,7 +214,7 @@ | |||
</div> | |||
<div class="inline fields"> | |||
<div class="two wide field right aligned"> | |||
<label for="description">模型描述  </label> | |||
<label for="description">{{.i18n.Tr "repo.model.manage.modeldesc"}}  </label> | |||
</div> | |||
<div class="thirteen wide field"> | |||
<textarea id="Description" name="Description" rows="3" | |||
@@ -86,7 +86,7 @@ | |||
</div> | |||
<div class="ui tab active" data-tab="first"> | |||
<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;"> | |||
<tbody> | |||
<tr> | |||
@@ -125,7 +125,7 @@ | |||
</td> | |||
</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"> | |||
<a id="DisplayJobNameHref" class="title" style="font-size: 14px;" target="_blank"> | |||
<span id="DisplayJobName" class="fitted" style="width: 90%;vertical-align: middle;"></span> | |||