| | |
| | | <!-- </el-table-column>--> |
| | | </el-table> |
| | | <el-divider content-position="left">模型运行结果</el-divider> |
| | | <el-button type="primary" size="small" link @click="saveModel" v-if="showSaveModel && formData.methodName === 'train'">下载模型(.miail)</el-button> |
| | | <el-input v-model="modelRunResult" placeholder="" rows="4" type="textarea" /> |
| | | <div style="display: flex;flex-direction: row;justify-content: end;margin-top: 16px"> |
| | | <el-button :loading="modelRunloading" type="primary" @click="modelRun()">运行</el-button> |
| | |
| | | import * as MpkApi from '@/api/model/mpk/mpk' |
| | | import {FormRules} from "element-plus"; |
| | | import {getAccessToken, getTenantId} from "@/utils/auth"; |
| | | import download from "@/utils/download"; |
| | | const staticDir = ref(import.meta.env.VITE_STATIC_DIR) |
| | | |
| | | const { t } = useI18n() // 国际化 |
| | |
| | | return e; |
| | | }) |
| | | } |
| | | |
| | | } |
| | | defineExpose({ open }) // 提供 open 方法,用于打开弹窗 |
| | | |
| | |
| | | // 运行 |
| | | const modelRun = async () => { |
| | | modelRunResult.value = '' |
| | | // 校验表单 |
| | | showSaveModel.value = false |
| | | // 校验表单 |
| | | if (!formRef) return |
| | | const valid = await formRef.value.validate() |
| | | if (!valid) return |
| | |
| | | data.model = undefined |
| | | } |
| | | |
| | | modelRunResult.value = await MpkApi.modelRun(data) |
| | | let result = await MpkApi.modelRun(data) |
| | | |
| | | modelRunResult.value = result; |
| | | message.success('运行成功') |
| | | // 训练方法 |
| | | if (formData.methodName === 'train') { |
| | | result = JSON.parse(result); |
| | | // 返回结果正确 |
| | | if (result?.status_code === '100' && result?.models?.model_path) { |
| | | // 有预测方法 |
| | | if (methodList.value.some(e => e.methodName === 'predict')) { |
| | | saveModelParams.modelResult = result |
| | | saveModelParams.model = result?.models |
| | | showSaveModel.value = true |
| | | } |
| | | } |
| | | } |
| | | } finally { |
| | | modelRunloading.value = false |
| | | } |
| | | } |
| | | |
| | | const showSaveModel = ref(false) |
| | | |
| | | const saveModelParams = reactive({ |
| | | pyName: '', |
| | | className: '', |
| | | methodName: '', |
| | | uuids: [], |
| | | modelSettings: [], |
| | | predModelSettings: [], |
| | | hasModel: false, |
| | | model: undefined, |
| | | modelResult: undefined, |
| | | dataLength: undefined, |
| | | resultKey: undefined, |
| | | }) |
| | | |
| | | const saveModel = async () => { |
| | | saveModelParams.className = formData.className |
| | | saveModelParams.pyName = formData.pyName |
| | | saveModelParams.modelSettings = formData.modelSettings |
| | | const predMethod = methodList.value.find(e => e.methodName === 'predict'); |
| | | saveModelParams.methodName = predMethod.methodName |
| | | saveModelParams.resultKey = predMethod.resultKey |
| | | //predModelSettings |
| | | if (predMethod.methodSettings && predMethod.methodSettings.length > 0) { |
| | | saveModelParams.predModelSettings = predMethod.methodSettings.map(e => { |
| | | e.settingValue = e.value; |
| | | return e; |
| | | }) |
| | | } |
| | | saveModelParams.hasModel = predMethod.model === 1 |
| | | |
| | | saveModelParams.dataLength = predMethod.dataLength |
| | | |
| | | const data = await MpkApi.saveModel(saveModelParams) |
| | | download.downloadFile(data, saveModelParams.pyName + '.miail') |
| | | } |
| | | </script> |