You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

new.tmpl 14 kB

3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216
  1. {{template "base/head" .}}
  2. {{template "custom/global_mask" .}}
  3. <div class="repository">
  4. {{template "repo/header" .}}
  5. <div class="ui container">
  6. <div class="cloudbrain-type" style="display: none;" data-cloudbrain-type="{{.datasetType}}" data-repo-link="{{.RepoLink}}" data-queue="{{.QueuesDetail}}" data-queue-start="{{.i18n.Tr "repo.wait_count_start"}}" data-queue-end="{{.i18n.Tr "repo.wait_count_end"}}" data-flag-model="true"></div>
  7. {{if eq .NotStopTaskCount 0}}
  8. {{template "base/alert" .}}
  9. {{end}}
  10. <div class="ui negative message" id="messageInfo" style="display:none;">
  11. <p></p>
  12. </div>
  13. <h4 class="ui top attached header">
  14. {{.i18n.Tr "repo.modelarts.train_job.new"}}
  15. </h4>
  16. {{template "custom/alert_cb" .}}
  17. <div class="ui attached segment">
  18. <form id="form_id" class="ui form" action="{{.Link}}" method="post">
  19. {{.CsrfTokenHtml}}
  20. <input type="hidden" name="type" value="0">
  21. <h4 class="train-job-title ui header ">{{.i18n.Tr "repo.modelarts.train_job.basic_info"}}:</h4>
  22. <div class="required min_title inline field">
  23. <label class="label-fix-width" style="font-weight: normal;">{{.i18n.Tr "cloudbrain.resource_cluster"}}</label>
  24. <div class="ui blue mini menu compact selectcloudbrain">
  25. <a class="item" href="{{.RepoLink}}/cloudbrain/create">
  26. <svg class="svg" sxmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="16" height="16"><path fill="none" d="M0 0h24v24H0z"></path><path d="M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm-2.29-2.333A17.9 17.9 0 0 1 8.027 13H4.062a8.008 8.008 0 0 0 5.648 6.667zM10.03 13c.151 2.439.848 4.73 1.97 6.752A15.905 15.905 0 0 0 13.97 13h-3.94zm9.908 0h-3.965a17.9 17.9 0 0 1-1.683 6.667A8.008 8.008 0 0 0 19.938 13zM4.062 11h3.965A17.9 17.9 0 0 1 9.71 4.333 8.008 8.008 0 0 0 4.062 11zm5.969 0h3.938A15.905 15.905 0 0 0 12 4.248 15.905 15.905 0 0 0 10.03 11zm4.259-6.667A17.9 17.9 0 0 1 15.973 11h3.965a8.008 8.008 0 0 0-5.648-6.667z"></path></svg>
  27. {{.i18n.Tr "cloudbrain.resource_cluster_openi"}}
  28. </a>
  29. <a class="active item" href="{{.RepoLink}}/grampus/notebook/create?type=0">
  30. <svg class="svg" sxmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="16" height="16"><path fill="none" d="M0 0h24v24H0z"></path><path d="M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm-2.29-2.333A17.9 17.9 0 0 1 8.027 13H4.062a8.008 8.008 0 0 0 5.648 6.667zM10.03 13c.151 2.439.848 4.73 1.97 6.752A15.905 15.905 0 0 0 13.97 13h-3.94zm9.908 0h-3.965a17.9 17.9 0 0 1-1.683 6.667A8.008 8.008 0 0 0 19.938 13zM4.062 11h3.965A17.9 17.9 0 0 1 9.71 4.333 8.008 8.008 0 0 0 4.062 11zm5.969 0h3.938A15.905 15.905 0 0 0 12 4.248 15.905 15.905 0 0 0 10.03 11zm4.259-6.667A17.9 17.9 0 0 1 15.973 11h3.965a8.008 8.008 0 0 0-5.648-6.667z"></path></svg>
  31. {{.i18n.Tr "cloudbrain.resource_cluster_c2net"}}(Beta)
  32. </a>
  33. </div>
  34. </div>
  35. <div class="inline required field">
  36. <label class="label-fix-width" style="font-weight: normal;">{{.i18n.Tr "cloudbrain.compute_resource"}}</label>
  37. <div class="ui blue small menu compact selectcloudbrain">
  38. <a class="active item" href="{{.RepoLink}}/grampus/notebook/create?type=0">
  39. <svg class="svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="16"
  40. height="16">
  41. <path fill="none" d="M0 0h24v24H0z" />
  42. <path
  43. d="M3 2.992C3 2.444 3.445 2 3.993 2h16.014a1 1 0 0 1 .993.992v18.016a.993.993 0 0 1-.993.992H3.993A1 1 0 0 1 3 21.008V2.992zM19 11V4H5v7h14zm0 2H5v7h14v-7zM9 6h6v2H9V6zm0 9h6v2H9v-2z" />
  44. </svg>
  45. CPU/GPU
  46. </a>
  47. <a class="item" href="{{.RepoLink}}/grampus/notebook/create?type=1">
  48. <svg class="svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="16"
  49. height="16">
  50. <path fill="none" d="M0 0h24v24H0z" />
  51. <path
  52. d="M3 2.992C3 2.444 3.445 2 3.993 2h16.014a1 1 0 0 1 .993.992v18.016a.993.993 0 0 1-.993.992H3.993A1 1 0 0 1 3 21.008V2.992zM19 11V4H5v7h14zm0 2H5v7h14v-7zM9 6h6v2H9V6zm0 9h6v2H9v-2z" />
  53. </svg>
  54. Ascend NPU</a>
  55. </div>
  56. </div>
  57. <div class="min_title inline field">
  58. <label class="label-fix-width" style="font-weight: normal;"></label>
  59. {{template "custom/task_wait_count" .}}
  60. <div style="display: flex;align-items: center;margin-left: 156px;margin-top: 0.5rem;">
  61. <i class="ri-error-warning-line" style="color: #f2711c;margin-right: 0.5rem;"></i>
  62. <span style="color: #888;font-size: 12px;">{{.i18n.Tr "cloudbrain.new_debug_gpu_tooltips" "/code" "/dataset" "/pretrainmodel" "/model" | Safe}}</span>
  63. </div>
  64. </div>
  65. <div class="inline min_title required field" style="margin-bottom: 0rem !important;">
  66. <label class="label-fix-width" style="font-weight: normal;">{{.i18n.Tr "cloudbrain.task_name"}}</label>
  67. <input name="display_job_name" id="cloudbrain_job_name" style="width: 60%;"
  68. placeholder="{{.i18n.Tr "cloudbrain.task_name"}}" value="{{.display_job_name}}" tabindex="3"
  69. autofocus required maxlength="255" onkeyup="this.value=this.value.replace(/[, ]/g,'')">
  70. </div>
  71. <span class="tooltips" style="margin-left: 11.5rem;margin-bottom: 2rem;">{{.i18n.Tr "repo.cloudbrain_jobname_err"}}</span>
  72. <div class="inline min_title field">
  73. <label class="label-fix-width" style="font-weight: normal;" for="description">{{.i18n.Tr "repo.modelarts.train_job.description"}}</label>
  74. {{if .description}}
  75. <textarea style="width: 80%;" id="description" name="description" rows="3" maxlength="255" placeholder={{.i18n.Tr "repo.modelarts.train_job.new_place"}}>{{.description}}</textarea>
  76. {{else}}
  77. <textarea style="width: 80%;" 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)" onkeydown="this.value=this.value.substring(0, 255)" onkeyup="this.value=this.value.substring(0, 255)"></textarea>
  78. {{end}}
  79. </div>
  80. <div class="ui divider"></div>
  81. <div class="inline min_title required field">
  82. <label class="label-fix-width" style="font-weight: normal;">{{.i18n.Tr "repo.modelarts.code_version"}}</label>
  83. <select class="ui dropdown width80 left2 {{if not .Branches}}error{{end}}" id="code_version"
  84. name="branch_name">
  85. {{if .branch_name}}
  86. <option name="branch_name" value="{{.branch_name}}">{{.branch_name}}</option>
  87. {{range $k, $v :=.Branches}}
  88. {{ if ne $v $.branch_name }}
  89. <option name="branch_name" value="{{$v}}">{{$v}}</option>
  90. {{end}}
  91. {{end}}
  92. {{else}}
  93. <option name="branch_name" value="{{.branchName}}">{{.branchName}}</option>
  94. {{range $k, $v :=.Branches}}
  95. {{ if ne $v $.branchName }}
  96. <option name="branch_name" value="{{$v}}">{{$v}}</option>
  97. {{end}}
  98. {{end}}
  99. {{end}}
  100. </select>
  101. </div>
  102. {{template "custom/select_model" .}}
  103. <div id="images-new-cb">
  104. </div>
  105. <div id="select-multi-dataset">
  106. </div>
  107. <span class="tooltips" style="margin-left: 11.5rem;margin-bottom: 1rem;"></span>
  108. <div class="inline min_title required field">
  109. <label class="label-fix-width" style="font-weight: normal;">{{.i18n.Tr "cloudbrain.resource_specification"}}</label>
  110. <select id="__specs__" class="ui search dropdown width48"
  111. placeholder="{{.i18n.Tr "cloudbrain.select_specification"}}" style='width:385px' ovalue="{{.spec_id}}"
  112. {{if .CloudBrainPaySwitch}}blance="{{.PointAccount.Balance}}"{{end}}
  113. name="spec_id">
  114. </select>
  115. <span><i class="question circle icon link"></i></span>
  116. <a href="{{AppSubUrl}}/resource_desc" target="_blank">{{.i18n.Tr "custom.resource_description"}}</a>
  117. {{if .CloudBrainPaySwitch}}
  118. <div class="cloudbrain_resource_spec_blance_tip" style="padding:0 5px;margin:6px 0;margin-left:265px;font-size:12px;width: 50%!important;">
  119. <span>{{$.i18n.Tr "points.balance_of_points"}}<span style="color:red;margin: 0 3px">{{.PointAccount.Balance}}</span>{{$.i18n.Tr "points.points"}}</span><span>{{$.i18n.Tr "points.expected_time"}}<span style="color:red;margin: 0 3px" class="can-use-time"></span>{{$.i18n.Tr "points.hours"}}</span>
  120. <span style="float:right;">
  121. <i class="question circle icon link" data-position="right center" data-variation="mini"></i>
  122. <a href="{{AppSubUrl}}/reward/point/rule" target="_blank">{{$.i18n.Tr "points.points_acquisition_instructions"}}</a>
  123. </span>
  124. </div>
  125. {{end}}
  126. </div>
  127. <div class="inline field">
  128. <label class="label-fix-width" style="font-weight: normal;"></label>
  129. <button class="ui green button {{if eq .NotStopTaskCount 1}}disabled{{end}}">
  130. {{.i18n.Tr "repo.cloudbrain.new"}}
  131. </button>
  132. <a class="ui button cancel"
  133. href="{{.RepoLink}}/debugjob?debugListType=all">{{.i18n.Tr "repo.cloudbrain.cancel"}}</a>
  134. </div>
  135. </form>
  136. </div>
  137. </div>
  138. </div>
  139. {{template "base/footer" .}}
  140. <script src="{{StaticUrlPrefix}}/js/specsuse.js?v={{MD5 AppVer}}" type="text/javascript"></script>
  141. <script>
  142. let form = document.getElementById('form_id');
  143. var isValidate = false;
  144. function validate(){
  145. $('.ui.form').form({
  146. on: 'blur',
  147. fields: {
  148. display_job_name:{
  149. identifier : 'display_job_name',
  150. rules: [
  151. {
  152. type: 'regExp[/^[a-z0-9][a-z0-9-_]{1,34}[a-z0-9-]$/]',
  153. }
  154. ]
  155. },
  156. spec_id: {
  157. identifier: 'spec_id',
  158. rules: [{ type: 'empty' }]
  159. }
  160. },
  161. onSuccess: function(){
  162. isValidate = true;
  163. },
  164. onFailure: function(e){
  165. isValidate = false;
  166. return false;
  167. }
  168. })
  169. }
  170. validate();
  171. let createFlag = false
  172. form.onsubmit = function (e) {
  173. if (!isValidate) return false;
  174. if(createFlag) return false
  175. let value_task = $("input[name='display_job_name']").val()
  176. let re = /^[a-z0-9][a-z0-9-_]{1,34}[a-z0-9-]$/
  177. let flag = re.test(value_task)
  178. if (!flag) {
  179. $('#messageInfo').css('display', 'block')
  180. let str = '只能以小写字母或数字开头且只包含小写字母、数字、_和-,不能以_结尾,最长36个字符。'
  181. $('#messageInfo p').text(str)
  182. return false
  183. }
  184. let min_value_task = value_task.toLowerCase()
  185. $("input[name='display_job_name']").attr("value", min_value_task)
  186. createFlag = true
  187. document.getElementById("mask").style.display = "block"
  188. }
  189. // 页面加载完毕后遮罩层隐藏
  190. document.onreadystatechange = function () {
  191. if (document.readyState === "complete") {
  192. document.getElementById("mask").style.display = "none"
  193. }
  194. }
  195. ;(function() {
  196. var SPECS = {{ .Specs }};
  197. var showPoint = {{ .CloudBrainPaySwitch }};
  198. window.renderSpecsSelect($('#__specs__'), SPECS, showPoint, {
  199. gpu_memory: {{$.i18n.Tr "cloudbrain.gpu_memory"}},
  200. free: {{$.i18n.Tr "cloudbrain.free"}},
  201. point_hr: {{$.i18n.Tr "cloudbrain.point_hr"}},
  202. memory: {{$.i18n.Tr "cloudbrain.memory"}},
  203. shared_memory: {{$.i18n.Tr "cloudbrain.shared_memory"}},
  204. });
  205. })();
  206. </script>