diff --git a/templates/repo/modelsafety/new.tmpl b/templates/repo/modelsafety/new.tmpl
index 4fee33745..e259054b5 100644
--- a/templates/repo/modelsafety/new.tmpl
+++ b/templates/repo/modelsafety/new.tmpl
@@ -141,40 +141,7 @@
onkeydown="this.value=this.value.substring(0, 255)"
onkeyup="this.value=this.value.substring(0, 255)">{{.description}}
-
-
-
-
-
-
-
-
-
-
-
+ {{template "custom/select_model" .}}
";
$(`#dir_list${version_name}`).append(html);
}
-
- let nameMap, nameList;
- let RepoLink = $(".cloudbrain-type").data("repo-link");
- let type = $(".cloudbrain-type").data("cloudbrain-type");
- let flagModel = $(".cloudbrain-type").data("flag-model");
- // 获取模型列表和模型名称对应的模型版本
- $(document).ready(function () {
- if (!flagModel) return;
- else {
- $.get(
- `${RepoLink}/modelmanage/query_model_for_predict?type=${type}`,
- (data) => {
- nameMap = data.nameMap;
- nameList = data.nameList;
- let html = ``;
- nameList.forEach((element) => {
- html += `${element}
`;
- });
- if (nameList.length !== 0) {
- $("#model_name").append(html);
- }
- let faildModelName = $('input[name="model_name"]').val();
- let faildModelVersion = $('input[name="model_version"]').val();
- let dataID;
-
- // 新建错误的表单返回初始化
- if (faildModelName && nameList.includes(faildModelName)) {
- $("#select_model").dropdown("set text", faildModelName);
- $("#select_model").dropdown("set value", faildModelName);
- nameMap[faildModelName].forEach((element) => {
- if (element.Version === faildModelVersion) {
- dataID = element.ID;
- }
- });
- initModelVerison(faildModelName, nameMap, faildModelVersion);
- initModelckpt(dataID);
- }
- }
- );
- }
-
- $("#select_model").dropdown({
- onChange: function (value, text, $selectedItem) {
- $("#model_name_version").empty();
- if (value) {
- let html = "";
- nameMap[value].forEach((element) => {
- //let { trainTaskInfo } = element;
- //trainTaskInfo = JSON.parse(trainTaskInfo);
- html += `${element.version}
`;
- });
- $("#model_name_version").append(html);
- const initVersionText = $(
- "#model_name_version div.item:first-child"
- ).text();
- const initVersionValue = $(
- "#model_name_version div.item:first-child"
- ).data("value");
-
- $("#select_model_version").dropdown("set text", initVersionText);
- $("#select_model_version").dropdown(
- "set value",
- initVersionValue,
- initVersionText,
- $("#model_name_version div.item:first-child")
- );
- } else {
- $("#select_model_version").dropdown("set text", "");
- $("#select_model_version").dropdown("set value", "");
- $("#select_model_checkpoint").dropdown("set text", "");
- $("#select_model_checkpoint").dropdown("set value", "");
- $("#model_checkpoint").empty();
- }
- },
- });
-
- $("#select_model_version").dropdown({
- onChange: function (value, text, $selectedItem) {
- if (!value) return;
- const dataID =
- $selectedItem && $selectedItem[0].getAttribute("data-id");
- $("input#ai_model_version").val(text);
- $("#select_model_checkpoint").dropdown("set text", "");
- $("#select_model_checkpoint").addClass("loading");
-
- $("#model_checkpoint").empty();
- let html = "";
- loadCheckpointList(dataID).then((res) => {
- res.forEach((element) => {
- const ckptSuffix = element.FileName.split(".");
- const loadCheckpointFile = [
- "ckpt",
- "pb",
- "h5",
- "json",
- "pkl",
- "pth",
- "t7",
- "pdparams",
- "onnx",
- "pbtxt",
- "keras",
- "mlmodel",
- "cfg",
- "pt",
- ];
- if (
- !element.IsDir &&
- loadCheckpointFile.includes(ckptSuffix[ckptSuffix.length - 1])
- ) {
- html += `${element.FileName}
`;
- }
- });
- $("#model_checkpoint").append(html);
- $("#select_model_checkpoint").removeClass("loading");
- if (html) {
- $("#select_model_checkpoint").removeClass("error");
- }
- const initVersionText = $(
- "#model_checkpoint div.item:first-child"
- ).text();
- const initVersionValue = $(
- "#model_checkpoint div.item:first-child"
- ).data("value");
-
- $("#select_model_checkpoint").dropdown("set text", initVersionText);
- $("#select_model_checkpoint").dropdown(
- "set value",
- initVersionValue,
- initVersionText,
- $("#model_name_version div.item:first-child")
- );
- });
- },
- });
- });
- function initModelVerison(value, nameMap, faildModelVersion) {
- let faildTrainUrl = $('input[name="pre_train_model_url"]').val();
- let html = "";
- nameMap[value].forEach((element) => {
- let { TrainTaskInfo } = element;
- TrainTaskInfo = JSON.parse(TrainTaskInfo);
- html += `${element.Version}
`;
- });
- $("#model_name_version").append(html);
- $("#select_model_version").dropdown("set text", faildModelVersion);
- $("#select_model_version").dropdown("set value", faildTrainUrl);
- }
- function initModelckpt(dataID) {
- let faildCkptName = $('input[name="ckpt_name"]').val();
- $("#select_model_checkpoint").addClass("loading");
- $("#model_checkpoint").empty();
- let html = "";
- loadCheckpointList(dataID).then((res) => {
- res.forEach((element) => {
- const ckptSuffix = element.FileName.split(".");
- const loadCheckpointFile = [
- "ckpt",
- "pb",
- "h5",
- "json",
- "pkl",
- "pth",
- "t7",
- "pdparams",
- "onnx",
- "pbtxt",
- "keras",
- "mlmodel",
- "cfg",
- "pt",
- ];
- if (
- !element.IsDir &&
- loadCheckpointFile.includes(ckptSuffix[ckptSuffix.length - 1])
- ) {
- html += `${element.FileName}
`;
- }
- });
- $("#model_checkpoint").append(html);
- $("#select_model_checkpoint").removeClass("loading");
- $("#select_model_checkpoint").dropdown("set text", faildCkptName);
- $("#select_model_checkpoint").dropdown("set value", faildCkptName);
- });
- }
- function loadCheckpointList(value) {
- return new Promise((resolve, reject) => {
- $.get(
- `${RepoLink}/modelmanage/query_modelfile_for_predict`,
- { id: value },
- (data) => {
- resolve(data);
- }
- );
- });
- }
}
diff --git a/web_src/js/standalone/cloudbrainNew.js b/web_src/js/standalone/cloudbrainNew.js
index bc54adc65..771ed3493 100644
--- a/web_src/js/standalone/cloudbrainNew.js
+++ b/web_src/js/standalone/cloudbrainNew.js
@@ -182,4 +182,199 @@
}
validate();
});
+
+
+ //管理镜像相关的东西
+ let nameMap, nameList;
+ let RepoLink = $(".cloudbrain-type").data("repo-link");
+ let type = $(".cloudbrain-type").data("cloudbrain-type");
+ let flagModel = $(".cloudbrain-type").data("flag-model");
+ // 获取模型列表和模型名称对应的模型版本
+ $(document).ready(function () {
+ if (!flagModel) return;
+ else {
+ $.get(
+ `${RepoLink}/modelmanage/query_model_for_predict?type=${type}`,
+ (data) => {
+ nameMap = data.nameMap;
+ nameList = data.nameList;
+ let html = ``;
+ nameList.forEach((element) => {
+ html += `${element}
`;
+ });
+ if (nameList.length !== 0) {
+ $("#model_name").append(html);
+ }
+ let faildModelName = $('input[name="model_name"]').val();
+ let faildModelVersion = $('input[name="model_version"]').val();
+ let dataID;
+ // 新建错误的表单返回初始化
+ if (faildModelName && nameList.includes(faildModelName)) {
+ $("#select_model").dropdown("set text", faildModelName);
+ $("#select_model").dropdown("set value", faildModelName);
+ nameMap[faildModelName].forEach((element) => {
+ if (element.version === faildModelVersion) {
+ dataID = element.id;
+ }
+ });
+ initModelVerison(faildModelName, nameMap, faildModelVersion);
+ initModelckpt(dataID);
+ }
+ }
+ );
+ }
+
+ $("#select_model").dropdown({
+ onChange: function (value, text, $selectedItem) {
+ $("#model_name_version").empty();
+ if (value) {
+ let html = "";
+ nameMap[value].forEach((element) => {
+ //let { trainTaskInfo } = element;
+ //trainTaskInfo = JSON.parse(trainTaskInfo);
+ html += `${element.version}
`;
+ });
+ $("#model_name_version").append(html);
+ const initVersionText = $(
+ "#model_name_version div.item:first-child"
+ ).text();
+ const initVersionValue = $(
+ "#model_name_version div.item:first-child"
+ ).data("value");
+
+ $("#select_model_version").dropdown("set text", initVersionText);
+ $("#select_model_version").dropdown(
+ "set value",
+ initVersionValue,
+ initVersionText,
+ $("#model_name_version div.item:first-child")
+ );
+ } else {
+ $("#select_model_version").dropdown("set text", "");
+ $("#select_model_version").dropdown("set value", "");
+ $("#select_model_checkpoint").dropdown("set text", "");
+ $("#select_model_checkpoint").dropdown("set value", "");
+ $("#model_checkpoint").empty();
+ }
+ },
+ });
+
+ $("#select_model_version").dropdown({
+ onChange: function (value, text, $selectedItem) {
+ if (!value) return;
+ const dataID =
+ $selectedItem && $selectedItem[0].getAttribute("data-id");
+ $("input#ai_model_version").val(text);
+ $("#select_model_checkpoint").dropdown("set text", "");
+ $("#select_model_checkpoint").addClass("loading");
+
+ $("#model_checkpoint").empty();
+ let html = "";
+ loadCheckpointList(dataID).then((res) => {
+ res.forEach((element) => {
+ const ckptSuffix = element.FileName.split(".");
+ const loadCheckpointFile = [
+ "ckpt",
+ "pb",
+ "h5",
+ "json",
+ "pkl",
+ "pth",
+ "t7",
+ "pdparams",
+ "onnx",
+ "pbtxt",
+ "keras",
+ "mlmodel",
+ "cfg",
+ "pt",
+ ];
+ if (
+ !element.IsDir &&
+ loadCheckpointFile.includes(ckptSuffix[ckptSuffix.length - 1])
+ ) {
+ html += `${element.FileName}
`;
+ }
+ });
+ $("#model_checkpoint").append(html);
+ $("#select_model_checkpoint").removeClass("loading");
+ if (html) {
+ $("#select_model_checkpoint").removeClass("error");
+ }
+ const initVersionText = $(
+ "#model_checkpoint div.item:first-child"
+ ).text();
+ const initVersionValue = $(
+ "#model_checkpoint div.item:first-child"
+ ).data("value");
+
+ $("#select_model_checkpoint").dropdown("set text", initVersionText);
+ $("#select_model_checkpoint").dropdown(
+ "set value",
+ initVersionValue,
+ initVersionText,
+ $("#model_name_version div.item:first-child")
+ );
+ });
+ },
+ });
+ });
+ function initModelVerison(value, nameMap, faildModelVersion) {
+ let faildTrainUrl = $('input[name="pre_train_model_url"]').val();
+ let html = "";
+ nameMap[value].forEach((element) => {
+ html += `${element.version}
`;
+ });
+ $("#model_name_version").append(html);
+ $("#select_model_version").dropdown("set text", faildModelVersion);
+ $("#select_model_version").dropdown("set value", faildTrainUrl);
+ }
+ function initModelckpt(dataID) {
+ let faildCkptName = $('input[name="ckpt_name"]').val();
+ $("#select_model_checkpoint").addClass("loading");
+ $("#model_checkpoint").empty();
+ let html = "";
+ loadCheckpointList(dataID).then((res) => {
+ res.forEach((element) => {
+ const ckptSuffix = element.FileName.split(".");
+ const loadCheckpointFile = [
+ "ckpt",
+ "pb",
+ "h5",
+ "json",
+ "pkl",
+ "pth",
+ "t7",
+ "pdparams",
+ "onnx",
+ "pbtxt",
+ "keras",
+ "mlmodel",
+ "cfg",
+ "pt",
+ ];
+ if (
+ !element.IsDir &&
+ loadCheckpointFile.includes(ckptSuffix[ckptSuffix.length - 1])
+ ) {
+ html += `${element.FileName}
`;
+ }
+ });
+ $("#model_checkpoint").append(html);
+ $("#select_model_checkpoint").removeClass("loading");
+ $("#select_model_checkpoint").dropdown("set text", faildCkptName);
+ $("#select_model_checkpoint").dropdown("set value", faildCkptName);
+ });
+ }
+ function loadCheckpointList(value) {
+ return new Promise((resolve, reject) => {
+ $.get(
+ `${RepoLink}/modelmanage/query_modelfile_for_predict`,
+ { id: value },
+ (data) => {
+ resolve(data);
+ }
+ );
+ });
+ }
})();