|
|
@@ -10,16 +10,16 @@ import com.ruoyi.platform.mapper.ExperimentDao; |
|
|
import com.ruoyi.platform.mapper.ExperimentInsDao; |
|
|
import com.ruoyi.platform.mapper.ExperimentInsDao; |
|
|
import com.ruoyi.platform.mapper.ModelDependency1Dao; |
|
|
import com.ruoyi.platform.mapper.ModelDependency1Dao; |
|
|
import com.ruoyi.platform.service.*; |
|
|
import com.ruoyi.platform.service.*; |
|
|
|
|
|
import com.ruoyi.platform.utils.FileUtil; |
|
|
import com.ruoyi.platform.utils.HttpUtils; |
|
|
import com.ruoyi.platform.utils.HttpUtils; |
|
|
import com.ruoyi.platform.utils.JacksonUtil; |
|
|
import com.ruoyi.platform.utils.JacksonUtil; |
|
|
import com.ruoyi.platform.utils.JsonUtils; |
|
|
import com.ruoyi.platform.utils.JsonUtils; |
|
|
import com.ruoyi.platform.vo.ModelMetaVo; |
|
|
|
|
|
import com.ruoyi.platform.vo.ModelsVo; |
|
|
import com.ruoyi.platform.vo.ModelsVo; |
|
|
import com.ruoyi.platform.vo.NewDatasetVo; |
|
|
import com.ruoyi.platform.vo.NewDatasetVo; |
|
|
|
|
|
import com.ruoyi.platform.vo.VersionVo; |
|
|
import com.ruoyi.system.api.model.LoginUser; |
|
|
import com.ruoyi.system.api.model.LoginUser; |
|
|
import org.apache.commons.collections4.MapUtils; |
|
|
import org.apache.commons.collections4.MapUtils; |
|
|
import org.apache.commons.lang3.StringUtils; |
|
|
import org.apache.commons.lang3.StringUtils; |
|
|
import org.springframework.beans.BeanUtils; |
|
|
|
|
|
import org.springframework.beans.factory.annotation.Value; |
|
|
import org.springframework.beans.factory.annotation.Value; |
|
|
import org.springframework.context.annotation.Lazy; |
|
|
import org.springframework.context.annotation.Lazy; |
|
|
import org.springframework.data.domain.Page; |
|
|
import org.springframework.data.domain.Page; |
|
|
@@ -293,7 +293,7 @@ public class ExperimentServiceImpl implements ExperimentService { |
|
|
ExperimentIns insert = experimentInsService.insert(experimentIns); |
|
|
ExperimentIns insert = experimentInsService.insert(experimentIns); |
|
|
//插入到模型依赖关系表 |
|
|
//插入到模型依赖关系表 |
|
|
if (dependendcy != null && trainInfo != null) { |
|
|
if (dependendcy != null && trainInfo != null) { |
|
|
insertModelDependencyNew(dependendcy, trainInfo, insert.getId(), experiment.getName()); |
|
|
|
|
|
|
|
|
insertModelDependencyNew(dependendcy, trainInfo, output, insert.getId(), experiment.getName()); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
Map<String, Object> datasetDependendcy = (Map<String, Object>) converMap2.get("dataset_dependency"); |
|
|
Map<String, Object> datasetDependendcy = (Map<String, Object>) converMap2.get("dataset_dependency"); |
|
|
@@ -487,11 +487,13 @@ public class ExperimentServiceImpl implements ExperimentService { |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
private void insertModelDependencyNew(Map<String, Object> dependendcy, Map<String, Object> trainInfo, Integer experimentInsId, String experimentName) throws Exception { |
|
|
|
|
|
|
|
|
private void insertModelDependencyNew(Map<String, Object> dependendcy, Map<String, Object> trainInfo, Map<String, Object> output, Integer experimentInsId, String experimentName) throws Exception { |
|
|
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"); |
|
|
Map<String, Object> modelExport = (Map<String, Object>) trainInfo.get("model_export"); |
|
|
Map<String, Object> modelExport = (Map<String, Object>) trainInfo.get("model_export"); |
|
|
|
|
|
Map<String, Object> param_output = (Map<String, Object>) output.get("param_output"); |
|
|
|
|
|
|
|
|
while (dependendcyIterator.hasNext()) { |
|
|
while (dependendcyIterator.hasNext()) { |
|
|
ModelsVo modelMetaVo = new ModelsVo(); |
|
|
ModelsVo modelMetaVo = new ModelsVo(); |
|
|
ModelDependency1 modelDependency = new ModelDependency1(); |
|
|
ModelDependency1 modelDependency = new ModelDependency1(); |
|
|
@@ -516,7 +518,7 @@ public class ExperimentServiceImpl implements ExperimentService { |
|
|
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")); |
|
|
//处理训练参数 todo |
|
|
//处理训练参数 todo |
|
|
HashMap<String, Object> trainParam = (HashMap<String, Object>) modelTrainMap.get("params"); |
|
|
|
|
|
|
|
|
// HashMap<String, Object> trainParam = (HashMap<String, Object>) modelTrainMap.get("params"); |
|
|
|
|
|
|
|
|
//处理source数据 |
|
|
//处理source数据 |
|
|
List<Map<String, Object>> modelsList = (List<Map<String, Object>>) modelTrainMap.get("models"); |
|
|
List<Map<String, Object>> modelsList = (List<Map<String, Object>>) modelTrainMap.get("models"); |
|
|
@@ -541,7 +543,7 @@ public class ExperimentServiceImpl implements ExperimentService { |
|
|
List<NewDatasetVo> trainDatasets = new ArrayList<>(); |
|
|
List<NewDatasetVo> trainDatasets = new ArrayList<>(); |
|
|
for (Map<String, Object> dataset : trainDatasetList) { |
|
|
for (Map<String, Object> dataset : trainDatasetList) { |
|
|
NewDatasetVo newDatasetVo = new NewDatasetVo(); |
|
|
NewDatasetVo newDatasetVo = new NewDatasetVo(); |
|
|
newDatasetVo.setId((Integer) dataset.get("dataset_id")); |
|
|
|
|
|
|
|
|
newDatasetVo.setId(Integer.valueOf((String) dataset.get("dataset_id"))); |
|
|
newDatasetVo.setName((String) dataset.get("dataset_name")); |
|
|
newDatasetVo.setName((String) dataset.get("dataset_name")); |
|
|
newDatasetVo.setVersion((String) dataset.get("dataset_version")); |
|
|
newDatasetVo.setVersion((String) dataset.get("dataset_version")); |
|
|
newDatasetVo.setIdentifier((String) dataset.get("dataset_identifier")); |
|
|
newDatasetVo.setIdentifier((String) dataset.get("dataset_identifier")); |
|
|
@@ -566,7 +568,7 @@ public class ExperimentServiceImpl implements ExperimentService { |
|
|
List<NewDatasetVo> testDatasets = new ArrayList<>(); |
|
|
List<NewDatasetVo> testDatasets = new ArrayList<>(); |
|
|
for (Map<String, Object> dataset : testDatasetList) { |
|
|
for (Map<String, Object> dataset : testDatasetList) { |
|
|
NewDatasetVo newDatasetVo = new NewDatasetVo(); |
|
|
NewDatasetVo newDatasetVo = new NewDatasetVo(); |
|
|
newDatasetVo.setId((Integer) dataset.get("dataset_id")); |
|
|
|
|
|
|
|
|
newDatasetVo.setId(Integer.valueOf((String) dataset.get("dataset_id"))); |
|
|
newDatasetVo.setName((String) dataset.get("dataset_name")); |
|
|
newDatasetVo.setName((String) dataset.get("dataset_name")); |
|
|
newDatasetVo.setVersion((String) dataset.get("dataset_version")); |
|
|
newDatasetVo.setVersion((String) dataset.get("dataset_version")); |
|
|
newDatasetVo.setIdentifier((String) dataset.get("dataset_identifier")); |
|
|
newDatasetVo.setIdentifier((String) dataset.get("dataset_identifier")); |
|
|
@@ -579,6 +581,7 @@ public class ExperimentServiceImpl implements ExperimentService { |
|
|
//处理target数据 |
|
|
//处理target数据 |
|
|
LoginUser loginUser = SecurityUtils.getLoginUser(); |
|
|
LoginUser loginUser = SecurityUtils.getLoginUser(); |
|
|
String gitLinkUsername = loginUser.getSysUser().getGitLinkUsername(); |
|
|
String gitLinkUsername = loginUser.getSysUser().getGitLinkUsername(); |
|
|
|
|
|
// String gitLinkUsername = "fanshuai"; |
|
|
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++) { |
|
|
@@ -586,16 +589,32 @@ public class ExperimentServiceImpl implements ExperimentService { |
|
|
String targetTaskId = (String) targetMap.get("task_id"); |
|
|
String targetTaskId = (String) targetMap.get("task_id"); |
|
|
Map<String, Object> exportMap = (Map<String, Object>) modelExport.get(targetTaskId); |
|
|
Map<String, Object> exportMap = (Map<String, Object>) modelExport.get(targetTaskId); |
|
|
List<Map<String, Object>> modelTargetList = (List<Map<String, Object>>) exportMap.get("models"); |
|
|
List<Map<String, Object>> modelTargetList = (List<Map<String, Object>>) exportMap.get("models"); |
|
|
|
|
|
List<Map<String, Object>> outputList = (List<Map<String, Object>>) param_output.get(targetTaskId); |
|
|
|
|
|
|
|
|
for (int j = 0; j < modelTargetList.size(); j++) { |
|
|
for (int j = 0; j < modelTargetList.size(); j++) { |
|
|
Map<String, Object> targetModel = modelTargetList.get(i); |
|
|
Map<String, Object> targetModel = modelTargetList.get(i); |
|
|
modelMetaVo.setId((Integer) targetModel.get("model_id")); |
|
|
|
|
|
|
|
|
modelMetaVo.setId(Integer.valueOf((String) targetModel.get("model_id"))); |
|
|
modelMetaVo.setIdentifier((String) targetModel.get("model_identifier")); |
|
|
modelMetaVo.setIdentifier((String) targetModel.get("model_identifier")); |
|
|
modelMetaVo.setName((String) targetModel.get("model_name")); |
|
|
modelMetaVo.setName((String) targetModel.get("model_name")); |
|
|
modelMetaVo.setVersionDesc((String) targetModel.get("model_version")); |
|
|
modelMetaVo.setVersionDesc((String) targetModel.get("model_version")); |
|
|
modelMetaVo.setOwner(gitLinkUsername); |
|
|
modelMetaVo.setOwner(gitLinkUsername); |
|
|
|
|
|
|
|
|
modelsService.newCreateVersion(modelMetaVo); |
|
|
|
|
|
|
|
|
List<VersionVo> versionVos = new ArrayList<>(); |
|
|
|
|
|
for (Map<String, Object> outputFile : outputList) { |
|
|
|
|
|
String path = (String) outputFile.get("path"); |
|
|
|
|
|
List<Map<String, Object>> files = FileUtil.getFiles(path); |
|
|
|
|
|
for (Map<String, Object> fileDetail : files) { |
|
|
|
|
|
VersionVo versionVo = new VersionVo(); |
|
|
|
|
|
versionVo.setUrl((String) fileDetail.get("filePath")); |
|
|
|
|
|
versionVo.setFileName((String) fileDetail.get("fileName")); |
|
|
|
|
|
long size = (long) fileDetail.get("size"); |
|
|
|
|
|
versionVo.setFileSize(FileUtil.formatFileSize(size)); |
|
|
|
|
|
versionVos.add(versionVo); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
modelMetaVo.setModelVersionVos(versionVos); |
|
|
} |
|
|
} |
|
|
|
|
|
modelsService.newCreateVersion(modelMetaVo); |
|
|
} |
|
|
} |
|
|
} else { |
|
|
} else { |
|
|
String meta = JSON.toJSONString(modelMetaVo); |
|
|
String meta = JSON.toJSONString(modelMetaVo); |
|
|
@@ -605,8 +624,8 @@ public class ExperimentServiceImpl implements ExperimentService { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
* 被废弃的旧JSON |
|
|
* 被废弃的旧JSON |
|
|
|