Jelajahi Sumber

feat: CAT训练搞定

WANGKANG 8 bulan lalu
induk
melakukan
150b9dc626
20 mengubah file dengan 140 tambahan dan 20 penghapusan
  1. 1 0
      taais-admin/src/main/resources/application-dev.yml
  2. 4 0
      taais-modules/taais-biz/src/main/java/com/taais/biz/domain/AlgorithmConfigTrack.java
  3. 4 0
      taais-modules/taais-biz/src/main/java/com/taais/biz/domain/AlgorithmModelTrack.java
  4. 4 0
      taais-modules/taais-biz/src/main/java/com/taais/biz/domain/DataSeq.java
  5. 4 0
      taais-modules/taais-biz/src/main/java/com/taais/biz/domain/TargetDetection.java
  6. 4 0
      taais-modules/taais-biz/src/main/java/com/taais/biz/domain/ToInfrared.java
  7. 4 0
      taais-modules/taais-biz/src/main/java/com/taais/biz/domain/TrackSequence.java
  8. 4 0
      taais-modules/taais-biz/src/main/java/com/taais/biz/domain/Video2image.java
  9. 4 0
      taais-modules/taais-biz/src/main/java/com/taais/biz/domain/VideoStable.java
  10. 4 0
      taais-modules/taais-biz/src/main/java/com/taais/biz/domain/bo/AlgorithmConfigTrackBo.java
  11. 4 0
      taais-modules/taais-biz/src/main/java/com/taais/biz/domain/bo/AlgorithmModelTrackBo.java
  12. 4 0
      taais-modules/taais-biz/src/main/java/com/taais/biz/domain/bo/DataSeqBo.java
  13. 4 0
      taais-modules/taais-biz/src/main/java/com/taais/biz/domain/bo/TargetDetectionBo.java
  14. 4 0
      taais-modules/taais-biz/src/main/java/com/taais/biz/domain/bo/ToInfraredBo.java
  15. 4 0
      taais-modules/taais-biz/src/main/java/com/taais/biz/domain/bo/ToInfraredStartResultBo.java
  16. 4 0
      taais-modules/taais-biz/src/main/java/com/taais/biz/domain/bo/TrackSequenceBo.java
  17. 4 0
      taais-modules/taais-biz/src/main/java/com/taais/biz/domain/bo/Video2imageBo.java
  18. 4 0
      taais-modules/taais-biz/src/main/java/com/taais/biz/domain/bo/VideoStableBo.java
  19. 4 0
      taais-modules/taais-biz/src/main/java/com/taais/biz/domain/bo/VideoStableStartResultBo.java
  20. 67 20
      taais-modules/taais-biz/src/main/java/com/taais/biz/service/impl/TrackSequenceServiceImpl.java

+ 1 - 0
taais-admin/src/main/resources/application-dev.yml

@@ -2,6 +2,7 @@ server:
   video_stable_start_url: http://localhost:11006/video_stable
   video_stable_stop_url: http://localhost:11006/video_stable_stop
   task_stop_url: http://localhost:11003/stop
+  task_stop_url_cat: http://localhost:11004/stop
 
 # 数据源配置
 spring:

+ 4 - 0
taais-modules/taais-biz/src/main/java/com/taais/biz/domain/AlgorithmConfigTrack.java

@@ -1,3 +1,7 @@
+/**
+ * 20241029 ©WANGKANG 1686617586@qq.com
+ */
+
 package com.taais.biz.domain;
 
 import com.mybatisflex.annotation.Column;

+ 4 - 0
taais-modules/taais-biz/src/main/java/com/taais/biz/domain/AlgorithmModelTrack.java

@@ -1,3 +1,7 @@
+/**
+ * 20241029 ©WANGKANG 1686617586@qq.com
+ */
+
 package com.taais.biz.domain;
 
 import com.mybatisflex.annotation.Column;

+ 4 - 0
taais-modules/taais-biz/src/main/java/com/taais/biz/domain/DataSeq.java

@@ -1,3 +1,7 @@
+/**
+ * 20241029 ©WANGKANG 1686617586@qq.com
+ */
+
 package com.taais.biz.domain;
 
 import java.util.Date;

+ 4 - 0
taais-modules/taais-biz/src/main/java/com/taais/biz/domain/TargetDetection.java

@@ -1,3 +1,7 @@
+/**
+ * 20241029 ©WANGKANG 1686617586@qq.com
+ */
+
 package com.taais.biz.domain;
 
 import java.util.Date;

+ 4 - 0
taais-modules/taais-biz/src/main/java/com/taais/biz/domain/ToInfrared.java

@@ -1,3 +1,7 @@
+/**
+ * 20241029 ©WANGKANG 1686617586@qq.com
+ */
+
 package com.taais.biz.domain;
 
 import java.util.Date;

+ 4 - 0
taais-modules/taais-biz/src/main/java/com/taais/biz/domain/TrackSequence.java

@@ -1,3 +1,7 @@
+/**
+ * 20241029 ©WANGKANG 1686617586@qq.com
+ */
+
 package com.taais.biz.domain;
 
 import java.util.Date;

+ 4 - 0
taais-modules/taais-biz/src/main/java/com/taais/biz/domain/Video2image.java

@@ -1,3 +1,7 @@
+/**
+ * 20241029 ©WANGKANG 1686617586@qq.com
+ */
+
 package com.taais.biz.domain;
 
 import java.util.Date;

+ 4 - 0
taais-modules/taais-biz/src/main/java/com/taais/biz/domain/VideoStable.java

@@ -1,3 +1,7 @@
+/**
+ * 20241029 ©WANGKANG 1686617586@qq.com
+ */
+
 package com.taais.biz.domain;
 
 import java.util.Date;

+ 4 - 0
taais-modules/taais-biz/src/main/java/com/taais/biz/domain/bo/AlgorithmConfigTrackBo.java

@@ -1,3 +1,7 @@
+/**
+ * 20241029 ©WANGKANG 1686617586@qq.com
+ */
+
 package com.taais.biz.domain.bo;
 
 import com.taais.biz.domain.AlgorithmConfigTrack;

+ 4 - 0
taais-modules/taais-biz/src/main/java/com/taais/biz/domain/bo/AlgorithmModelTrackBo.java

@@ -1,3 +1,7 @@
+/**
+ * 20241029 ©WANGKANG 1686617586@qq.com
+ */
+
 package com.taais.biz.domain.bo;
 
 import com.taais.biz.domain.AlgorithmModelTrack;

+ 4 - 0
taais-modules/taais-biz/src/main/java/com/taais/biz/domain/bo/DataSeqBo.java

@@ -1,3 +1,7 @@
+/**
+ * 20241029 ©WANGKANG 1686617586@qq.com
+ */
+
 package com.taais.biz.domain.bo;
 
 import com.taais.biz.domain.DataSeq;

+ 4 - 0
taais-modules/taais-biz/src/main/java/com/taais/biz/domain/bo/TargetDetectionBo.java

@@ -1,3 +1,7 @@
+/**
+ * 20241029 ©WANGKANG 1686617586@qq.com
+ */
+
 package com.taais.biz.domain.bo;
 
 import com.taais.biz.domain.TargetDetection;

+ 4 - 0
taais-modules/taais-biz/src/main/java/com/taais/biz/domain/bo/ToInfraredBo.java

@@ -1,3 +1,7 @@
+/**
+ * 20241029 ©WANGKANG 1686617586@qq.com
+ */
+
 package com.taais.biz.domain.bo;
 
 import com.fasterxml.jackson.annotation.JsonFormat;

+ 4 - 0
taais-modules/taais-biz/src/main/java/com/taais/biz/domain/bo/ToInfraredStartResultBo.java

@@ -1,3 +1,7 @@
+/**
+ * 20241029 ©WANGKANG 1686617586@qq.com
+ */
+
 package com.taais.biz.domain.bo;
 
 import jakarta.validation.constraints.NotNull;

+ 4 - 0
taais-modules/taais-biz/src/main/java/com/taais/biz/domain/bo/TrackSequenceBo.java

@@ -1,3 +1,7 @@
+/**
+ * 20241029 ©WANGKANG 1686617586@qq.com
+ */
+
 package com.taais.biz.domain.bo;
 
 import com.fasterxml.jackson.annotation.JsonFormat;

+ 4 - 0
taais-modules/taais-biz/src/main/java/com/taais/biz/domain/bo/Video2imageBo.java

@@ -1,3 +1,7 @@
+/**
+ * 20241029 ©WANGKANG 1686617586@qq.com
+ */
+
 package com.taais.biz.domain.bo;
 
 

+ 4 - 0
taais-modules/taais-biz/src/main/java/com/taais/biz/domain/bo/VideoStableBo.java

@@ -1,3 +1,7 @@
+/**
+ * 20241029 ©WANGKANG 1686617586@qq.com
+ */
+
 package com.taais.biz.domain.bo;
 
 import com.alibaba.excel.annotation.ExcelProperty;

+ 4 - 0
taais-modules/taais-biz/src/main/java/com/taais/biz/domain/bo/VideoStableStartResultBo.java

@@ -1,3 +1,7 @@
+/**
+ * 20241029 ©WANGKANG 1686617586@qq.com
+ */
+
 package com.taais.biz.domain.bo;
 
 import jakarta.validation.constraints.NotNull;

+ 67 - 20
taais-modules/taais-biz/src/main/java/com/taais/biz/service/impl/TrackSequenceServiceImpl.java

@@ -62,7 +62,11 @@ import static com.taais.biz.service.impl.VideoStableServiceImpl.makeDir;
  */
 @Service
 public class TrackSequenceServiceImpl extends BaseServiceImpl<TrackSequenceMapper, TrackSequence> implements ITrackSequenceService {
-    @Value("${server.task_stop_url}")
+
+    private static final String MASC = "MASC";
+    private static final String CAT = "CAT";
+
+    @Value("${server.task_stop_url_cat}")
     private String task_stop_url;
 
     @Autowired
@@ -141,7 +145,6 @@ public class TrackSequenceServiceImpl extends BaseServiceImpl<TrackSequenceMappe
                 if (ObjectUtil.isNotNull(model)) {
                     entity.setModelName(model.getModelName());
                 }
-
             }
             if (algorithmId != null) {
                 AlgorithmConfigTrackVo config = algorithmConfigTrackService.selectById(algorithmId);
@@ -151,6 +154,17 @@ public class TrackSequenceServiceImpl extends BaseServiceImpl<TrackSequenceMappe
                     entity.setAlgorithmName(config.getAlgorithmName());
                 }
             }
+            else {
+                AlgorithmModelTrackVo model = algorithmModelTrackService.selectById(modelId);
+                if (ObjectUtil.isNotNull(model)) {
+                    AlgorithmConfigTrackVo config = algorithmConfigTrackService.selectById(model.getAlgorithmId());
+                    if (ObjectUtil.isNotNull(config)) {
+                        entity.setType(config.getType());
+                        entity.setSubsystem(config.getSubsystem());
+                        entity.setAlgorithmName(config.getAlgorithmName());
+                    }
+                }
+            }
         });
         return PageResult.build(page);
     }
@@ -164,7 +178,7 @@ public class TrackSequenceServiceImpl extends BaseServiceImpl<TrackSequenceMappe
     @Override
     public CommonResult insert(TrackSequenceBo trackSequenceBo) {
         // 检查任务名称
-        if (ObjectUtil.isEmpty(trackSequenceBo.getName()) || (!trackSequenceBo.getName().startsWith("MASC") && !trackSequenceBo.getName().startsWith("CAT"))) {
+        if (ObjectUtil.isEmpty(trackSequenceBo.getName()) || (!trackSequenceBo.getName().startsWith(MASC) && !trackSequenceBo.getName().startsWith(CAT))) {
             return CommonResult.fail("任务命名错误,需以MASC或CAT开头!");
         }
 
@@ -178,13 +192,15 @@ public class TrackSequenceServiceImpl extends BaseServiceImpl<TrackSequenceMappe
             return CommonResult.fail("找不到指定模型!");
         }
 
-        if (ObjectUtil.isEmpty(trackSequenceBo.getAlgorithmId())) {
-            return CommonResult.fail("请指定算法!");
-        }
+        if (trackSequenceBo.getName().startsWith(MASC)) {
+            if (ObjectUtil.isEmpty(trackSequenceBo.getAlgorithmId())) {
+                return CommonResult.fail("请指定算法!");
+            }
 
-        AlgorithmConfigTrackVo config = algorithmConfigTrackService.selectById(trackSequenceBo.getAlgorithmId());
-        if (ObjectUtil.isNull(config)) {
-            return CommonResult.fail("找不到指定的算法!");
+            AlgorithmConfigTrackVo config = algorithmConfigTrackService.selectById(trackSequenceBo.getAlgorithmId());
+            if (ObjectUtil.isNull(config)) {
+                return CommonResult.fail("找不到指定的算法!");
+            }
         }
 
         TrackSequence trackSequence = new TrackSequence();
@@ -249,10 +265,16 @@ public class TrackSequenceServiceImpl extends BaseServiceImpl<TrackSequenceMappe
     public CommonResult start(Long id) {
         TrackSequence entity = getById(id);
         AlgorithmModelTrack algorithmModelTrack = algorithmModelTrackService.getById(entity.getAlgorithmModelId());
-        AlgorithmConfigTrack algorithmConfigTrack = algorithmConfigTrackService.getById(entity.getAlgorithmId());
+        AlgorithmConfigTrack algorithmConfigTrack = null;
+        try {
+            algorithmConfigTrack = algorithmConfigTrackService.getById(entity.getAlgorithmId());
+        } catch (Exception e) {
+            algorithmConfigTrack = algorithmConfigTrackService.getById(algorithmModelTrack.getAlgorithmId());
+        }
+
         StartTaskConfig startTaskConfig = new StartTaskConfig();
 
-        if (algorithmConfigTrack.getType().equals(BizConstant.AlgorithmType.TEST) && entity.getName().startsWith("MASC")) {
+        if (algorithmConfigTrack.getType().equals(BizConstant.AlgorithmType.TEST) && entity.getName().startsWith(MASC)) {
             startTaskConfig.setBizType(BizConstant.BizType.TRACK_SEQUENCE);
             startTaskConfig.setBizId(entity.getId());
 
@@ -310,6 +332,15 @@ public class TrackSequenceServiceImpl extends BaseServiceImpl<TrackSequenceMappe
 //                return CommonResult.fail("模型命名失败,请以MASC或CAT开头命名模型");
 //            }
             }
+            else if(BizConstant.AlgorithmType.TRAIN.equals(algorithmConfigTrack.getType()) && entity.getName().startsWith(CAT)) {
+                File file________ = new File(startTaskConfig.getSource_dir());
+                if (!file________.exists()) {
+                    return CommonResult.fail("数据集为空!");
+                }
+                if(file________.listFiles()!=null && file________.listFiles().length>0) {
+                    startTaskConfig.setSource_dir(startTaskConfig.getSource_dir() + File.separator + file________.listFiles()[0].getName());
+                }
+            }
         }
         HttpResponseEntity responseEntity = sendPostMsg(algorithmConfigTrack.getAlgorithmAddress(), startTaskConfig);
         if (ObjectUtil.isNotNull(responseEntity) && responseEntity.getStatus() == 200) {
@@ -445,25 +476,41 @@ public class TrackSequenceServiceImpl extends BaseServiceImpl<TrackSequenceMappe
     @Override
     public CommonResult getDetail(Long id) {
         TrackSequenceVo entity = selectById(id);
+        if (entity.getName().startsWith(MASC)) {
+            AlgorithmModelTrack modelTrack = algorithmModelTrackService.getById(entity.getAlgorithmModelId());
+            AlgorithmConfigTrack algorithmConfigTrack = algorithmConfigTrackService.getById(entity.getAlgorithmId());
+
+            AlgorithmModelTrackVo res = new AlgorithmModelTrackVo();
+
+            BeanUtils.copyProperties(modelTrack, res);
+            BeanUtils.copyProperties(algorithmConfigTrack, res);
 
-        AlgorithmModelTrack modelTrack = algorithmModelTrackService.getById(entity.getAlgorithmModelId());
-        AlgorithmConfigTrack algorithmConfigTrack = algorithmConfigTrackService.getById(entity.getAlgorithmId());
+            res.setAlgorithmId(algorithmConfigTrack.getId());
+            res.setId(modelTrack.getId());
 
-        AlgorithmModelTrackVo res = new AlgorithmModelTrackVo();
+            return CommonResult.success(res, "success");
+        } else if (entity.getName().startsWith(CAT)) {
+            AlgorithmModelTrack modelTrack = algorithmModelTrackService.getById(entity.getAlgorithmModelId());
+            AlgorithmConfigTrack algorithmConfigTrack = algorithmConfigTrackService.getById(modelTrack.getAlgorithmId());
 
-        BeanUtils.copyProperties(modelTrack, res);
-        BeanUtils.copyProperties(algorithmConfigTrack, res);
+            AlgorithmModelTrackVo res = new AlgorithmModelTrackVo();
 
-        res.setAlgorithmId(algorithmConfigTrack.getId());
-        res.setId(modelTrack.getId());
+            BeanUtils.copyProperties(modelTrack, res);
+            BeanUtils.copyProperties(algorithmConfigTrack, res);
 
-        return CommonResult.success(res, "success");
+            res.setAlgorithmId(algorithmConfigTrack.getId());
+            res.setId(modelTrack.getId());
+
+            return CommonResult.success(res, "success");
+        } else {
+            return CommonResult.fail("命名错误!");
+        }
     }
 
     @Override
     public CommonResult addEvaluate(AddEvaluate addEvaluate) {
         // 检查任务名称
-        if (ObjectUtil.isEmpty(addEvaluate.getName()) || (!addEvaluate.getName().startsWith("MASC") && !addEvaluate.getName().startsWith("CAT"))) {
+        if (ObjectUtil.isEmpty(addEvaluate.getName()) || (!addEvaluate.getName().startsWith(MASC) && !addEvaluate.getName().startsWith(CAT))) {
             return CommonResult.fail("任务命名错误,需以MASC或CAT开头!");
         }