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

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