八月总结
1. 主要任务
- 算法刷题
目标: 一门算法刷题网课+30道力扣中等难度题目
进展: 未完成,网课看了几节,B站“左程云算法讲解”,一共70多h,看了几节,大概5个小时吧,题目没动,刷题这部分后续再安排吧,视频课9月份搞完。
总结: 看视频有点枯燥,最近状态比较差,工作上一直在写代码,写一个异步模块,已经写了大概10天了,目前初步完成,下周要调通,然后就中秋放假了,看来安排的任务的不能太多,干it这行的,不可能有太多的自由时间,包括周末。 - 开源推理SDK编写
目标: 这个月安排一个开源项目编写吧,仓库好早之前就已经建好了,但代码一直没写。目前还没有看到比较好的开源可参考SDK,要是实在找不到就从头开始写。先简单点写,实现多路调用onnxruntime推理库接口完成图像分类任务。后续有时间再加目标检测或分割模块,问题是目前云服务器只是一个两核4g的玩具,不知道够不够用。
进展: 完成,是在WSL2 linux上部署完的,可以调用gpu计算,要比那个两核4g的垃圾云服务器靠谱多了。
总结: 目前只是把之前搞的分类模型部署完成的,整个项目也是将接口和实现分类开来了,调用逻辑是:Manager->CV_Inst->Classifier。后续可以扩展出检测和分割的模块,用同一个接口调用,使用工厂函数切换不同任务。目前onnxruntime是集成再CV_Inst这一层的,该class中的预处理后处理接口延迟到不同任务的子类中实现,因为分类检测分割的预处理不一样,需要区分。
2. 其他任务
- 无其他任务,少打游戏,有空多锻炼身体吧。这个月爬山一次,周末早起去跑步也挺舒服的,最近的天气也刚刚好,早上20℃左右,很凉爽,最热的日志应该已经过去了吧。
3. 月度小结
- 这个月个人项目有进展,完成了仓库InferSDK 的初步搭建,并实现了分类任务;
- 工作上最近也是一直在做模型集成部署和效率优化的工作,但伴随着很多的测试工作,然后发版本,很琐碎很烦;安安静静搞搞效率优化其实也挺好的,虽然岗位名称是算法工程师,但做的工作更多的偏向模型集成,可深入学习的东西较少,部署几次之后便轻车熟路了,不适合长期学习发展、可替代性太强。当然偶尔也会有SDK层面的效率优化工作,也会涉及到cuda编程或者并行算法的东西,应该多学习这方面的工作,有相应的机会也应该把握住去做好(这样才能在之后的工作中有更多的机会做这方面的研究学习),最好能深入到算子推理库层面学一些东西,才能更有竞争力。所以个人的发展方向不应该是只训模型的“算法工程师”或者只集成部署模型的“模型部署工程师或AI应用工程师”,应该定位是“算法优化工程师”,深入做一些框架层面、算子层面、图优化方面的东西,当然要想在这些方向上做的好,C/C++语言层面的知识、操作系统的知识、还有计组和gpu架构等硬件也要掌握,此外,虽然网络编程涉及不到,但很多开源代码会有网络相关的模块,学一些这方面的基础知识,也有助于阅读学习开源代码。
九月计划
1. 主要任务
- 算法视频课
目标: 一门算法刷题网课,晚上+周末抽时间刷完。
Deadline: 2022.9.30 - 《CSAPP》前五章内容看完,白天抽空摸鱼+周末时间看完。
目标: 目前虽然已经参加工作1.2年了,但学到的很多知识、深度学习、python、c++,以及模型训练和部署等,和计算机底层的东西是脱节的,后续既然是要搞效率优化,底层的东西还是要系统学习一下的,CSAPP这本书能把所有相关知识点联系起来,构建出自己的计算机知识框架出来,整体知识框架完备才能快速将新知识吸收到自己的知识体系中来,有助于个人技能的稳步提升。前五章中,第一张相当于是概述,第二到第五章分别讲了信息的表示和处理(数据类型)、程序的机器级表示(编译)、处理器体系结构(CPU)和优化程序性能。第五章优化程序性能部分可选,前四章内容9月份要看完。
Deadline: 2022.9.30
2. 其他任务
- 无其他任务。