@@ -803,6 +803,8 @@ modelarts.train_job.parameter_description=作业参数描述 | |||||
modelarts.log=日志 | modelarts.log=日志 | ||||
modelarts.version_manage=版本管理 | modelarts.version_manage=版本管理 | ||||
modelarts.back=返回 | modelarts.back=返回 | ||||
modelarts.train_job_para_admin=作业参数管理 | |||||
modelarts.train_job_para.edit=编辑 | |||||
template.items=模板选项 | template.items=模板选项 | ||||
@@ -0,0 +1,41 @@ | |||||
<style> | |||||
.dis { | |||||
margin-bottom: 20px; | |||||
} | |||||
.disabled { | |||||
cursor: pointer; | |||||
pointer-events: none; | |||||
} | |||||
.ui.segment.bottom.attached { | |||||
border: none; | |||||
} | |||||
.ui.secondary.vertical.pointing.menu{ | |||||
border-right-width: 0px !important; | |||||
} | |||||
.vertical.menu .item { | |||||
border-right-color: white !important; | |||||
} | |||||
.vertical.menu .activate.item { | |||||
font-weight: 700; | |||||
} | |||||
</style> | |||||
<div class="three wide column"> | |||||
<div class="ui grid"> | |||||
<div class="sixteen wide column ui secondary sticky pointing tabular vertical menu"> | |||||
<a class="{{if .PageIsNotebook}}active{{end}} item" href="{{.RepoLink}}/modelarts/notebook"> | |||||
{{svg "octicon-repo" 16}} {{.i18n.Tr "repo.modelarts.nodebook"}} | |||||
</a> | |||||
<a class="{{if .PageIsTrainJob}}active{{end}} item" href="{{.RepoLink}}/modelarts/train-job"> | |||||
{{svg "octicon-inbox" 16}} {{.i18n.Tr "repo.modelarts.train_job"}} | |||||
</a> | |||||
<a class="{{if .PageIsParaManage}}active{{end}} item" href="{{.RepoLink}}/modelarts/train-job/para-manage"> | |||||
{{svg "octicon-inbox" 16}} {{.i18n.Tr "repo.modelarts.train_job_para_admin"}} | |||||
</a> | |||||
</div> | |||||
</div> | |||||
</div> |
@@ -27,52 +27,14 @@ | |||||
background-color: #f2dede; | background-color: #f2dede; | ||||
border-color: #ebccd1; | border-color: #ebccd1; | ||||
} | } | ||||
.dis { | |||||
margin-bottom: 20px; | |||||
} | |||||
.disabled { | |||||
cursor: pointer; | |||||
pointer-events: none; | |||||
} | |||||
.ui.segment.bottom.attached { | |||||
border: none; | |||||
} | |||||
.ui.secondary.vertical.pointing.menu{ | |||||
border-right-width: 0px !important; | |||||
} | |||||
.vertical.menu .item { | |||||
border-right-color: white !important; | |||||
} | |||||
.vertical.menu .activate.item { | |||||
font-weight: 700; | |||||
} | |||||
</style> | </style> | ||||
<div class="modelarts"> | <div class="modelarts"> | ||||
<div class="repository release dataset-list view container"> | <div class="repository release dataset-list view container"> | ||||
<div class="alert"></div> | <div class="alert"></div> | ||||
{{template "repo/header" .}} | {{template "repo/header" .}} | ||||
<div class="ui container"> | |||||
<div class="ui container"> | |||||
<div class="ui grid"> | <div class="ui grid"> | ||||
<div class="three wide column"> | |||||
<div class="ui grid"> | |||||
<div class="sixteen wide column ui secondary sticky pointing tabular vertical menu"> | |||||
<a class="activate item" href="{{.RepoLink}}/modelarts/notebook"> | |||||
{{svg "octicon-repo" 16}} {{.i18n.Tr "repo.modelarts.nodebook"}} | |||||
</a> | |||||
<a class="item" href="{{.RepoLink}}/modelarts/train-job"> | |||||
{{svg "octicon-inbox" 16}} {{.i18n.Tr "repo.modelarts.train_job"}} | |||||
</a> | |||||
</div> | |||||
</div> | |||||
</div> | |||||
{{template "repo/modelarts/navbar" .}} | |||||
<!-- 右侧 --> | <!-- 右侧 --> | ||||
<div class="ui thirteen wide column"> | <div class="ui thirteen wide column"> | ||||
<div class="ui three column stackable grid"> | <div class="ui three column stackable grid"> | ||||
@@ -202,11 +164,7 @@ | |||||
{{template "base/footer" .}} | {{template "base/footer" .}} | ||||
<script> | <script> | ||||
$(".vertical.menu a").click(function(){ | |||||
$(this).siblings().removeClass("activate") | |||||
$(this).addClass("activate") | |||||
}) | |||||
// 调试和评分新开窗口 | |||||
// 调试新开窗口 | |||||
function stop(obj) { | function stop(obj) { | ||||
if (obj.style.color != "rgb(204, 204, 204)") { | if (obj.style.color != "rgb(204, 204, 204)") { | ||||
obj.target = '_blank' | obj.target = '_blank' | ||||
@@ -28,9 +28,7 @@ | |||||
border-color: #ebccd1; | border-color: #ebccd1; | ||||
} | } | ||||
.dis { | |||||
margin-bottom: 20px; | |||||
} | |||||
/* | |||||
.disabled { | .disabled { | ||||
cursor: pointer; | cursor: pointer; | ||||
@@ -51,7 +49,7 @@ | |||||
.vertical.menu .activate.item { | .vertical.menu .activate.item { | ||||
font-weight: 700; | font-weight: 700; | ||||
} | |||||
} */ | |||||
</style> | </style> | ||||
<div class="modelarts"> | <div class="modelarts"> | ||||
<div class="repository release modelarts train_job view container"> | <div class="repository release modelarts train_job view container"> | ||||
@@ -61,18 +59,7 @@ | |||||
<div class="ui container"> | <div class="ui container"> | ||||
<div class="ui grid"> | <div class="ui grid"> | ||||
<div class="three wide column"> | |||||
<div class="ui grid"> | |||||
<div class="sixteen wide column ui secondary sticky pointing tabular vertical menu"> | |||||
<a class="item" href="{{.RepoLink}}/modelarts/notebook"> | |||||
{{svg "octicon-repo" 16}} {{.i18n.Tr "repo.modelarts.nodebook"}} | |||||
</a> | |||||
<a class="activate item" href="{{.RepoLink}}/modelarts/train-job"> | |||||
{{svg "octicon-inbox" 16}} {{.i18n.Tr "repo.modelarts.train_job"}} | |||||
</a> | |||||
</div> | |||||
</div> | |||||
</div> | |||||
{{template "repo/modelarts/navbar" .}} | |||||
<!-- 右侧 --> | <!-- 右侧 --> | ||||
<div class="ui thirteen wide column"> | <div class="ui thirteen wide column"> | ||||
<div class="ui three column stackable grid"> | <div class="ui three column stackable grid"> | ||||
@@ -123,13 +110,8 @@ | |||||
<!-- 运行时长 --> | <!-- 运行时长 --> | ||||
<div class="three wide center column"> | <div class="three wide center column"> | ||||
<span class="ui text center">{{svg "octicon-clock" 16}} {{TimeSinceUnix .CreatedUnix $.Lang}}</span> | |||||
</div> | |||||
<!-- 任务创建时间 --> | |||||
<!-- <div class="three wide column"> | |||||
<span class="ui text center">{{svg "octicon-flame" 16}} {{TimeSinceUnix .CreatedUnix $.Lang}}</span> | <span class="ui text center">{{svg "octicon-flame" 16}} {{TimeSinceUnix .CreatedUnix $.Lang}}</span> | ||||
</div> --> | |||||
</div> | |||||
<!-- 删除 --> | <!-- 删除 --> | ||||
<div class="two wide center column"> | <div class="two wide center column"> | ||||
@@ -1,127 +0,0 @@ | |||||
{{template "base/head" .}} | |||||
<div class="repository view"> | |||||
{{template "repo/header" .}} | |||||
<style> | |||||
.ui.segment.bottom.attached { | |||||
border: none; | |||||
} | |||||
.ui.secondary.vertical.pointing.menu{ | |||||
border-right-width: 0; | |||||
margin-right: 0; | |||||
border-right-color: white; | |||||
margin-top: 14px; | |||||
} | |||||
</style> | |||||
<div class="modelarts train_job container"> | |||||
<div class="ui container"> | |||||
<div class="ui grid"> | |||||
<div class="three wide column"> | |||||
<div class="ui grid"> | |||||
<div class="sixteen wide column ui secondary sticky pointing tabular vertical menu"> | |||||
<a class="{{if .PageIsExploreRepositories}}active{{end}} item" href="{{AppSubUrl}}/explore/repos"> | |||||
{{svg "octicon-repo" 16}} {{.i18n.Tr "explore.repos"}} | |||||
</a> | |||||
<a class="{{if .PageIsDatasets}}active{{end}} item" href="{{AppSubUrl}}/explore/datasets"> | |||||
{{svg "octicon-inbox" 16}} {{.i18n.Tr "datasets"}} | |||||
</a> | |||||
<a class="{{if .PageIsExploreUsers}}active{{end}} item" href="{{AppSubUrl}}/explore/users"> | |||||
{{svg "octicon-person" 16}} {{.i18n.Tr "explore.users"}} | |||||
</a> | |||||
</div> | |||||
</div> | |||||
</div> | |||||
<!-- 右侧 --> | |||||
<div class="ui thirteen wide column"> | |||||
<div class="ui three column stackable grid"> | |||||
<div class="column"> | |||||
<h2>{{.i18n.Tr "repo.modelarts.train_job"}}</h2> | |||||
</div> | |||||
<div class="column"> | |||||
</div> | |||||
<div class="column right aligned"> | |||||
<a class="ui green button" href="{{.RepoLink}}/modelarts/notebook/create">{{.i18n.Tr "repo.modelarts.train_job.new"}}</a> | |||||
</div> | |||||
</div> | |||||
<div class="ui divider"></div> | |||||
<div class="ui thirteen wide column"> | |||||
<div class="ui thirteen wide column"> | |||||
<div class="ui two column stackable grid"> | |||||
<div class="column"> | |||||
</div> | |||||
<div class="column right aligned"> | |||||
<div class="ui right dropdown type jump item"> | |||||
<span class="text"> | |||||
{{.i18n.Tr "repo.issues.filter_sort"}}<i class="dropdown icon"></i> | |||||
</span> | |||||
</div> | |||||
</div> | |||||
</div> | |||||
</div> | |||||
<!-- 任务展示 --> | |||||
<div class="train_job list"> | |||||
{{range .Tasks}} | |||||
<div class="ui grid stackable item"> | |||||
<div class="row"> | |||||
<!-- 任务名 --> | |||||
<div class="four wide column"> | |||||
<a class="title" href="{{$.Link}}/{{.JobID}}"> | |||||
<span class="fitted">{{svg "octicon-tasklist" 16}}</span> | |||||
<span class="fitted">{{.JobName}}</span> | |||||
</a> | |||||
</div> | |||||
<!--引擎类型状态 --> | |||||
<div class="two wide column job-status" id="{{.JobID}}" data-repopath="{{$.RepoRelPath}}" data-jobid="{{.JobID}}"> | |||||
{{.Status}} | |||||
</div> | |||||
<!-- 任务创建时间 --> | |||||
<div class="three wide column"> | |||||
<span class="ui text center">{{svg "octicon-flame" 16}} {{TimeSinceUnix .CreatedUnix $.Lang}}</span> | |||||
</div> | |||||
<!-- 查看 --> | |||||
<div class="one wide column"> | |||||
<span class="ui text center clipboard"> | |||||
<a class="title" href="{{$.Link}}/{{.JobID}}"> | |||||
<span class="fitted">查看</span> | |||||
</a> | |||||
</span> | |||||
</div> | |||||
<!-- 删除 --> | |||||
<div class="two wide column"> | |||||
<div class="ui text center clipboard"> | |||||
<form id="delForm-{{.JobID}}" action="{{if ne .Status "STOPPED"}}javascript:void(0){{else}}{{$.Link}}/{{.JobID}}/del{{end}}" method="post"> | |||||
{{$.CsrfTokenHtml}} | |||||
<a class="fitted" onclick="assertDelete(this)" style="{{if ne .Status "STOPPED"}}color:#CCCCCC{{end}}; font-size:16px; font-weight:bold">删除</a> | |||||
</form> | |||||
</div> | |||||
</div> | |||||
<!-- 停止 --> | |||||
<div class="two wide column"> | |||||
<div class="ui text center clipboard"> | |||||
<form id="stopForm-{{.JobID}}" action="{{if ne .Status "RUNNING"}}javascript:void(0){{else}}{{$.Link}}/{{.JobID}}/stop{{end}}" method="post"> | |||||
{{$.CsrfTokenHtml}} | |||||
<a class="fitted" onclick="document.getElementById('stopForm-{{.JobID}}').submit();" style="{{if ne .Status "RUNNING"}}color:#CCCCCC{{end}}; font-size:16px; font-weight:bold">停止</a> | |||||
</form> | |||||
</div> | |||||
</div> | |||||
</div> | |||||
</div> | |||||
{{end}} {{template "base/paginate" .}} | |||||
</div> | |||||
</div> | |||||
</div> | |||||
</div> | |||||
</div> | |||||
</div> | |||||
</div> | |||||
{{template "base/footer" .}} |
@@ -0,0 +1,154 @@ | |||||
{{template "base/head" .}} | |||||
<div class="modelarts"> | |||||
<div class="repository release modelarts train_job view container"> | |||||
{{template "repo/header" .}} | |||||
<div class="ui container"> | |||||
<div class="ui grid"> | |||||
{{template "repo/modelarts/navbar" .}} | |||||
<!-- 右侧 --> | |||||
<div class="ui thirteen wide column"> | |||||
<div class="ui column stackable grid"> | |||||
<div class="column"> | |||||
<h2>{{.i18n.Tr "repo.modelarts.train_job_para_admin"}}</h2> | |||||
</div> | |||||
</div> | |||||
<div class="ui divider"></div> | |||||
<div class="ui grid"> | |||||
<div class="row"> | |||||
<div class="ui sixteen wide column"> | |||||
<div class="ui sixteen wide column"> | |||||
<div class="ui two column stackable grid"> | |||||
<div class="column"> | |||||
</div> | |||||
<div class="column right aligned"> | |||||
<div class="ui right dropdown type jump item"> | |||||
<span class="text"> | |||||
{{.i18n.Tr "repo.issues.filter_sort"}}<i class="dropdown icon"></i> | |||||
</span> | |||||
</div> | |||||
</div> | |||||
</div> | |||||
</div> | |||||
<!-- 任务展示 --> | |||||
<div class="dataset list"> | |||||
{{range .Para_manage}} | |||||
<div class="ui grid stackable item"> | |||||
<div class="row"> | |||||
<!-- 任务名 --> | |||||
<div class="five wide column"> | |||||
<a class="title" href="{{$.Link}}/{{.JobID}}"> | |||||
<span class="fitted">{{svg "octicon-tasklist" 16}}</span> | |||||
<span class="fitted">{{.JobName}}</span> | |||||
</a> | |||||
</div> | |||||
<!-- 引擎类型--> | |||||
<div class="four wide column job-status" id="{{.JobID}}" data-repopath="{{$.RepoRelPath}}" data-jobid="{{.JobID}}"> | |||||
{{.Status}} | |||||
</div> | |||||
<!-- 创建时间 --> | |||||
<div class="three wide column"> | |||||
<span class="ui text center">{{svg "octicon-clock" 16}} {{TimeSinceUnix .CreatedUnix $.Lang}}</span> | |||||
</div> | |||||
<!-- 编辑 --> | |||||
<div class="two wide column"> | |||||
<a class="title" href="{{$.Link}}/{{.JobID}}/edit"> | |||||
<span class="fitted">编辑</span> | |||||
</a> | |||||
</div> | |||||
<!-- 删除 --> | |||||
<div class="two wide column"> | |||||
<div class="ui text center clipboard"> | |||||
<form id="delForm-{{.JobID}}" action="{{$.Link}}/{{.JobID}}/del" method="post"> | |||||
{{$.CsrfTokenHtml}} | |||||
<a class="fitted" onclick="assertDelete(this)" style="font-size:16px; font-weight:bold">删除</a> | |||||
</form> | |||||
</div> | |||||
</div> | |||||
</div> | |||||
</div> | |||||
{{end}} {{template "base/paginate" .}} | |||||
</div> | |||||
</div> | |||||
</div> | |||||
</div> | |||||
</div> | |||||
</div> | |||||
</div> | |||||
</div> | |||||
<!-- 确认模态框 --> | |||||
<div id="deletemodel"> | |||||
<div class="ui basic modal"> | |||||
<div class="ui icon header"> | |||||
<i class="trash icon"></i> 删除任务 | |||||
</div> | |||||
<div class="content"> | |||||
<p>你确认删除该任务么?此任务一旦删除不可恢复。</p> | |||||
</div> | |||||
<div class="actions"> | |||||
<div class="ui red basic inverted cancel button"> | |||||
<i class="remove icon"></i> 取消操作 | |||||
</div> | |||||
<div class="ui green basic inverted ok button"> | |||||
<i class="checkmark icon"></i> 确定操作 | |||||
</div> | |||||
</div> | |||||
</div> | |||||
</div> | |||||
</div> | |||||
{{template "base/footer" .}} | |||||
<script> | |||||
// 删除时用户确认 | |||||
function assertDelete(obj) { | |||||
if (obj.style.color == "rgb(204, 204, 204)") { | |||||
return | |||||
} else { | |||||
var delId = obj.parentNode.id | |||||
flag = 1; | |||||
$('.ui.basic.modal') | |||||
.modal({ | |||||
onDeny: function() { | |||||
flag = false | |||||
}, | |||||
onApprove: function() { | |||||
document.getElementById(delId).submit() | |||||
flag = true | |||||
}, | |||||
onHidden: function() { | |||||
if (flag == false) { | |||||
$('.alert').html('您已取消操作').removeClass('alert-success').addClass('alert-danger').show().delay(1500).fadeOut(); | |||||
} | |||||
} | |||||
}) | |||||
.modal('show') | |||||
} | |||||
} | |||||
// 加载任务状态 | |||||
$(document).ready(function() { | |||||
$(".job-status").each((index, job) => { | |||||
const jobID = job.dataset.jobid; | |||||
const repoPath = job.dataset.repopath; | |||||
if (job.textContent.trim() == 'STOPPED') { | |||||
return | |||||
} | |||||
$.get(`/api/v1/repos/${repoPath}/modelarts/train-job/${jobID}`, (data) => { | |||||
const jobID = data.JobID | |||||
const status = data.JobStatus | |||||
$('#' + jobID).text(status) | |||||
// console.log(data) | |||||
}).fail(function(err) { | |||||
console.log(err); | |||||
}); | |||||
}); | |||||
}); | |||||
</script> |