Browse Source

自动超参数寻优实验功能开发

dev-ray
chenzhihang 1 year ago
parent
commit
a40a7a3892
3 changed files with 19 additions and 10 deletions
  1. +15
    -7
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/RayServiceImpl.java
  2. +3
    -2
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/vo/RayVo.java
  3. +1
    -1
      ruoyi-modules/management-platform/src/main/resources/mapper/managementPlatform/RayDaoMapper.xml

+ 15
- 7
ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/RayServiceImpl.java View File

@@ -1,5 +1,7 @@
package com.ruoyi.platform.service.impl;

import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import com.ruoyi.common.security.utils.SecurityUtils;
import com.ruoyi.platform.constant.Constant;
import com.ruoyi.platform.domain.Ray;
@@ -17,7 +19,9 @@ import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.io.IOException;
import java.lang.reflect.Type;
import java.util.List;
import java.util.Map;

@Service("rayService")
public class RayServiceImpl implements RayService {
@@ -39,13 +43,13 @@ public class RayServiceImpl implements RayService {
}
Ray ray = new Ray();
BeanUtils.copyProperties(rayVo, ray);
String username = SecurityUtils.getLoginUser().getUsername();
// String username = SecurityUtils.getLoginUser().getUsername();
String username = "admin";
ray.setCreateBy(username);
ray.setUpdateBy(username);
String datasetJson = JacksonUtil.toJSONString(rayVo.getDataset());
ray.setDataset(datasetJson);
String codeJson = JacksonUtil.toJSONString(rayVo.getCode());
ray.setCode(codeJson);
ray.setDataset(JacksonUtil.toJSONString(rayVo.getDataset()));
ray.setCode(JacksonUtil.toJSONString(rayVo.getCode()));
ray.setParameters(JacksonUtil.toJSONString(rayVo.getParameters()));
rayDao.save(ray);
return ray;
}
@@ -77,11 +81,15 @@ public class RayServiceImpl implements RayService {
Ray ray = rayDao.getRayById(id);
RayVo rayVo = new RayVo();
BeanUtils.copyProperties(ray, rayVo);

Gson gson = new Gson();
Type listType = new TypeToken<List<Map<String, Object>>>() {
}.getType();
if (StringUtils.isNotEmpty(ray.getParameters())) {
rayVo.setParameters(JsonUtils.jsonToMap(ray.getParameters()));
rayVo.setParameters(gson.fromJson(ray.getParameters(), listType));
}
if (StringUtils.isNotEmpty(ray.getPointsToEvaluate())) {
rayVo.setPointsToEvaluate(JsonUtils.jsonToMap(ray.getPointsToEvaluate()));
rayVo.setPointsToEvaluate(gson.fromJson(ray.getPointsToEvaluate(), listType));
}
if (StringUtils.isNotEmpty(ray.getDataset())) {
rayVo.setDataset(JsonUtils.jsonToMap(ray.getDataset()));


+ 3
- 2
ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/vo/RayVo.java View File

@@ -7,6 +7,7 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;
import java.util.List;
import java.util.Map;

@Data
@@ -28,10 +29,10 @@ public class RayVo {
private Integer numSamples;

@ApiModelProperty(value = "参数")
private Map<String, Object> parameters;
private List<Map<String, Object>> parameters;

@ApiModelProperty(value = "手动指定需要运行的参数")
private Map<String, Object> pointsToEvaluate;
private List<Map<String, Object>> pointsToEvaluate;

@ApiModelProperty(value = "保存路径")
private String storagePath;


+ 1
- 1
ruoyi-modules/management-platform/src/main/resources/mapper/managementPlatform/RayDaoMapper.xml View File

@@ -5,7 +5,7 @@
insert into ray(name, description, dataset, dataset_path, code, main_py, num_samples, parameters, points_to_evaluate, storage_path,
search_alg, scheduler, metric, mode, max_t,
min_samples_required, cpu, gpu, create_by, update_by)
values (#{ray.name}, #{ray.dataset}, #{ray.datasetPath}, #{ray.code}, #{ray.mainPy}, #{ray.numSamples}, #{ray.parameters},
values (#{ray.name}, #{ray.description}, #{ray.dataset}, #{ray.datasetPath}, #{ray.code}, #{ray.mainPy}, #{ray.numSamples}, #{ray.parameters},
#{ray.pointsToEvaluate}, #{ray.storagePath},
#{ray.searchAlg}, #{ray.scheduler}, #{ray.metric}, #{ray.mode}, #{ray.maxT}, #{ray.minSamplesRequired},
#{ray.cpu}, #{ray.gpu}, #{ray.createBy}, #{ray.updateBy})


Loading…
Cancel
Save