export default async function initCloudrainSow() { function debounce(fn, delay) { let timer; return (...args) => { // 判断定时器是否存在,清除定时器 if (timer) { clearTimeout(timer); } // 重新调用setTimeout timer = setTimeout(() => { fn.apply(this, args); }, delay); }; } function paddingZeros(str, len) { str = str.toString(); if (str.length < len) { str = new Array(len - str.length).fill('0').join('') + str; } return str; } function timeFormat(date) { return `${date.getFullYear()}-${paddingZeros(date.getMonth() + 1, 2)}-${paddingZeros(date.getDate(), 2)} ${paddingZeros(date.getHours(), 2)}:${paddingZeros(date.getMinutes(), 2)}:${paddingZeros(date.getSeconds(), 2)}`; } function logScroll(version_name, repoPath, ID, max = "", lines = 60) { let container = document.querySelector(`#log${max}${version_name}`); let scrollTop = container.scrollTop; let scrollHeight = container.scrollHeight; let clientHeight = container.clientHeight; let scrollLeft = container.scrollLeft; if ( (parseInt(scrollTop) + clientHeight == scrollHeight || parseInt(scrollTop) + clientHeight + 1 == scrollHeight || parseInt(scrollTop) + clientHeight - 1 == scrollHeight) && scrollLeft === 0 ) { let end_line = $(`#log${version_name} input[name=end_line${max}]`).val(); $(`#log${max}${version_name} .ui.inverted.active.dimmer`).css({ "background-color": "#fff", display: "block", }); $.get( `/api/v1/repos/${repoPath}/${ID}/log?version_name=${version_name}&base_line=${end_line}&lines=${lines}&order=desc`, (data) => { $(`#log${max}${version_name} .ui.inverted.active.dimmer`).css( "display", "none" ); if (data.Lines == 0) { if (max) { $("body").toast({ class: "black", message: `您已翻阅至日志底部,请稍后再试!`, }); } else { $(`.message${version_name} #header`).text("您已翻阅至日志底部"); $(`.message${version_name}`).css("display", "block"); setTimeout(function () { $(`.message${version_name}`).css("display", "none"); }, 1000); } } else { if (end_line === data.EndLine) { return; } else { $(`#log${version_name} input[name=end_line${max}]`).val( data.EndLine ); $(`#log${max}${version_name}`).append("
" + data.Content);
}
}
}
).fail(function (err) {
$(`#log${max}${version_name} .ui.inverted.active.dimmer`).css(
"display",
"none"
);
console.log(err);
});
}
if (scrollTop == 0 && scrollLeft == 0) {
let start_line = $(
`#log${version_name} input[name=start_line${max}]`
).val();
$(`#log${max}${version_name} .ui.inverted.active.dimmer`).css({
"background-color": "#fff",
display: "block",
});
$.get(
`/api/v1/repos/${repoPath}/${ID}/log?version_name=${version_name}&base_line=${start_line}&lines=${lines}&order=asc`,
(data) => {
$(`#log${max}${version_name} .ui.inverted.active.dimmer`).css(
"display",
"none"
);
if (data.Lines == 0) {
if (max) {
$("body").toast({
class: "black",
message: `您已翻阅至日志顶部,请稍后再试!`,
});
} else {
$(`.message${version_name} #header`).text("您已翻阅至日志顶部");
$(`.message${version_name}`).css("display", "block");
setTimeout(function () {
$(`.message${version_name}`).css("display", "none");
}, 1000);
}
} else {
$(`#log${version_name} input[name=start_line${max}]`).val(
data.StartLine
); //如果变动就改变所对应的值
$(`#log${max}${version_name}`).prepend("" + data.Content);
}
}
).fail(function (err) {
$(`#log${max}${version_name} .ui.inverted.active.dimmer`).css(
"display",
"none"
);
console.log(err);
});
}
}
const fn = debounce(logScroll, 500);
$(".log-scroll").scroll(function () {
let version_name = $(this).data("version");
let ID = $(`#accordion${version_name}`).data("jobid");
let repoPath = $(`#accordion${version_name}`).data("repopath");
fn(version_name, repoPath, ID);
});
function scrollAnimation(dom, currentY, targetY, currentX) {
let needScrollTop = targetY - currentY;
let _currentY = currentY;
setTimeout(() => {
// 一次调用滑动帧数,每次调用会不一样
//取总距离的十分之一
const dist = Math.ceil(needScrollTop / 10);
_currentY += dist;
//移动一个十分之一
dom.scrollTo(currentX || 0, _currentY, "smooth");
// 如果移动幅度小于十个像素,直接移动,否则递归调用,实现动画效果
if (needScrollTop > 10 || needScrollTop < -10) {
scrollAnimation(dom, _currentY, targetY);
} else {
dom.scrollTo(0, targetY, "smooth");
}
}, 1);
}
function logTop(e) {
let max = e.currentTarget.getAttribute("data-max") || "";
let lines = !!max ? 100 : 60;
let version_name = $(this).data("version");
let logContentDom = document.querySelector(`#log${max}${version_name}`);
let ID = $(`#accordion${version_name}`).data("jobid");
let repoPath = $(`#accordion${version_name}`).data("repopath");
let start_line = $(`#log${version_name} input[name=end_line${max}]`).val();
$(`#log_file${max}${version_name}`).siblings("pre").remove();
$(`#log${max}${version_name} .ui.inverted.active.dimmer`).css({
"background-color": "#fff",
display: "block",
});
$.get(
`/api/v1/repos/${repoPath}/${ID}/log?version_name=${version_name}&base_line=&lines=${lines}&order=asc`,
(data) => {
$(`#log${max}${version_name} .ui.inverted.active.dimmer`).css(
"display",
"none"
);
$(`#log${version_name} input[name=end_line${max}]`).val(data.EndLine); //如果变动就改变所对应的值
$(`#log${version_name} input[name=start_line${max}]`).val(
data.StartLine
);
$(`#log${max}${version_name}`).prepend("" + data.Content);
if (data.Lines == 0) {
if (max) {
$("body").toast({
class: "black",
message: `您已翻阅至日志顶部,请稍后再试!`,
});
} else {
$(`.message${version_name} #header`).text("您已翻阅至日志顶部");
$(`.message${version_name}`).css("display", "block");
setTimeout(function () {
$(`.message${version_name}`).css("display", "none");
}, 1000);
}
}
$.get(
`/api/v1/repos/${repoPath}/${ID}/log?version_name=${version_name}&base_line=${data.StartLine}&lines=${lines}&order=asc`,
(data) => {
$(`#log${max}${version_name} .ui.inverted.active.dimmer`).css(
"display",
"none"
);
if (data.Lines == 0) {
if (max) {
$("body").toast({
class: "black",
message: `您已翻阅至日志顶部,请稍后再试!`,
});
} else {
$(`.message${version_name} #header`).text("您已翻阅至日志顶部");
$(`.message${version_name}`).css("display", "block");
setTimeout(function () {
$(`.message${version_name}`).css("display", "none");
}, 1000);
}
} else {
if (start_line === data.StartLine || start_line === "") {
return;
} else {
$(`#log${version_name} input[name=start_line${max}]`).val(
data.StartLine
);
$(`#log${max}${version_name}`).prepend("" + data.Content);
}
}
}
).fail(function (err) {
$(`#log${max}${version_name} .ui.inverted.active.dimmer`).css(
"display",
"none"
);
console.log(err);
});
scrollAnimation(logContentDom, logContentDom.scrollTop, 10);
}
).fail((err) => {
$(`#log${max}${version_name} .ui.inverted.active.dimmer`).css(
"display",
"none"
);
throw err;
});
}
function logBottom(e) {
let max = e.currentTarget.getAttribute("data-max") || "";
let lines = !!max ? 100 : 60;
let version_name = $(this).data("version");
let logContentDom = document.querySelector(`#log${max}${version_name}`);
let ID = $(`#accordion${version_name}`).data("jobid");
let repoPath = $(`#accordion${version_name}`).data("repopath");
$(`#log_file${max}${version_name}`).siblings("pre").remove();
let end_line = $(`#log${version_name} input[name=end_line${max}]`).val();
$(`#log${max}${version_name} .ui.inverted.active.dimmer`).css({
"background-color": "#fff",
display: "block",
});
$.get(
`/api/v1/repos/${repoPath}/${ID}/log?version_name=${version_name}&base_line=&lines=${lines}&order=desc`,
(data) => {
$(`#log${max}${version_name} .ui.inverted.active.dimmer`).css(
"display",
"none"
);
if (!data.CanLogDownload) {
$(`#${version_name}-log-down`)
.removeClass("ti-download-file")
.addClass("disabled");
$(`.max-full-log${version_name} #${version_name}-log-down`)
.removeClass("ti-download-file")
.addClass("disabled");
} else {
$(`#${version_name}-log-down`)
.addClass("ti-download-file")
.removeClass("disabled");
$(`.max-full-log${version_name} #${version_name}-log-down`)
.addClass("ti-download-file")
.removeClass("disabled");
}
$(`#log${version_name} input[name=end_line${max}]`).val(data.EndLine); //如果变动就改变所对应的值
if ($(this)[0].hasAttribute("data-tab")) {
$(`#log${version_name} input[name=end_line-max]`).val(data.EndLine);
$(`#log${version_name} input[name=start_line-max]`).val(
data.StartLine
);
$(`#log${version_name} input[name=start_line-max-copy]`).val(
data.StartLine
);
}
$(`#log${version_name} input[name=start_line${max}]`).val(
data.StartLine
);
$(`#log${max}${version_name}`).append("" + data.Content);
$.get(
`/api/v1/repos/${repoPath}/${ID}/log?version_name=${version_name}&base_line=${data.EndLine}&lines=${lines}&order=desc`,
(data) => {
$(`#log${max}${version_name} .ui.inverted.active.dimmer`).css(
"display",
"none"
);
if (data.Lines == 0) {
if (max) {
$("body").toast({
class: "black",
message: `您已翻阅至日志底部,请稍后再试!`,
});
} else {
$(`.message${version_name} #header`).text("您已翻阅至日志底部");
$(`.message${version_name}`).css("display", "block");
setTimeout(function () {
$(`.message${version_name}`).css("display", "none");
}, 1000);
}
} else {
if (end_line === data.EndLine || end_line === "") {
return;
} else {
$(`#log${version_name} input[name=end_line${max}]`).val(
data.EndLine
);
if ($(this)[0].hasAttribute("data-tab")) {
$(`#log${version_name} input[name=end_line-max]`).val(
data.EndLine
);
}
$(`#log${max}${version_name}`).append("" + data.Content);
}
}
}
).fail(function (err) {
$(`#log${max}${version_name} .ui.inverted.active.dimmer`).css(
"display",
"none"
);
console.log(err);
});
let test = $(`#log_file${version_name}`).nextAll();
test.length !== 0 &&
$(`#log${version_name} input[name=init_log]`).val(test[0].innerHTML);
scrollAnimation(
logContentDom,
logContentDom.scrollTop + 1,
logContentDom.scrollHeight - logContentDom.clientHeight - 10
);
}
).fail((err) => {
$(`#log${max}${version_name} .ui.inverted.active.dimmer`).css(
"display",
"none"
);
throw err;
});
}
$(".log_top").click(logTop);
$(".log_bottom").click(logBottom);
// $(".log-scroll-max").scroll();
$(".full-log-dialog").click(function () {
let version_name = $(this).data("version");
let log_type = $(this).data("log-type") || "";
let logContentDom = document.querySelector(`#log-max${version_name}`);
$(`.ui.modal.max-full-log${version_name}`)
.modal({
closable: false,
onShow: function () {
$(".ui.dimmer.modals").css({
"background-color": "rgb(136, 136, 136,0.7)",
});
$(".log-scroll-max .ui.inverted.active.dimmer").css(
"display",
"none"
);
$(".file-info #log-file-title").text(
$(".full-log-dialog").data("log")
);
$(".file-info #log-file-exit").text(
$(".full-log-dialog").data("exit")
);
$(".file-info .log-file-down").text(
$(".full-log-dialog").data("log-down")
);
$(".file-info .log-file-down").text(
$(".full-log-dialog").data("log-down")
);
$(`.max-full-log${version_name} #${version_name}-log-down`).attr(
"href",
$(".full-log-dialog").data("href")
);
$(`.max-full-log${version_name} .log_top-max`).attr(
"title",
$(".full-log-dialog").data("scroll-top")
);
$(`.max-full-log${version_name} .log_bottom-max`).attr(
"title",
$(".full-log-dialog").data("scroll-bottom")
);
},
onVisible: function () {
$(`#log-max${version_name}`).append(
"" + $(`#log${version_name} input[name=init_log]`).val()
);
scrollAnimation(
logContentDom,
logContentDom.scrollTop + 1,
logContentDom.scrollHeight - logContentDom.clientHeight
);
if (log_type !== "c2Net") {
$(".log-scroll-max").bind("scroll", function () {
let version_name = $(this).data("version");
let ID = $(`#accordion${version_name}`).data("jobid");
let repoPath = $(`#accordion${version_name}`).data("repopath");
fn(version_name, repoPath, ID, "-max", 100);
});
}
$(".log_bottom-max").bind("click", logBottom);
$(".log_top-max").bind("click", logTop);
},
onHide: function () {
let startLine = $(
`#log${version_name} input[name=start_line-max-copy]`
).val();
$(`#log_file-max${version_name}`).siblings("pre").remove();
$(`#log${version_name} input[name=start_line-max]`).val(startLine);
$(".log-scroll-max").unbind("scroll");
$(".log_bottom-max").unbind("click");
$(".log_top-max").unbind("click");
},
})
.modal("show");
});
function loadLog(version_name) {
document.getElementById("mask").style.display = "block";
$.get(
`/api/v1/repos/${userName}/${repoPath}/grampus/train-job/${jobID}/log?version_name=${version_name}&lines=50&order=asc`,
(data) => {
$("input[name=end_line]").val(data.EndLine);
$("input[name=start_line]").val(data.StartLine);
$(`#log_file${version_name}`).text(data.Content);
document.getElementById("mask").style.display = "none";
}
).fail(function (err) {
document.getElementById("mask").style.display = "none";
console.log(err);
});
}
$(".refresh-status").click(function (e) {
let version_name = $(this).data("version");
let ID = $(`#accordion${version_name}`).data("jobid");
let repoPath = $(`#accordion${version_name}`).data("repopath");
refreshStatusShow(version_name, ID, repoPath);
e.stopPropagation();
});
$(".stop-show-version").click(function (e) {
const ID = this.dataset.jobid;
const repoPath = this.dataset.repopath;
const version_name = this.dataset.version;
const url = `/api/v1/repos/${repoPath}/${ID}/stop_version`;
$.post(url, { version_name: version_name }, (data) => {
if (data.StatusOK === 0) {
$(`#${version_name}-stop`).removeClass("blue");
$(`#${version_name}-stop`).addClass("disabled");
refreshStatusShow(version_name, ID, repoPath);
}
}).fail(function (err) {
console.log(err);
});
e.stopPropagation();
});
$(".delete-show-version").click(function (e) {
const ID = this.dataset.jobid;
const repoPath = this.dataset.repopath;
const version_name = this.dataset.version;
const url = `/api/v1/repos/${repoPath}/${ID}/del_version`;
$(".ui.basic.modal")
.modal({
onApprove: function () {
$.post(url, { version_name: version_name }, (data) => {
if (data.StatusOK === 0) {
if (data.VersionListCount === 0) {
location.href = `/${repoPath}`;
} else {
$("#accordion" + version_name).remove();
}
refreshStatusShow(version_name, ID, repoPath);
} else {
return;
}
}).fail(function (err) {
console.log(err);
});
},
})
.modal("show");
e.stopPropagation();
});
$('.ui.pointing.secondary.menu .item:eq(0)').click(function(e) {
const self = $(this);
setTimeout(function() {
self.closest('.accordion').find('.refresh-status').trigger('click');
}, 20);
});
function refreshStatusShow(version_name, ID, repoPath) {
$.get(
`/api/v1/repos/${repoPath}/${ID}?version_name=${version_name}`,
(data) => {
//accroding下的状态
$(`#${version_name}-status-span span`).text(data.JobStatus);
//accroding下的状态图标
$(`#${version_name}-status-span i`).attr("class", data.JobStatus);
//accroding下的运行时长
$(`#${version_name}-duration-span`).text(data.JobDuration);
//配置信息详情页的状态
data.StartTime !== undefined && data.StartTime > 0 && $(`#${version_name}-startTime`).text(timeFormat(new Date(data.StartTime * 1000)));
//配置信息详情页的状态
$(`#${version_name}-status`).text(data.JobStatus);
//配置信息详情页的状态
$(`#${version_name}-duration`).text(data.JobDuration);
//配置信息详情页的状态
$(`#${version_name}-ai_center`).text(data.AiCenter);
}
).fail(function (err) {
console.log(err);
});
const accordionEl = $(`#accordion${version_name}`);
const activeTab = accordionEl.find('.ui.pointing.secondary.menu .item:not(:eq(0)).active');
activeTab.trigger('click');
}
//
$(".content-pad").on("click", ".load-model-file", function () {
let downloadFlag = $(this).data("download-flag") || "";
let gpuFlag = $(this).data("gpu-flag") || "";
let version_name = $(this).data("version");
let parents = $(this).data("parents");
let filename = $(this).data("filename");
let init = $(this).data("init") || "";
let path = $(this).data("path");
$(`#dir_list${version_name}`).empty();
let url = `/api/v1/repos${path}?version_name=${version_name}&parentDir=${parents}`;
$.get(url, (data) => {
if (data.StatusOK == 0) { // 成功 0
if (data.Dirs) {
renderDir(path, data, version_name, downloadFlag, gpuFlag);
}
if (init === "init") {
$(`input[name=model${version_name}]`).val("");
$(`input[name=modelback${version_name}]`).val(version_name);
$(`#file_breadcrumb${version_name}`).empty();
let htmlBread = "";
if (version_name) {
htmlBread += `${version_name}`;
} else {
htmlBread += `result`;
}
htmlBread += " / ";
$(`#file_breadcrumb${version_name}`).append(htmlBread);
} else {
renderBrend(
path,
version_name,
parents,
filename,
init,
downloadFlag,
gpuFlag
);
}
} else if (data.StatusOK == 1) { // 处理中 1
$(`#file_breadcrumb${version_name}`).empty();
$(`#dir_list${version_name}`).html(`
${i18n['file_sync_ing']}
`);
} else if (data.StatusOK == 2) { // 失败 2
$(`#file_breadcrumb${version_name}`).empty();
$(`#dir_list${version_name}`).html(`
${i18n['file_sync_fail']}
`);
} else if (data.StatusOK == 3) { // 无文件 3
$(`#file_breadcrumb${version_name}`).empty();
$(`#dir_list${version_name}`).html(`
${i18n['no_file_to_download']}
`);
} else if (data.StatusOK == 4) { // 任务未结束 4
$(`#file_breadcrumb${version_name}`).empty();
$(`#dir_list${version_name}`).html(`
${i18n['task_not_finished']}
`);
}
}).fail(function (err) {
console.log(err, version_name);
});
});
function renderSize(value) {
if (null == value || value == "") {
return "0 Bytes";
}
var unitArr = new Array(
"Bytes",
"KB",
"MB",
"GB",
"TB",
"PB",
"EB",
"ZB",
"YB"
);
var index = 0;
var srcsize = parseFloat(value);
index = Math.floor(Math.log(srcsize) / Math.log(1024));
var size = srcsize / Math.pow(1024, index);
size = size.toFixed(0); //保留的小数位数
return size + unitArr[index];
}
function renderBrend(
path,
version_name,
parents,
filename,
init,
downloadFlag,
gpuFlag
) {
if (init == "folder") {
let htmlBrend = "";
let sectionName = $(
`#file_breadcrumb${version_name} .active.section`
).text();
let parents1 = $(`input[name=model${version_name}]`).val();
let filename1 = $(`input[name=modelback${version_name}]`).val();
if (parents1 === "") {
$(`#file_breadcrumb${version_name} .active.section`).replaceWith(
`${sectionName}`
);
} else {
$(`#file_breadcrumb${version_name} .active.section`).replaceWith(
`${sectionName}`
);
}
htmlBrend += `${filename}`;
htmlBrend += " / ";
$(`#file_breadcrumb${version_name}`).append(htmlBrend);
$(`input[name=model${version_name}]`).val(parents);
$(`input[name=modelback${version_name}]`).val(filename);
} else {
$(`input[name=model${version_name}]`).val(parents);
$(`input[name=modelback${version_name}]`).val(filename);
let selectEle = $(`#file_breadcrumb${version_name} a.section`).filter(
(index, item) => {
return item.text == filename;
}
);
selectEle.nextAll().remove();
selectEle.after(" / ");
selectEle.replaceWith(`${filename}`);
}
}
function renderDir(path, data, version_name, downloadFlag, gpuFlag) {
let html = "";
html += "";
html += "";
html += "";
html += "";
html += "";
html += "";
// html += ""
for (let i = 0; i < data.Dirs.length; i++) {
let dirs_size = renderSize(data.Dirs[i].Size);
html += "";
html += "";
html += "";
html += "";
html += "";
if (data.Dirs[i].IsDir) {
html += ``;
html +=
"" +
data.Dirs[i].FileName +
"";
} else {
if (downloadFlag) {
if (gpuFlag) {
if (path.includes("model_list")) {
html += ``;
} else {
html += ``;
}
} else {
if (path.includes("model_list")) {
html += ``;
} else {
html += ``;
}
}
} else {
html += ``;
}
html +=
"" +
data.Dirs[i].FileName +
"";
}
html += "";
html += "";
html += " ";
html += "";
html += "";
html +=
"" + data.Dirs[i].ModTime + "";
html += " ";
html += " ";
}
html += "";
html += "
";
html += "";
html += "";
html += "";
html += "";
$(`#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", "");
}
},
});
$("#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");
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);
}
);
});
}
}