Browse Source

实验模型导出元数据记录指标修改

dev-lhz
chenzhihang 1 year ago
parent
commit
923cd11b70
2 changed files with 42 additions and 37 deletions
  1. +2
    -0
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/dependencydomain/TrainTaskDepency.java
  2. +40
    -37
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ExperimentServiceImpl.java

+ 2
- 0
ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/dependencydomain/TrainTaskDepency.java View File

@@ -16,4 +16,6 @@ public class TrainTaskDepency implements Serializable {
private Long workflowId; private Long workflowId;


private Integer experimentId; private Integer experimentId;

private String taskId;
} }

+ 40
- 37
ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ExperimentServiceImpl.java View File

@@ -491,6 +491,8 @@ public class ExperimentServiceImpl implements ExperimentService {
} }


private void insertModelDependencyNew(Map<String, Object> dependendcy, Map<String, Object> trainInfo, Map<String, Object> output, String metricRecord, Integer experimentInsId, Long workflowId, Integer experimentId, String experimentName, String globalParam) { private void insertModelDependencyNew(Map<String, Object> dependendcy, Map<String, Object> trainInfo, Map<String, Object> output, String metricRecord, Integer experimentInsId, Long workflowId, Integer experimentId, String experimentName, String globalParam) {
LoginUser loginUser = SecurityUtils.getLoginUser();
String gitLinkUsername = loginUser.getSysUser().getGitLinkUsername();
Iterator<Map.Entry<String, Object>> dependendcyIterator = dependendcy.entrySet().iterator(); Iterator<Map.Entry<String, Object>> dependendcyIterator = dependendcy.entrySet().iterator();
Map<String, Object> modelTrain = (Map<String, Object>) trainInfo.get("model_train"); Map<String, Object> modelTrain = (Map<String, Object>) trainInfo.get("model_train");
Map<String, Object> modelEvaluate = (Map<String, Object>) trainInfo.get("model_evaluate"); Map<String, Object> modelEvaluate = (Map<String, Object>) trainInfo.get("model_evaluate");
@@ -499,16 +501,16 @@ public class ExperimentServiceImpl implements ExperimentService {


while (dependendcyIterator.hasNext()) { while (dependendcyIterator.hasNext()) {
ModelsVo modelMetaVo = new ModelsVo(); ModelsVo modelMetaVo = new ModelsVo();
ModelDependency1 modelDependency = new ModelDependency1();


Map.Entry<String, Object> entry = dependendcyIterator.next(); Map.Entry<String, Object> entry = dependendcyIterator.next();
Map<String, Object> modelDel = (Map<String, Object>) entry.getValue(); Map<String, Object> modelDel = (Map<String, Object>) entry.getValue();
Map<String, Object> source = (Map<String, Object>) modelDel.get("source"); Map<String, Object> source = (Map<String, Object>) modelDel.get("source");
List<Map<String, Object>> test = (List<Map<String, Object>>) modelDel.get("test"); List<Map<String, Object>> test = (List<Map<String, Object>>) modelDel.get("test");
List<Map<String, Object>> target = (List<Map<String, Object>>) modelDel.get("target"); List<Map<String, Object>> target = (List<Map<String, Object>>) modelDel.get("target");
String sourceTaskId = (String) source.get("task_id");


String sourceTaskId = (String) source.get("task_id");
Map<String, Object> modelTrainMap = (Map<String, Object>) modelTrain.get(sourceTaskId); Map<String, Object> modelTrainMap = (Map<String, Object>) modelTrain.get(sourceTaskId);

//处理project数据 //处理project数据
Map<String, String> projectMap = (Map<String, String>) modelTrainMap.get("project"); Map<String, String> projectMap = (Map<String, String>) modelTrainMap.get("project");
ProjectDepency projectDepency = new ProjectDepency(); ProjectDepency projectDepency = new ProjectDepency();
@@ -517,6 +519,7 @@ public class ExperimentServiceImpl implements ExperimentService {
projectDepency.setUrl(projectUrl); projectDepency.setUrl(projectUrl);
projectDepency.setName(projectUrl.substring(projectUrl.lastIndexOf('/') + 1, projectUrl.length() - 4)); projectDepency.setName(projectUrl.substring(projectUrl.lastIndexOf('/') + 1, projectUrl.length() - 4));
modelMetaVo.setProjectDepency(projectDepency); modelMetaVo.setProjectDepency(projectDepency);

//处理镜像 //处理镜像
Map<String, String> imagesMap = (Map<String, String>) modelTrainMap.get("image"); Map<String, String> imagesMap = (Map<String, String>) modelTrainMap.get("image");
modelMetaVo.setImage(imagesMap.get("name")); modelMetaVo.setImage(imagesMap.get("name"));
@@ -536,23 +539,6 @@ public class ExperimentServiceImpl implements ExperimentService {
HashMap<String, Object> metricMap = JSON.parseObject(metricRecord, HashMap.class); HashMap<String, Object> metricMap = JSON.parseObject(metricRecord, HashMap.class);
modelMetaVo.setMetrics(metricMap); modelMetaVo.setMetrics(metricMap);


//处理source数据
List<Map<String, Object>> modelsList = (List<Map<String, Object>>) modelTrainMap.get("models");
if (modelsList != null) {
Map<String, Object> parentModelMap = modelsList.get(0);
String id = (String) parentModelMap.get("model_id");
String identifier = (String) parentModelMap.get("model_identifier");
String version = (String) parentModelMap.get("model_version");

HashMap<String, Object> map = new HashMap<>();
map.put("repoId", id);
map.put("identifier", identifier);
map.put("version", version);
String parentModel = JSON.toJSONString(map);
modelMetaVo.setParentModel(parentModel);
modelDependency.setParentModel(parentModel);
}

//训练数据集 //训练数据集
List<Map<String, Object>> trainDatasetList = (List<Map<String, Object>>) modelTrainMap.get("datasets"); List<Map<String, Object>> trainDatasetList = (List<Map<String, Object>>) modelTrainMap.get("datasets");
if (trainDatasetList != null) { if (trainDatasetList != null) {
@@ -574,8 +560,32 @@ public class ExperimentServiceImpl implements ExperimentService {
trainTask.setInsId(experimentInsId); trainTask.setInsId(experimentInsId);
trainTask.setName(experimentName); trainTask.setName(experimentName);
trainTask.setExperimentId(experimentId); trainTask.setExperimentId(experimentId);
trainTask.setTaskId(sourceTaskId);
modelMetaVo.setTrainTask(trainTask); modelMetaVo.setTrainTask(trainTask);


//处理source数据
List<Map<String, Object>> modelsList = (List<Map<String, Object>>) modelTrainMap.get("models");
if (modelsList != null) {
Map<String, Object> parentModelMap = modelsList.get(0);
String id = (String) parentModelMap.get("model_id");
String identifier = (String) parentModelMap.get("model_identifier");
String version = (String) parentModelMap.get("model_version");

HashMap<String, Object> map = new HashMap<>();
map.put("repoId", id);
map.put("identifier", identifier);
map.put("version", version);
String parentModel = JSON.toJSONString(map);
modelMetaVo.setParentModel(parentModel);

ModelDependency1 modelDependency = new ModelDependency1();
modelDependency.setOwner(gitLinkUsername);
modelDependency.setState(Constant.State_building);
modelDependency.setParentModel(parentModel);
modelDependency.setMeta(JSON.toJSONString(modelMetaVo));
modelDependency1Dao.insert(modelDependency);
}

//处理test数据 //处理test数据
if (test != null) { if (test != null) {
for (Map<String, Object> testMap : test) { for (Map<String, Object> testMap : test) {
@@ -597,8 +607,6 @@ public class ExperimentServiceImpl implements ExperimentService {
} }


//处理target数据 //处理target数据
LoginUser loginUser = SecurityUtils.getLoginUser();
String gitLinkUsername = loginUser.getSysUser().getGitLinkUsername();
modelMetaVo.setOwner(gitLinkUsername); modelMetaVo.setOwner(gitLinkUsername);
if (target != null) { if (target != null) {
for (int i = 0; i < target.size(); i++) { for (int i = 0; i < target.size(); i++) {
@@ -616,11 +624,6 @@ public class ExperimentServiceImpl implements ExperimentService {
modelMetaVo.setVersion((String) targetModel.get("model_version")); modelMetaVo.setVersion((String) targetModel.get("model_version"));
modelMetaVo.setOwner(gitLinkUsername); modelMetaVo.setOwner(gitLinkUsername);


modelDependency.setRepoId(Integer.valueOf((String) targetModel.get("model_id")));
modelDependency.setIdentifier((String) targetModel.get("model_identifier"));
modelDependency.setVersion((String) targetModel.get("model_version"));
modelDependency.setModelName((String) targetModel.get("model_name"));

List<VersionVo> versionVos = new ArrayList<>(); List<VersionVo> versionVos = new ArrayList<>();
for (Map<String, Object> outputFile : outputList) { for (Map<String, Object> outputFile : outputList) {
String path = (String) outputFile.get("path"); String path = (String) outputFile.get("path");
@@ -635,19 +638,19 @@ public class ExperimentServiceImpl implements ExperimentService {
} }
} }
modelMetaVo.setModelVersionVos(versionVos); modelMetaVo.setModelVersionVos(versionVos);

ModelDependency1 modelDependency = new ModelDependency1();
modelDependency.setOwner(gitLinkUsername);
modelDependency.setState(Constant.State_building);
modelDependency.setRepoId(Integer.valueOf((String) targetModel.get("model_id")));
modelDependency.setIdentifier((String) targetModel.get("model_identifier"));
modelDependency.setVersion((String) targetModel.get("model_version"));
modelDependency.setModelName((String) targetModel.get("model_name"));
String meta = JSON.toJSONString(modelMetaVo);
modelDependency.setMeta(meta);
modelDependency1Dao.insert(modelDependency);
} }
String meta = JSON.toJSONString(modelMetaVo);
modelDependency.setMeta(meta);
modelDependency.setOwner(gitLinkUsername);
modelDependency.setState(Constant.State_building);
modelDependency1Dao.insert(modelDependency);
} }
} else {
String meta = JSON.toJSONString(modelMetaVo);
modelDependency.setMeta(meta);
modelDependency.setOwner(gitLinkUsername);
modelDependency.setState(Constant.State_building);
modelDependency1Dao.insert(modelDependency);
} }
} }
} }


Loading…
Cancel
Save