Просмотр исходного кода

feat: 模型列表,某一配置下的所有模型

icenaked 3 лет назад
Родитель
Сommit
ba6b77900a
3 измененных файлов с 39 добавлено и 26 удалено
  1. 16 2
      src/api/model.js
  2. 13 8
      src/views/ml/ConfigDetail.vue
  3. 10 16
      src/views/ml/ModelList.vue

+ 16 - 2
src/api/model.js

@@ -1,5 +1,6 @@
 import {axios} from '../utils/request'
 import {MODEL_MODULE} from "./_prefix";
+import {MOCK} from "./_prefix";
 
 /**
  * 新建模型 POST /model/add
@@ -49,9 +50,22 @@ export const deleteModel=async modelId=>{
      */
     export const getAllModel = async payload => {
         const{ userId } = payload;
-        const res = await axios.get(`${MODEL_MODULE}/get/all`, {params: {userId: userId}})
-        return res//response
+        // const res = await axios.get(`${MODEL_MODULE}/get/all`, {params: {userId: userId}})
+        const res = await axios.get(`${MOCK}/ml/models:userId=1`)
+        return res
     }
+/**
+ * 获取一个配置下的所有模型 GET
+ * @param userId
+ * @returns
+ */
+export const getModelByConfigId = async payload => {
+    const{ config } = payload;
+    // const res = await axios.get(`${MODEL_MODULE}/get/all`, {params: {userId: userId}})
+    const res = await axios.get(`${MOCK}/ml/models/configs/:configId`)
+    return res
+}
+
     /**
      * 获取深度学习模型 GET /model/get/all/dl
      * @param userId

+ 13 - 8
src/views/ml/ConfigDetail.vue

@@ -27,13 +27,18 @@
               <el-table-column label="模型名" width="150%">
                 <template #default="scope"><span>{{ scope.row.modelName }}</span></template>
               </el-table-column>
-              <el-table-column label="模型类别" width="150%">
-                <template #default="scope">{{ scope.row.modelDetailName }}</template>
+              <el-table-column label="机器学习算法" width="150%">
+                <template #default="scope">
+                  {{ scope.row.machineLearningAlgorithm }}
+                </template>
               </el-table-column>
               <el-table-column label="训练状态">
                 <template #default="scope" >
-                  <div v-if="scope.row.trainedStatus===-1">未训练</div>
-                  <div v-else="">已训练</div></template>
+                  <div v-if="scope.row.trainingState==='UNTRAINED'">未训练</div>
+                  <div v-else-if="scope.row.trainingState==='TRAINING'">训练中</div>
+                  <div v-else-if="scope.row.trainingState==='SUCCESS'">训练成功</div>
+                  <div v-else="">训练失败</div>
+                </template>
               </el-table-column>
               <el-table-column label="操作" width="180" align="center">
                 <template #default="scope">
@@ -123,7 +128,7 @@ import { fetchData } from "../../api";
 import {getFileDetail} from "../../api/file";
 import {getOneConfig} from "../../api/config";
 import {useRoute}from "vue-router";
-import {addModel} from "../../api/model";
+import {addModel, getModelByConfigId} from "../../api/model";
 export default {
   name: "configDetail",
   //训练特征
@@ -202,12 +207,12 @@ export default {
           //     tableData.value[i].conOrDis = "离散值"
           //   }
           // }
-          modelData.value=res.data.modelInfos;
-          console.log("tableData",tableData);
           fileId.value=tableData.value[0].fileInfoId;
           form.fileInfoId=(String)(fileId.value)
+        });
+        getModelByConfigId({configId:route.query.configId}).then(res =>{
+          modelData.value=res.result.modelVOList;
         })
-
       }
 
     };

+ 10 - 16
src/views/ml/ModelList.vue

@@ -31,18 +31,18 @@
           @row-dblclick="getConfigDetail"
       >
         <el-table-column prop="modelName" label="模型名"></el-table-column>
-        <el-table-column prop="configName" label="配置名"></el-table-column>
-        <el-table-column label="模型类别">
-          <template #default="scope">{{ scope.row.modelTypeName }}</template>
+        <el-table-column prop="configId" label="所属配置"></el-table-column>
+        <el-table-column label="模型算法">
+          <template #default="scope">{{ scope.row.machineLearningAlgorithm }}</template>
         </el-table-column>
         <el-table-column prop="arguments" label="参数值">
           <template #default="scope">
-            <div v-for="(item,index) in scope.row.arguments" :key="index">{{item}}</div>
+            <div v-for="(item,index) in scope.row.trainParams" :key="index">{{item}}</div>
           </template>
         </el-table-column>
         <el-table-column prop="trainedStatus" label="训练状态">
           <template #default="scope">
-            <div v-if="scope.row.trainedStatus==='已训练'" >
+            <div v-if="scope.row.trainingState==='SUCCESS'" >
               <el-button type="text" icon="el-icon-circle-check" class="yellow"
                          @click="handleTrainRes(scope.$index, scope.row)">查看训练结果</el-button>
             </div>
@@ -54,13 +54,13 @@
         </el-table-column>
         <el-table-column label="操作" width="180" align="center">
           <template #default="scope">
-            <div v-if="scope.row.trainedStatus==='已训练'">
+            <div v-if="scope.row.trainingState==='SUCCESS'">
               <el-button type="text" icon="el-icon-mouse"
                          @click="editUseModel(scope.$index, scope.row)">模型使用
               </el-button>
             </div>
             <div v-else>
-              <el-button type="text" icon="el-icon-lock" style="color: gray">暂未训练</el-button>
+              <el-button type="text" icon="el-icon-lock" style="color: gray">暂未成功训练</el-button>
             </div>
             <el-button type="text" icon="el-icon-delete" class="red"
                        @click="handleDelete(scope.$index, scope.row)">删除</el-button>
@@ -160,24 +160,18 @@ export default {
       getAllModel({
          userId: uid
       }).then(res => {
-        console.log("res",res);
-        tableData.value = res.data;
+        tableData.value = res.result.modelVOList;
         pageTotal.value=tableData.value.length
+        console.log(tableData.value[0].trainParams)
         for(let i=0;i<tableData.value.length;i++) {
           const reg=new RegExp("\"","g");
-          tableData.value[i].arguments = ((JSON.stringify(tableData.value[i].arguments))+"")
+          tableData.value[i].trainParams = ((JSON.stringify(tableData.value[i].trainParams))+"")
               .replace(reg,"")
               .replace("{","")
               .replace("}","")
               .split(",");
-          if(tableData.value[i].trainedStatus===1){
-            tableData.value[i].trainedStatus="已训练";
-          }else{
-            tableData.value[i].trainedStatus="未训练";
-          }
         }
         const route=useRoute()
-
       })
     };
     getpage();