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 10 kB

3 years ago
3 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244
  1. {{template "base/head" .}}
  2. <style>
  3. .unite{
  4. font-family: SourceHanSansSC-medium !important;
  5. color: rgba(16, 16, 16, 100) !important;
  6. }
  7. .title{
  8. font-size: 16px !important;
  9. padding-left: 3rem !important;
  10. }
  11. .min_title{
  12. font-size: 14px !important;
  13. padding-left: 6rem !important;
  14. margin-bottom: 2rem !important;
  15. }
  16. .width{
  17. width:100% !important;
  18. }
  19. .width80{
  20. width: 80.7% !important;
  21. margin-left: 10px;
  22. }
  23. .width85{
  24. width: 85% !important;
  25. margin-left: 4.5rem !important;
  26. }
  27. .width81{
  28. margin-left: 1.5rem;
  29. width: 81% !important;
  30. }
  31. .add{font-size: 18px;
  32. padding: 0.5rem;
  33. border: 1px solid rgba(187, 187, 187, 100);
  34. border-radius: 0px 5px 5px 0px;
  35. line-height: 21px;
  36. text-align: center;
  37. color: #C2C7CC;
  38. }
  39. .min{
  40. font-size: 18px;
  41. padding: 0.5rem;
  42. border: 1px solid rgba(187, 187, 187, 100);
  43. border-radius: 5px 0px 0px 5px;
  44. line-height: 21px;
  45. text-align: center;
  46. color: #C2C7CC;
  47. }
  48. </style>
  49. <!-- <div class="ui page dimmer">
  50. <div class="ui text loader">{{.i18n.Tr "loading"}}</div>
  51. </div> -->
  52. <div id="mask">
  53. <div id="loadingPage">
  54. <div class="rect1"></div>
  55. <div class="rect2"></div>
  56. <div class="rect3"></div>
  57. <div class="rect4"></div>
  58. <div class="rect5"></div>
  59. </div>
  60. </div>
  61. <div class="repository">
  62. {{template "repo/header" .}}
  63. <div class="ui container">
  64. {{template "base/alert" .}}
  65. <h4 class="ui top attached header">
  66. {{.i18n.Tr "repo.modelarts.evaluate_job.new_job"}}
  67. </h4>
  68. <div class="ui attached segment">
  69. <!-- equal width -->
  70. <form class="ui form" action="{{.Link}}" method="post">
  71. {{.CsrfTokenHtml}}
  72. <input type="hidden" name="action" value="update">
  73. <div class="required unite min_title inline field">
  74. <label style="font-weight: normal;">{{.i18n.Tr "repo.modelarts.train_job.job_name"}}</label>
  75. <input style="width: 80%;" name="job_name" id="trainjob_job_name" placeholder={{.i18n.Tr "repo.modelarts.train_job.job_name"}} value="{{.job_name}}" tabindex="3" autofocus required maxlength="254">
  76. </div>
  77. <div class="unite min_title inline field">
  78. <label style="font-weight: normal;" for="description">{{.i18n.Tr "repo.modelarts.train_job.description"}}&nbsp;&nbsp;</label>
  79. <textarea style="width: 80%;" id="description" name="description" rows="3" maxlength="254" 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)">{{.description}}</textarea>
  80. </div>
  81. <div class="required unite min_title inline field">
  82. <label style="font-weight: normal;">GPU类型</label>
  83. <select id="cloudbrain_gpu_type" class="ui search dropdown" placeholder="选择GPU类型" style='width:385px' name="gpu_type">
  84. {{range .benchmark_gpu_types}}
  85. <option value="{{.Queue}}">{{.Value}}</option>
  86. {{end}}
  87. </select>
  88. </div>
  89. <div class="required unite inline min_title fields" style="width: 90%;">
  90. <div class="required eight wide field">
  91. <label style="font-weight: normal;white-space: nowrap;">{{.i18n.Tr "repo.cloudbrain.benchmark.evaluate_type"}}</label>
  92. <span>&nbsp;</span>
  93. <select class="ui fluid selection search dropdown" id="benchmark_types_id" name="benchmark_types_id" >
  94. {{range .benchmark_types}}
  95. {{if eq .Id $.benchmarkTypeID}}
  96. <option value="{{.Id}}" selected="true">{{.First}}</option>
  97. {{else}}
  98. <option value="{{.Id}}">{{.First}}</option>
  99. {{end}}
  100. {{end}}
  101. </select>
  102. </div>
  103. <div class="eight wide field" id="engine_name">
  104. <input type="hidden" id="benchmark_child_types_id_hidden" name="benchmark_child_types_id_hidden" value="{{.benchmark_child_types_id_hidden}}">
  105. <label style="font-weight: normal;white-space: nowrap;">{{.i18n.Tr "repo.cloudbrain.benchmark.evaluate_child_type"}}</label>
  106. <select class="ui fluid selection dropdown nowrap" id="benchmark_child_types_id" style='width: 100%;' name="benchmark_child_types_id">
  107. <option value="1">None</option>
  108. </select>
  109. </div>
  110. </div>
  111. <div class="required unite min_title inline field">
  112. <label style="font-weight: normal;">{{.i18n.Tr "repo.cloudbrain.benchmark.evaluate_mirror"}}</label>
  113. <span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>
  114. <input type="text" list="cloudbrain_image" placeholder="选择镜像" name="image" value="{{.image}}" class="required autofocus" style='width:492px;' maxlength="254">
  115. <i class="times circle outline icon icons" style="visibility: hidden;" onclick="clearValue()"></i>
  116. <datalist class="ui search" id="cloudbrain_image" style='width:385px;' name="image">
  117. {{range .images}}
  118. <option name="image" value="{{.Place}}">{{.PlaceView}}</option>
  119. {{end}}
  120. {{range .public_images}}
  121. <option name="image" value="{{.Place}}">{{.PlaceView}}</option>
  122. {{end}}
  123. </datalist>
  124. </div>
  125. <div class="required unite min_title inline field">
  126. <label style="font-weight: normal;">资源规格</label>
  127. <select id="cloudbrain_resource_spec" class="ui search dropdown" placeholder="选择资源规格" style='width:385px' name="resource_spec_id">
  128. {{range .benchmark_resource_specs}}
  129. <option name="resource_spec_id" value="{{.Id}}">GPU数:{{.GpuNum}},CPU数:{{.CpuNum}},内存(MB):{{.MemMiB}},共享内存(MB):{{.ShareMemMiB}}</option>
  130. {{end}}
  131. </select>
  132. </div>
  133. <div class="inline unite min_title field required">
  134. <label style="font-weight: normal;">{{.i18n.Tr "repo.cloudbrain.benchmark.evaluate_train"}}</label>
  135. <input disabled="disabled" style="width: 33.5%;" name="train_file" id="train_file" value="train.py" tabindex="3" autofocus required maxlength="254" >
  136. <a href="https://git.openi.org.cn/CV_benchmark/CV_reID_benchmark" target="_blank">查看样例</a>
  137. </div>
  138. <div class="inline unite min_title field required">
  139. <label style="font-weight: normal;">{{.i18n.Tr "repo.cloudbrain.benchmark.evaluate_test"}}</label>
  140. <input disabled="disabled" style="width: 33.5%;" name="test_file" id="test_file" value="test.py" tabindex="3" autofocus required maxlength="254" >
  141. <a href="https://git.openi.org.cn/CV_benchmark/CV_reID_benchmark" target="_blank">查看样例</a>
  142. </div>
  143. <div class="inline unite min_title field">
  144. <button class="ui create_train_job green button">
  145. {{.i18n.Tr "repo.cloudbrain.new"}}
  146. </button>
  147. <a class="ui button" href="/">{{.i18n.Tr "repo.cloudbrain.cancel"}}</a>
  148. </div>
  149. <!-- 模态框 -->
  150. </form>
  151. </div>
  152. </div>
  153. </div>
  154. {{template "base/footer" .}}
  155. <script>
  156. let repolink = {{.RepoLink}}
  157. let url_href = window.location.pathname.split('create')[0]
  158. $(".ui.button").attr('href',url_href)
  159. $('.menu .item')
  160. .tab();
  161. $('#benchmark_types_id').change(function(){
  162. setChildType();
  163. })
  164. function setChildType(){
  165. let type_id = $('#benchmark_types_id').val();
  166. let child_selected_id = $('#benchmark_child_types_id_hidden').val();
  167. $.get(`${repolink}/cloudbrain/benchmark/get_child_types?benchmark_type_id=${type_id}`, (data) => {
  168. const n_length = data['child_types'].length
  169. let html=''
  170. for (let i=0;i<n_length;i++){
  171. if(child_selected_id == data['child_types'][i].id){
  172. html += `<option value="${data['child_types'][i].id}" selected="true">${data['child_types'][i].value}</option>`;
  173. }else{
  174. html += `<option value="${data['child_types'][i].id}">${data['child_types'][i].value}</option>`;
  175. }
  176. }
  177. console.log(html);
  178. //document.getElementById("benchmark_child_types_id").innerHTML=html;
  179. })
  180. }
  181. document.onreadystatechange = function() {
  182. if (document.readyState === "complete") {
  183. setChildType();
  184. }
  185. }
  186. function validate(){
  187. $('.ui.form')
  188. .form({
  189. on: 'blur',
  190. inline:true,
  191. fields: {
  192. image:{
  193. identifier : 'image',
  194. rules: [
  195. {
  196. type: 'empty',
  197. prompt : '选择一个镜像'
  198. }
  199. ]
  200. }
  201. },
  202. onSuccess: function(){
  203. // $('.ui.page.dimmer').dimmer('show')
  204. document.getElementById("mask").style.display = "block"
  205. },
  206. onFailure: function(e){
  207. return false;
  208. }
  209. })
  210. }
  211. $('.ui.create_train_job.green.button').click(function(e) {
  212. validate()
  213. })
  214. </script>