项目需求文档
# 项目需求文档(草案)
## 项目整体背景
搭建一个机器学习或深度学习的模型与数据的管理平台,能够完成基本数据存储管理、模型存储管理、图片数据可视化查看、简单模型训练管理的包含用户系统的web平台
## 项目用例
### 1.用户系统
#### 1.1 基本功能
##### 注册,登录
- 邮箱注册
- 忘记密码

##### 个人中心管理
- 个人信息
- 消息管理(权限申请,人员加入申请,项目变更)
- 个人的操作日志(选)
- 个人设置(如触发平台邮件提醒的条件:模型训练完成/异常,加入项目成功等)
- 项目信息
- 数据集信息
---
### 2.数据集
#### 2.1 数据集查看
##### 数据集搜索
##### 数据集信息查看
- 基本信息(名称,简介)
- 封面图(缩略图)
- 数据集名称
- 数据类型(医学图像、工业图像等)
- 数据格式(dcm、jpg、bmp等)
- 图像数量
- 数据集目录
- >w 这里不止会上传图片数据,也可能包含其他格式,如标注文件
##### 数据集数据查看
- 指定图片的可视化
- 相关信息(大小,尺寸等)
#### 2.2 数据存储管理
##### (批量)上传下载数据集
- 填写数据的相关信息
- 支持断点续传的大文件上传
- (考虑)单个图片数据的上传(可能会有补充)下载
##### 数据集修改
- (单张或者批量)图片数据添加或者删除
##### 删除数据集(设置权限)(考虑是否需要)
##### 数据集权限管理
- 数据集交由上传者来管理(只允许更新,不允许删除)
- 项目数据集交由项目的管理员管理
---
### 3.项目管理
#### 3.1 项目搜索与详情
- 项目的类别划分
- 项目列表化查看概况
#### 3.2 项目成员系统
- 项目组人员权限管理(查看,编辑)
#### 3.3 项目的成果管理
- 成果展示
- 成果录入(权限)
#### 3.4 项目数据列表
- 添加数据(从平台中的数据集选择/直接上传(跳转数据管理中的上传部分))
- 删除数据
#### 3.5 模型管理
##### 查看模型详情
包括模型名称、简介等。
流程选择(拖拉拽)
可分为多个块:医学图像流程块、工业图像流程块等。每个块里面包含特定等流程可选(例如医学图像流程块里面就包含强度均衡、直方图匹配等)。
##### 选择模型
可以选择随机初始化的模型,或者已经训练好的模型【可根据数据微调(可选)】。
##### 上传模型
包括模型结构文件(例如.py文件)以及参数文件(例如.pt文件)。
>w 这里只是包含训练的脚本文件?还是说要支持嵌入notebook?
##### 下载模型
同样包括模型结构文件(例如.py文件)以及参数文件(例如.pt文件)。
##### 模型环境配置管理
- 初始默认配置

- 环境管理(支持可视化pipy,conda)
##### 模型运行
- 编写或上传运行脚本,点击运行按钮,后台将对服务器发送训练的命令
- 运行状态查看(排队|运行|异常)
- 运行时参数的查看(Tensorboard)
##### 训练设置
- 训练超参设置
##### 结果可视化展示
内嵌阅片工具,点击数据即可跳转到阅片工具查看。
#### 服务器资源自动化管理
- 训练优先级(先到先得)
- 资源限制与调度