pytorch可视化编程网站VisualPytorch NAG \(\alpha\)版本发布了!点击网址访问:VisualPytorch

一、测试查虫(bug detection)

测试贯穿了开发、集成、部署,甚至整个\(\alpha\) 阶段,我们遇到了各种各样的bug,既有往届学长遗留下来的,也有添加新功能过程中遇到的。由于时间问题,我们对其中发现的一些问题进行了修复,剩下的问题我们会在尽快修复并更新。以下是测试中发现的问题:

bug分类 solved Unsolved
界面 1. 前端表单回显出现问题 1. 表单验证时的图片显示异常
2. create_models中字体不一致,没有利用上模板的字体,找不到是因为哪个CSS没导入引起的问题
3. 部分字体被方格遮挡,影响用户体验
工具使用 1. git使用不当造成的文件冗余/减少
2. bootstrap自带模态框的bug,同一页面的多个模态框切换会出现无法关闭模态框的情况(已解决,将注册/登录模态框分离为两个不同的Button)
免费版jsplumb不支持模块封装的功能,使用jsplumbtoolkit可以避免这一问题,准备在\(\beta\)阶段开发
前端功能 1. model_details可能存在模型加载不出来的问题,概率较高(已解决,是由于重复导入js引起的问题)
2. model_details网络层元素有可能加载到模板外面(已解决,但由于create_model.html里模板大小的改变可能还会加载到外面)
3. 部分图块在移动鼠标后信息丢失
4. 预留了一些栏目待开发,点击无响应
1. help.html中相比原来的版本少了一个模型构建实例的gif,因为缺少相应的参数
2. 有时create_model.html里的jsplumb元素点不动,无法调整网络层
3. 有时页面跳转会异常,出现signiture timeout情况
后端功能 1.shape, layer_type, dampening, nesterov字段与实现与说明文档不符
2. 前端没有传入默认参数,需要后端进行处理
传入后端的内容缺少creator信息
前后端接口 1. 采用前后端分离,单独提出header之后,部分页面引用重复/出错
2. 前后端json格式未统一,json中缺失out字段
前后端分离且header单独提出,并使用了文件夹分层,文件夹内外对header引用的相对地址不一致(目前的方法是在document.ready中修改属性,但会导致浏览器console对资源引用报错,无法找到。对实际使用/观感,均无影响)
往届 1. 之前项目遗留的OPS字段未去除
2. 往届项目生成与保存按钮错位

二、场景测试(scenario testing)

1. 典型用户

属性 描述
姓名 赵XX
年龄 22
职业 学生,deep learning初学者
重要性 这一类的用户是本网站的主体用户,我们的项目主要就是为了对于pytorch没有基础的新手菜鸟,所以这一类的用户对我们来讲非常重要
所占比例 60%~65%
知识层次 对深度学习有一个基本的认知,但不知道pytorch的具体使用方法
动机 希望通过本项目帮助学习深度学习和pytorch的使用
用户要求 界面简单直观,生成的代码简洁明了,并且希望在关键的地方有相应的教程辅助
属性 描述
姓名 钱XX
年龄 31
职业 相关领域从业者,deep learning初学者
重要性 也很重要,虽然所占比例可能不如第一类典型用户大,但是这一类的用户如果底本项目很满意的话,可能会成为本项目的长期用户
所占比例 25%~30%
知识层次 长期在相关领域工作,对深度学习和pytorch都有了一定认识,但是很少自己动手开发
动机 这一类的用户可能是短期内接到某一项目需要deep learning,希望通过本项目来学习或者直接用本项目来完成工作
用户要求 除了界面、代码、教程辅助这些部分之外,他还对所生成代码的可移植性有一定的要求
属性 描述
姓名 孙XX
年龄 38
职业 IT行业精英,deep learning精通者
重要性 有一定的重要性,这一类的用户不会太多,他们可能会为本项目提出改进意见,但是一般不会在自己的项目中真正的使用。但是如果能让他们觉得方便实用,也有可能让他们在一些小工程中应用本项目
所占比例 5%~15%
知识层次 长期在这一领域工作,有丰富的深度学习的知识,精通pytorch,曾多次开发基于pytorch的深度学习项目
动机 这一类的用户可能是短期内接到某一项目需要deep learning,希望通过本项目来学习或者直接用本项目来完成工作
用户要求 对生成的代码有较高的要求,希望其能满足工程性的要求

2. 场景测试

典型用户:赵XX

  • 场景描述:

    赵XX正在学习深度学习相关的课程,希望通过可视化编程对深度学习有一个直观的映像。他登陆本网站第一件事就是查看帮助信息,了解各个模块的功能和使用方法。但由于对pytorch不够熟悉,他不知道各个网络层以及全局数据的参数应该怎么选择,在看了帮助文档中对他所需参数的大致介绍后,他配置出了自己的模型,并生成了代码,成功运行。

  • 需求分析:

    用户界面简洁优雅,操作过程顺滑(比如拖拽组件和模块之间连线)

    由于赵XX的深度学习基础有限,需要在帮助文档的辅助下才能配置好自己的模型。

    本网站也会提供一些经典的模型,让初学者即使短时间无法完成自己模型的配置,也可以引入经典模型来体验本网站的用法。

典型用户:钱XX

  • 场景描述:

    钱XX接到一个工程需要用到简单的深度学习网络,他久闻pytorch的大名,决定用它来搭建自己的网络,但他此前没有使用pytorch的经验,这时他了解到本网站。通过相关的辅助信息,他轻松地在网站上搭建了自己所需要的网络,并且成功地将这个网络应用在了工程中。
  • 需求分析:

    与第一个场景的要求大致相似,但是这一场景由于会应用到实际工程中,对代码的可移植性有一定要求。

典型用户:孙XX

  • 场景描述:

    孙XX是工作在这一领域的老江湖,他听说有一个可视化pytorch编程的网站,就想着进来体验一下。进来网站之后,他发现在网站的界面优雅,拖拽组件和连线过程顺滑,但是作为一个专业人士,他还是发现一些参数设置上的不合理,于是他在评论区留言,提供了改进的意见。在经过数次的改动之后,孙觉得这个网站已经达到自己的标准,开始长期在工作中使用这个网站

  • 需求分析:

    设置评论交流区,一方面可以接受大佬对本项目的意见,另一方面也方便用户之间关于本项目的交流。

    除了前面提到的要求,专业的从业人员对所生成代码的要求更高

三、测试矩阵(test matrix)

测试浏览器 测试环境(浏览器版本) 组件拖拽 组件连线 参数输入 点击事件(组件按钮、链接)下拉框 报错情况 生成代码 主页面 联系我们页面 访问量统计页面 代码生成页面 页面切换
chrome 81.0.4044.122 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 帮助文档跳转其他界面时有时url会出错
火狐 75.0.0.7398 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 同上
ie 11.0.9600.16428 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 同上
edge 42.17134.1.0 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 同上
QQ 10.5.3 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 同上
UC 6.2.4094.1 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 同上
Opera 69.0.3653 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 同上
搜狗 8.6.3.32395 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 同上
猎豹 6.5.115.18480 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 同上

四、\(\alpha\) 出口条件(exit criteria)

1. 需求

我们在功能设计阶段,定下了以下四个大的目标任务,可以说是原始出口条件

  • 扩展更多的网络层(如BN, ConvTranspose等)
  • 支持网络封装成基本模块
  • 经典模型(如U-Net, ResNet, AlexNet, VGG-16等)
  • 更精美的可视化

可是在开发的过程中,由于需要对相关知识的学习,读懂往届的代码,最终开发的时间仅有10天的时间。同时发现实现封装的过程并非像想象中那么容易(免费版本的JSPlumb不支持这一功能),封装无法完成,自然基于封装的经典模型就只能搁置,转而去完成一些相对简单的任务。于是出口的条件改变了:

  • 扩展更多的网络层(如BN, ConvTranspose等)
  • 扩展更多的静态参数(如损失函数、优化器等)
  • 更精美的可视化
  • 用户登录与模型保存
  • 帮助文档的撰写

2. 功能

页面 功能交互描述 已完成 未完成 页面展示
登录界面 1、用户的注册功能 2、用户的登录功能 3、忘记密码功能 1,2 3
框架构建 1、构建已经有的经典框架 2、个性化构建自己的框架 3、能够保存为自己的个性化构建 4、能够实现参数调整 2,3,4 1
模型管理 1、模型的删除功能 2、模型的查看 3、导出代码 1,2,3
代码生成 1、根据所选框架生成特定代码 1
问题反馈 1、可以向后台反馈存在的bug,可配图可配文件 2、可以看到之前反馈问题的应答 2 1
共享空间 1、共享自己编辑的模型,并附上模型的说明 2、他人可进行评价、克隆模型 3、显示模型的阅读、点赞数据 1,2,3
用户统计 1、统计网站ip的访问次数,记录用户使用人数 1
关于我们 1、罗列有制作团队的具体信息,可以发邮件进行询问 1
帮助文档 1、动图展示操作方式 2、对模型参数的文档 1,2

3. \(\beta\)计划

在接下来的版本中,我们会更多地花时间去支持更多模型的搭建、丰富产品内容、提升用户体验。

包括\(\alpha\)阶段希望实现而尚未实现的:

  • 支持网络封装成基本模块
  • 经典模型(如U-Net, ResNet, AlexNet, VGG-16等)

已经实现还可以进一步改进的:

  • 更精美的可视化
  • 帮助文档的撰写

以及需要在未来实现的:

  • 模型的本地部署与在线运行
  • 集成tensorboard可视化
  • 模型分享与交流
  • 模型参数分析与可视化

在\(\beta\)阶段,我们会继续努力,争取完成以上预定的目标,提供一个尽可能实现的最好的产品。

测试报告$\alpha$的更多相关文章

  1. python webdriver测试报告

    python webdriver测试报告 即将开始一系列的自动化项目实践,很多公共类和属性都需要提前搞定.今天,解决了测试报告的一些难题,参照了很多博文,最终觉得HTMLTestRunner非常不错, ...

  2. Best Practices for Using Alpha

    Alpha是图形界面开发中常用的特效,通常我们会使用以下代码来实现Alpha特效: view.setAlpha(0.5f); View.ALPHA.set(view, 0.5f); ObjectAni ...

  3. mac上做透明图片, png, alpha

    现在OS X中自带的[预览]功能十分强大,我们甚至可以通过预览来直接制作一些透明效果的PNG图片,当做图片素材(例如图标)使用.这里要用到的是[预览]中的“即时Alpha”工具. -首先我们要使用预览 ...

  4. Testng测试报告

    执行完测试用例之后,会在项目的test-output(默认目录)下生成测试报告

  5. Jmeter-Ant 生成测试报告

    一.安装jmeter 配置环境变量 JMETER_HOME D:\SProgram\jmeter CLASSPATH %JMETER_HOME\lib\ext\ApacheJMeter_core.ja ...

  6. python语言(八)多线程、多进程、虚拟环境、unittest、生成测试报告

    一.多线程 进程与线程 进程:进程是资源(CPU.内存等)分配的最小单位,进程有独立的地址空间与系统资源,一个进程可以包含一个或多个线程 线程:线程是CPU调度的最小单位,是进程的一个执行流,线程依赖 ...

  7. 17、通过maven生成测试报告

    目录如下: 通过Maven 生成报告 进入testngTest根目录,运行mvn test 命令 进入 testngTest\target\surefire-reports 路径查看测试报告

  8. Premultiplied Alpha

    Xcode 的工程选项里有一项 Compress PNG Files,会对 PNG 进行 Premultiplied Alpha.游戏开发中会更加关注这个格式,省一些运行时计算. Premultipl ...

  9. Robot Framework+adb框架自动化测试Android设备案例⑹——源码地址、测试报告

    一.源码地址 GitHub:https://github.com/xiongye105554598/DVR8010_AutoTest 二.测试报告

  10. ARM64平台编译stream、netperf出错解决办法 解决办法:指定编译平台为alpha [root@localhost netperf-2.6.0]# ./configure –build=alpha

    ARM64平台编译stream.netperf出错解决办法 http://ilinuxkernel.com/?p=1738 stream编译出错信息: [root@localhost stream]# ...

随机推荐

  1. python3 虚拟环境 venv

    创建一个虚拟环境: python -m venv test            (test 为创建的虚拟环境目录) 激活虚拟环境: test\Scripts\activate            ...

  2. go每日一库 [home-dir] 获取用户主目录

    关于我 我的博客|文章首发 顾名思义,go-homedir用来获取用户的主目录.实际上,通过使用标准库os/user我们也可以得到内容,使用以下方式 标准库使用 package main import ...

  3. 死磕Spring之AOP篇 - 初识JDK、CGLIB两种动态代理

    该系列文章是本人在学习 Spring 的过程中总结下来的,里面涉及到相关源码,可能对读者不太友好,请结合我的源码注释 Spring 源码分析 GitHub 地址 进行阅读. Spring 版本:5.1 ...

  4. 网络编程之BIO和NIO

    目录 OSI网络七层模型 TCP/UDP协议 TCP消息头 TCP三次握手.四次挥手 UDP协议 TCP协议/UDP协议区别 HTTP协议 HTTP协议请求头 HTTP协议响应头 HTTP状态码 so ...

  5. python 匿名函数,内置函数

    一 :匿名函数 匿名就是没有名字 def func(x,y,z=1): return x+y+z 匿名 lambda x,y,z=1:x+y+z #与函数有相同的作用域,但是匿名意味着引用计数为0,使 ...

  6. CentOS7 常用基础操作

    系统目录结构了解 CentOS系统中没有磁盘的概念,一切皆文件,/目录下的的一个个文件夹目录就相当于磁盘了,这里简单记录几个常用的目录以及对应的作用: dev:Linux一切皆文件,包括硬件也进行了文 ...

  7. python3函数可变输入参量

    技术背景 通常我们在python中定义一个函数的时候,需要给出明确的函数输入参量,比如对于一个数学函数\(z=f(x,y)\)就表示,\(z\)是关于\(x\)和\(y\)的一个函数.但是如果对于未知 ...

  8. 08- Tomcat入门与环境搭建部署

    环境搭建:网站文件(开发人员提供),相关软件(web服务器,应用服务器,数据库软件),硬件(服务器设备上),网络环境. 开发人员提供:部署文档说明书(操作系统版本,硬件配置,服务器软件及相关版本,部署 ...

  9. linux删除文件空间不释放问题解决

    目录 场景描述 原因 解决方法 在线清空文件 场景描述 某天,收到Prometheus报警,生产中某台机器出现磁盘空间不足报警,该台服务器是mysql其中一台从库,远程登录到该服务后,排查磁盘空间的原 ...

  10. tp5 composer phpexcel使用方法

    1.compser 安装phpexcel.在windows命令行下输入:进入网站根目录,compser phpoffice/phpexcel 2.页面引入两个类: use PHPExcel_IOFac ...