个人工作总结
我所在的模块是模型部署模块,从需求、开发到测试环节都与该模块有关。
该模块的主要作用是将静态的模型文件加载到内存以成为可响应的模型实例,此
外还包括对实例的其他常规操作,如停止、暂停和恢复。我具体负责实例启动和
停止操作,启动功能是其中较为基础且主要的一项功能,为此在前期调研了主流
的模型平台上的模型保存固化以及模型的重载操作,最终决定在 tensorflow 和
pytorch 这两大主流框架下实现相关操作。在后续的调研中又抽象出了 4 种模型
类型,并以此为基础完成了模板代码的编写和测试,确定了实例个体从模板继承
代码的关系。模型部署模块需要较频繁与操作系统交互,如获取实例运行所在进
程的 ID、网络通信端口等,在代码实现上对应地涉及部署所在操作系统 linux 上
的指令。在异常处理方面,考虑到实际使用过程中可能遇到的异常,如文件异常、
内存异常、读写异常等,对此设计了较为详细的异常处理机制。在单元测试以及
联调中,设计的单元测试样例均通过了测试,联调过程中发现的 bug 在经过沟通
和调试也得到了修复,最终该模块在整个系统中运行良好。
回顾和总结整个实验,我觉得有几点还可以做得更好:1. 虽然模型部署模
块直接与后端接触,但其实前端的设计逻辑也与模型部署模块有很大关系。前期
在模型类型的确定和逻辑实现上没有较及时地与前后端沟通,所以导致有些概念
和流程的理解上出现了偏差,因此在之后的开发过程中应该注意沟通,注重信息
的及时传达和二次确认。2. 单元测试的样例设计可以做得更完善,受限于时间,
所以有些样例并没有完全覆盖,在之后的测试工作中,可以考虑在每个功能点处
设置 TODO 事项,以便后续测试样例的设计和编写。3. 文档提交的粒度较粗。
在自己负责的文档提交时,通常是将几次的更改合并在一块然后再作为一次
commit 提交,但这样的问题在于难以回溯某一次较小的修改,希望之后能纠正
这个习惯。
评论0