Browse Source

update webapp

tags/v0.4.0
之江天枢 3 years ago
parent
commit
719fa164f1
5 changed files with 61 additions and 25 deletions
  1. +33
    -2
      webapp/CHANGELOG.md
  2. +1
    -1
      webapp/package.json
  3. +9
    -2
      webapp/src/views/cloudServing/batch.vue
  4. +4
    -4
      webapp/src/views/dataset/version/actions.vue
  5. +14
    -16
      webapp/src/views/visual/Visual/graphs/Graphs.vue

+ 33
- 2
webapp/CHANGELOG.md View File

@@ -1,3 +1,34 @@
## 0.4.0 (2021-07-06)

### Features

- [数据管理] 新增图像语义分割标注
- [数据管理] 新增文本标注类型:文本分类、中文分词、NER(命名实体识别)
- [数据管理] 新增语音标注:音频分类、语音识别
- [数据管理] 新增自定义数据集
- [模型管理] 新增模型转换服务,可将 TensorFlow SaveModel 模型转换为 ONNX 模型
- [控制台] 新增控制台-用户管理-资源独占功能
- [控制台] 新增控制台-资源管理界面
- [控制台] 新增控制台-用户组管理功能
- [控制台] 新增控制台-角色管理-权限分配功能
- [算法管理] 新增推理脚本管理
- [云端Serving] 新增自定义推理脚本功能
- [云端Serving] 新增支持用户选择镜像

### Bug Fixs

- [数据管理] 视频标注支持多视频上传
- [数据管理] OFRecord 发布更改为可选,且仅支持图像分类标注
- [算法管理] 优化 Notebook,现在 Notebook 支持数据集挂载功能

[更多参考](http://docs.dubhe.ai/docs/changelog)

### Breaking Change

- [模型管理] 完成内置优化、我的优化功能,支持模型量化、剪枝、蒸馏
- [云端Serving] 完成在线服务、批量服务功能,在线服务支持 HTTP 请求、GRPC 请求、灰度分流、服务回滚
- [模型炼知] 移植重构图谱可视化、图谱列表功能,完成度量管理功能

## 0.3.0 (2021-01-14)

### Breaking Change
@@ -13,7 +44,7 @@
- [数据管理] 增加 NLP 文本分类数据标注功能
- [数据管理] 增加医疗影像数据标注,支持自动器官分割和病灶识别
- [训练管理] 支持使用教师模型、学生模型进行模型炼知
- [训练管理] 镜像管理支持管理员上传Notebook镜像, 并可以设置为默认Notebook镜像
- [训练管理] 镜像管理支持管理员上传Notebook镜像, 并可以设置为默认Notebook镜像
- [训练管理] 模型、算法、镜像等文件上传时不允许文件名包含不合法字符
- [训练管理] 运行日志展示组件重构。以 K8S 的 pod 为单位进行日志查询展示
- [模型管理] 增加炼知模型管理
@@ -21,7 +52,7 @@
### Bug Fixs

- [模型开发] 修复 Notebook 页面重置按钮失效的问题
- [训练管理] 修复模型下载文件路径问题
- [训练管理] 修复模型下载文件路径问题

## 0.2.1 (2020-11-16)



+ 1
- 1
webapp/package.json View File

@@ -1,6 +1,6 @@
{
"name": "dubhe-web",
"version": "0.3.0",
"version": "0.4.0",
"description": "之江天枢人工智能开源平台",
"author": "zhejianglab",
"keywords": [


+ 9
- 2
webapp/src/views/cloudServing/batch.vue View File

@@ -302,10 +302,17 @@ export default {
if (!originService) {
return;
}
const { status, progress, startTime, endTime, outputPath } = service;
const { status, progress, startTime, endTime, outputPath, statusDetail } = service;
const { pollId } = option;
// 更新数据
Object.assign(originService, { status, progress, startTime, endTime, outputPath });
Object.assign(originService, {
status,
progress,
startTime,
endTime,
outputPath,
statusDetail,
});
if (this.needPoll(status) && pollId && this.pollMap[id] === pollId) {
setTimeout(() => {
this.getServiceProgress(id, option);


+ 4
- 4
webapp/src/views/dataset/version/actions.vue View File

@@ -29,9 +29,7 @@
</div>
<el-button slot="reference" type="text">详情</el-button>
</el-popover>
<el-button v-if="isCurrent && !publishing && !isCustom" type="text" @click="gotoDetail"
>查看标注</el-button
>
<el-button v-if="isCurrent && !publishing" type="text" @click="gotoDetail">查看标注</el-button>
<el-button v-if="isPreset" type="text" @click="convert(row)">生成预置数据集</el-button>
<el-dropdown placement="bottom">
<el-button type="text" style="margin-left: 10px;" @click.stop="() => {}">
@@ -99,7 +97,9 @@ export default {
// 发布中
const publishing = computed(() => isPublishDataset(props.row));
const isCurrent = computed(() => !!props.row.isCurrent);
const isPreset = computed(() => props.row.presetFlag);
const isPreset = computed(
() => props.row.presetFlag && props.row.dataType !== dataTypeCodeMap.CUSTOM
);
const isOfRecord = computed(() => props.row.isOfRecord);
const isCustom = computed(() => props.row.dataType === dataTypeCodeMap.CUSTOM);
const title = computed(() => `${props.row.name}(${props.row.versionName})`);


+ 14
- 16
webapp/src/views/visual/Visual/graphs/Graphs.vue View File

@@ -263,7 +263,7 @@ export default {
}
// 判断是否为计算图特殊节点
function IsSpecialNode(itemnode) {
if (!itemnode || itemnode.op !== '') {
if (!itemnode) {
return false;
}
if (itemnode.sub_net.length > 0) {
@@ -274,22 +274,20 @@ export default {
}
}
}
for (const n in itemnode.sub_net) {
// 1:卷积层,2:全连接层,3:池化层,4:归一化
if (itemnode.sub_net[n].op.toLowerCase().indexOf(SpecialNodeList[0].toLowerCase()) >= 0) {
return 1;
}
if (itemnode.label.toLowerCase().indexOf(SpecialNodeList[1].toLowerCase()) >= 0) {
return 2;
}
if (itemnode.label.toLowerCase().indexOf(SpecialNodeList[2].toLowerCase()) >= 0) {
return 3;
}
if (itemnode.label.toLowerCase().indexOf(SpecialNodeList[3].toLowerCase()) >= 0) {
return 4;
}
return false;
// 1:卷积层,2:全连接层,3:池化层,4:归一化
if (itemnode.op.toLowerCase().indexOf(SpecialNodeList[0].toLowerCase()) >= 0) {
return 1;
}
if (itemnode.op.toLowerCase().indexOf(SpecialNodeList[1].toLowerCase()) >= 0) {
return 2;
}
if (itemnode.op.toLowerCase().indexOf(SpecialNodeList[2].toLowerCase()) >= 0) {
return 3;
}
if (itemnode.op.toLowerCase().indexOf(SpecialNodeList[3].toLowerCase()) >= 0) {
return 4;
}
return false;
}
// 绘制计算图特殊节点
function DrawSpecialNodes(graph) {


Loading…
Cancel
Save