| @@ -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)" | ||||
| @@ -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)" | ||||
| @@ -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)" | ||||