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.

cloudbrainNew.js 7.7 kB

2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231
  1. (function () {
  2. let form = document.getElementById("form_id");
  3. let createFlag = false;
  4. let flag;
  5. form.onsubmit = function (e) {
  6. if (createFlag) return false;
  7. createFlag = true;
  8. };
  9. // $("select.dropdown").dropdown();
  10. $(document).keydown(function (event) {
  11. switch (event.keyCode) {
  12. case 13:
  13. return false;
  14. }
  15. });
  16. $(".menu .item").tab();
  17. $(document).ready(createParamter());
  18. function createParamter() {
  19. let params = $(".dynamic.field").data("params");
  20. params &&
  21. params.parameter.forEach((item, index) => {
  22. Add_parameter(index, (flag = true), item);
  23. });
  24. }
  25. // 参数增加、删除、修改、保存
  26. function Add_parameter(i, flag = false, paramsObject = {}) {
  27. let value = "";
  28. value += `<div class="two fields width85" id= "para${i}">`;
  29. value += '<div class="field">';
  30. let placeholder_value = $(".dynamic.field").data("params-value");
  31. let placeholder_name = $(".dynamic.field").data("params-name");
  32. if (flag) {
  33. value += `<input type="text" class="shipping_first-name" value="${paramsObject.label}">`;
  34. } else {
  35. value +=
  36. '<input type="text" class="shipping_first-name" required placeholder="' +
  37. placeholder_name +
  38. '">';
  39. }
  40. value += "</div>";
  41. value += '<div class="field">';
  42. if (flag) {
  43. value += `<input type="text" class="shipping_last-name" value="${paramsObject.value}">`;
  44. } else {
  45. value +=
  46. '<input type="text" class="shipping_last-name" required placeholder="' +
  47. placeholder_value +
  48. '">';
  49. }
  50. value += "</div>";
  51. value += '<span><i class="trash icon"></i></span>';
  52. value += "</div>";
  53. $(".dynamic.field").append(value);
  54. }
  55. $("#add_run_para").click(function () {
  56. var len = $(".dynamic.field .two.fields").length;
  57. Add_parameter(len);
  58. });
  59. $(".dynamic.field").on("click", ".trash.icon", function () {
  60. var index = $(this).parent().parent().index();
  61. $(this).parent().parent().remove();
  62. var len = $(".dynamic.field .two.fields").length;
  63. $(".dynamic.field .two.fields").each(function () {
  64. var cur_index = $(this).index();
  65. $(this).attr("id", "para" + cur_index);
  66. });
  67. });
  68. var isValidate = false;
  69. function validate() {
  70. $(".ui.form").form({
  71. on: "blur",
  72. fields: {
  73. boot_file: {
  74. identifier: "boot_file",
  75. rules: [
  76. {
  77. type: "regExp[/.+.py$/g]",
  78. },
  79. ],
  80. },
  81. job_name: {
  82. identifier: "job_name",
  83. rules: [
  84. {
  85. type: "regExp[/^[a-z0-9][a-z0-9-_]{1,34}[a-z0-9-]$/]",
  86. },
  87. ],
  88. },
  89. display_job_name: {
  90. identifier: "display_job_name",
  91. rules: [
  92. {
  93. type: "regExp[/^[a-z0-9][a-z0-9-_]{1,34}[a-z0-9-]$/]",
  94. },
  95. ],
  96. },
  97. attachment: {
  98. identifier: "attachment",
  99. rules: [
  100. {
  101. type: "empty",
  102. },
  103. ],
  104. },
  105. spec_id: {
  106. identifier: "spec_id",
  107. rules: [{ type: "empty" }],
  108. },
  109. branch_name: {
  110. identifier: "branch_name",
  111. rules: [{ type: "empty" }],
  112. },
  113. },
  114. onSuccess: function () {
  115. // $('.ui.page.dimmer').dimmer('show')
  116. document.getElementById("mask").style.display = "block";
  117. isValidate = true;
  118. },
  119. onFailure: function (e) {
  120. isValidate = false;
  121. createFlag = false;
  122. return false;
  123. },
  124. });
  125. }
  126. document.onreadystatechange = function () {
  127. if (document.readyState === "complete") {
  128. document.getElementById("mask").style.display = "none";
  129. }
  130. };
  131. function send_run_para() {
  132. var run_parameters = [];
  133. var msg = {};
  134. let paraFlag = true;
  135. $(".dynamic.field .two.fields").each(function () {
  136. var para_name = $(this).find("input.shipping_first-name").val();
  137. var para_value = $(this).find("input.shipping_last-name").val();
  138. if (!para_name) {
  139. $(this).find("input.shipping_first-name").parent().addClass("error");
  140. paraFlag = false;
  141. return;
  142. } else {
  143. $(this).find("input.shipping_first-name").parent().removeClass("error");
  144. }
  145. if (!para_value) {
  146. $(this).find("input.shipping_last-name").parent().addClass("error");
  147. paraFlag = false;
  148. return;
  149. } else {
  150. $(this).find("input.shipping_last-name").parent().removeClass("error");
  151. }
  152. run_parameters.push({ label: para_name, value: para_value });
  153. });
  154. msg["parameter"] = run_parameters;
  155. msg = JSON.stringify(msg);
  156. $("#store_run_para").val(msg);
  157. return paraFlag;
  158. }
  159. function get_name() {
  160. let name1 = $("#engine_name .text").text();
  161. let name2 = $("#flaver_name .text").text();
  162. $("input#ai_engine_name").val(name1);
  163. $("input#ai_flaver_name").val(name2);
  164. if ($(".cloudbrain_image .text").text()) {
  165. $("input[name='image']").val($(".cloudbrain_image .text").text());
  166. }
  167. }
  168. validate();
  169. $(".ui.create_train_job.green.button").click(function (e) {
  170. get_name();
  171. let paramNotValue = send_run_para();
  172. if (!paramNotValue) {
  173. return false;
  174. }
  175. if($('input[name="model_name"]').val() && !$('input[name="ckpt_name"]').val()){
  176. $('input[name="ckpt_name"]').parent().addClass("error")
  177. return false
  178. }
  179. validate();
  180. });
  181. // 评测任务相关创建func
  182. let repoLink = $(".cloudbrain-type").data("repo-link");
  183. function setChildType(type_id=1) {
  184. if (type_id == 3) {
  185. $('#train_href_id').attr('href', 'https://openi.pcl.ac.cn/CV_benchmark/CV_MOT_benchmark');
  186. $('#test_href_id').attr('href', 'https://openi.pcl.ac.cn/CV_benchmark/CV_MOT_benchmark');
  187. } else {
  188. $('#train_href_id').attr('href', 'https://openi.pcl.ac.cn/CV_benchmark/CV_reID_benchmark');
  189. $('#test_href_id').attr('href', 'https://openi.pcl.ac.cn/CV_benchmark/CV_reID_benchmark');
  190. }
  191. let child_selected_id = $('#benchmark_child_types_id_hidden').val();
  192. $.get(`${repoLink}/cloudbrain/benchmark/get_child_types?benchmark_type_id=${type_id}`, (data) => {
  193. const n_length = data['child_types'].length
  194. let html = ''
  195. for (let i = 0; i < n_length; i++) {
  196. if (child_selected_id == data['child_types'][i].id) {
  197. html += `<option value="${data['child_types'][i].id}" selected="true">${data['child_types'][i].value}</option>`;
  198. } else {
  199. html += `<option value="${data['child_types'][i].id}">${data['child_types'][i].value}</option>`;
  200. }
  201. }
  202. document.getElementById("benchmark_child_types_id").innerHTML = html;
  203. })
  204. }
  205. $(document).ready(function () {
  206. if ($('input[name=benchmarkMode]').val() === 'alogrithm' || $('input[name=benchmarkMode]').val() === '') {
  207. setChildType();
  208. }
  209. $(".ui.selection.dropdown.benchmark_types_id").dropdown({
  210. onChange:function (value, text, $selectedItem){
  211. setChildType(value)
  212. }
  213. })
  214. $('.ui.search.dropdown.job_type').dropdown({
  215. onChange: function (value, text, $selectedItem) {
  216. if (value === "BRAINSCORE") {
  217. $('#brainscore_child_type').css('display', 'block')
  218. $('#benchmark_model_example').attr('href', 'https://openi.pcl.ac.cn/BDIP/similarity2brain_ann')
  219. } else {
  220. $('#brainscore_child_type').css('display', 'none')
  221. $('#benchmark_model_example').attr('href', 'https://openi.pcl.ac.cn/BDIP/snn4imagenet')
  222. }
  223. }
  224. })
  225. })
  226. })();