Open MMlab平台:
今天又回看了下同济子豪兄对Open MMlab的介绍视频,从个人的角度来理解(认识有限,误喷),相当于把所有的算法模块化,标准化,隐藏了算法内部实现的复杂性,把便利留给业务方;类比于C++或者python的编程语言,对于代码开发者来说,只需了解一个整型类的属性和用法,而无需关心本身编程语言是怎样表达和实现类型,如内存中整型的数据结构是什么,内存怎么管理;Open MMlab这个平台,提供的就是类型于编程语言的规范,只要遵循一定的规则,那么用户就可以根据自己的业务,开发出不同的产品,不得不说,这对大众来说是多好的福利。
那么Open MMlab是怎样通过一套规范,去规范和流程化实际的开发呢?
以MMPose模块为例,类比于日常开发工作:
1.开发环境安装:由于Open MMlab是使用pytorch实现的,故而要安装pytorch和其它依赖
2.数据(变量):类比于编程语言,此处的数据或者是变量,我们理论上可以输出任务满足算法模型的数据,但为了方便起见,我们可以下载视频中提供的素材
3.过程:状态的变化,本质上是数据的变更,类比于编程,其实深度学习,也需要一个规则来改变数据,也就是我们所说的模型,那么我们需要先吃透算法模型,再手写算法模型吗?显然不需要,就好比实现一个网页开发,我们需要实现ES6语法,实现V8引擎吗?显然不需要,因为我们是工程应用层,我们只需要学会怎么在规则下实现我们的开发,即我们需要下载训练模型(Open MMlab已实现)
4.按算法的用法,使用命令行或者相关API,喂入数据,调用相关算法模型,效果检验;如不佳,调整相关参数即可(和编程中函数或者方法的传参类型,变的不是参数,而是参数的值)