Browse Source

Merge remote-tracking branch 'origin/dev-czh' into test

dev-czh
chenzhihang 1 year ago
parent
commit
670c268df1
2 changed files with 31 additions and 26 deletions
  1. +1
    -1
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/ModelsService.java
  2. +30
    -25
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ModelsServiceImpl.java

+ 1
- 1
ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/ModelsService.java View File

@@ -103,7 +103,7 @@ public interface ModelsService {

Page<Map<String, Object>> queryVersions(PageRequest pageRequest, String identifier, String owner, String type) throws Exception;

List<Object> queryVersionsMetrics(QueryModelMetricsVo queryModelMetricsVo) throws Exception;
Map<String, Object> queryVersionsMetrics(QueryModelMetricsVo queryModelMetricsVo) throws Exception;

List<Map<String, Object>> getVersionList(String identifier, String owner) throws Exception;



+ 30
- 25
ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ModelsServiceImpl.java View File

@@ -1030,40 +1030,45 @@ public class ModelsServiceImpl implements ModelsService {
}

@Override
public List<Object> queryVersionsMetrics(QueryModelMetricsVo queryModelMetricsVo) {
List<Object> batchMetrics = new ArrayList<>();
for (String version : queryModelMetricsVo.getVersions()) {
ModelDependency1 modelDependency1 = modelDependency1Dao.queryByRepoAndVersion(queryModelMetricsVo.getRepoId(), queryModelMetricsVo.getIdentifier(), version);
ModelMetaVo modelMetaVo = JSON.parseObject(modelDependency1.getMeta(), ModelMetaVo.class);
HashMap<String, Object> metrics = modelMetaVo.getMetricsParams();
List<String> needMetrics = queryModelMetricsVo.getMetrics();
public Map<String, Object> queryVersionsMetrics(QueryModelMetricsVo queryModelMetricsVo) {
Map<String, Object> batchMetrics = new HashMap<>();
List<String> needMetrics = queryModelMetricsVo.getMetrics();

for (String needMetric : needMetrics) {
ArrayList<Map<String, Object>> result = new ArrayList<>();
if (Constant.Type_Train.equals(queryModelMetricsVo.getType())) {
List<List<Map<String, Object>>> tarinDetail = (List<List<Map<String, Object>>>) metrics.get("tarinDetail");
if (tarinDetail != null && tarinDetail.size() > 0) {
List<Map<String, Object>> trainMetrics = tarinDetail.get(0);
for (Map<String, Object> trainMetric : trainMetrics) {
if (needMetrics.contains((String) trainMetric.get("name"))) {
result.add(trainMetric);

for (String version : queryModelMetricsVo.getVersions()) {
ModelDependency1 modelDependency1 = modelDependency1Dao.queryByRepoAndVersion(queryModelMetricsVo.getRepoId(), queryModelMetricsVo.getIdentifier(), version);
ModelMetaVo modelMetaVo = JSON.parseObject(modelDependency1.getMeta(), ModelMetaVo.class);
HashMap<String, Object> metrics = modelMetaVo.getMetricsParams();

if (Constant.Type_Train.equals(queryModelMetricsVo.getType())) {
List<List<Map<String, Object>>> tarinDetail = (List<List<Map<String, Object>>>) metrics.get("tarinDetail");
if (tarinDetail != null && tarinDetail.size() > 0) {
List<Map<String, Object>> trainMetrics = tarinDetail.get(0);
for (Map<String, Object> trainMetric : trainMetrics) {
if (needMetric.equals(trainMetric.get("name"))) {
trainMetric.put("version", version);
result.add(trainMetric);
}
}
}
batchMetrics.add(result);
}
} else {
List<List<Map<String, Object>>> evaluateDetail = (List<List<Map<String, Object>>>) metrics.get("evaluateDetail");
if (evaluateDetail != null && evaluateDetail.size() > 0) {
List<Map<String, Object>> evaluateMetrics = evaluateDetail.get(0);

for (Map<String, Object> trainMetric : evaluateMetrics) {
if (needMetrics.contains((String) trainMetric.get("name"))) {
result.add(trainMetric);
} else {
List<List<Map<String, Object>>> evaluateDetail = (List<List<Map<String, Object>>>) metrics.get("evaluateDetail");
if (evaluateDetail != null && evaluateDetail.size() > 0) {
List<Map<String, Object>> evaluateMetrics = evaluateDetail.get(0);
for (Map<String, Object> evaluateMetric : evaluateMetrics) {
if (needMetric.equals(evaluateMetric.get("name"))) {
evaluateMetric.put("version", version);
result.add(evaluateMetric);
}
}
}
batchMetrics.add(result);
}
}
batchMetrics.put(needMetric, result);
}

return batchMetrics;
}



Loading…
Cancel
Save