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
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243
  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. </select>
  108. </div>
  109. </div>
  110. <div class="required unite min_title inline field">
  111. <label style="font-weight: normal;">{{.i18n.Tr "repo.cloudbrain.benchmark.evaluate_mirror"}}</label>
  112. <span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>
  113. <input type="text" list="cloudbrain_image" placeholder="选择镜像" name="image" value="{{.image}}" class="required autofocus" style='width:492px;' maxlength="254">
  114. <i class="times circle outline icon icons" style="visibility: hidden;" onclick="clearValue()"></i>
  115. <datalist class="ui search" id="cloudbrain_image" style='width:385px;' name="image">
  116. {{range .images}}
  117. <option name="image" value="{{.Place}}">{{.PlaceView}}</option>
  118. {{end}}
  119. {{range .public_images}}
  120. <option name="image" value="{{.Place}}">{{.PlaceView}}</option>
  121. {{end}}
  122. </datalist>
  123. </div>
  124. <div class="required unite min_title inline field">
  125. <label style="font-weight: normal;">资源规格</label>
  126. <select id="cloudbrain_resource_spec" class="ui search dropdown" placeholder="选择资源规格" style='width:385px' name="resource_spec_id">
  127. {{range .benchmark_resource_specs}}
  128. <option name="resource_spec_id" value="{{.Id}}">GPU数:{{.GpuNum}},CPU数:{{.CpuNum}},内存(MB):{{.MemMiB}},共享内存(MB):{{.ShareMemMiB}}</option>
  129. {{end}}
  130. </select>
  131. </div>
  132. <div class="inline unite min_title field required">
  133. <label style="font-weight: normal;">{{.i18n.Tr "repo.cloudbrain.benchmark.evaluate_train"}}</label>
  134. <input disabled="disabled" style="width: 33.5%;" name="train_file" id="train_file" value="train.py" tabindex="3" autofocus required maxlength="254" >
  135. <a href="https://git.openi.org.cn/CV_benchmark/CV_reID_benchmark" target="_blank">查看样例</a>
  136. </div>
  137. <div class="inline unite min_title field required">
  138. <label style="font-weight: normal;">{{.i18n.Tr "repo.cloudbrain.benchmark.evaluate_test"}}</label>
  139. <input disabled="disabled" style="width: 33.5%;" name="test_file" id="test_file" value="test.py" tabindex="3" autofocus required maxlength="254" >
  140. <a href="https://git.openi.org.cn/CV_benchmark/CV_reID_benchmark" target="_blank">查看样例</a>
  141. </div>
  142. <div class="inline unite min_title field">
  143. <button class="ui create_train_job green button">
  144. {{.i18n.Tr "repo.cloudbrain.new"}}
  145. </button>
  146. <a class="ui button" href="/">{{.i18n.Tr "repo.cloudbrain.cancel"}}</a>
  147. </div>
  148. <!-- 模态框 -->
  149. </form>
  150. </div>
  151. </div>
  152. </div>
  153. {{template "base/footer" .}}
  154. <script>
  155. let repolink = {{.RepoLink}}
  156. let url_href = window.location.pathname.split('create')[0]
  157. $(".ui.button").attr('href',url_href)
  158. $('.menu .item')
  159. .tab();
  160. $('#benchmark_types_id').change(function(){
  161. setChildType();
  162. })
  163. function setChildType(){
  164. let type_id = $('#benchmark_types_id').val();
  165. let child_selected_id = $('#benchmark_child_types_id_hidden').val();
  166. $.get(`${repolink}/cloudbrain/benchmark/get_child_types?benchmark_type_id=${type_id}`, (data) => {
  167. const n_length = data['child_types'].length
  168. let html=''
  169. for (let i=0;i<n_length;i++){
  170. if(child_selected_id == data['child_types'][i].id){
  171. html += `<option value="${data['child_types'][i].id}" selected="true">${data['child_types'][i].value}</option>`;
  172. }else{
  173. html += `<option value="${data['child_types'][i].id}">${data['child_types'][i].value}</option>`;
  174. }
  175. }
  176. document.getElementById("benchmark_child_types_id").innerHTML=html;
  177. })
  178. }
  179. document.onreadystatechange = function() {
  180. if (document.readyState === "complete") {
  181. setChildType();
  182. }
  183. }
  184. function validate(){
  185. $('.ui.form')
  186. .form({
  187. on: 'blur',
  188. inline:true,
  189. fields: {
  190. image:{
  191. identifier : 'image',
  192. rules: [
  193. {
  194. type: 'empty',
  195. prompt : '选择一个镜像'
  196. }
  197. ]
  198. }
  199. },
  200. onSuccess: function(){
  201. // $('.ui.page.dimmer').dimmer('show')
  202. document.getElementById("mask").style.display = "block"
  203. },
  204. onFailure: function(e){
  205. return false;
  206. }
  207. })
  208. }
  209. $('.ui.create_train_job.green.button').click(function(e) {
  210. validate()
  211. })
  212. </script>