向量化编程思维。
来源:5-4 向量化
怀瑜
2019-11-07
老师,你好。我是一名研三学生,目前已经找到了计算机视觉方向的工作。最近一直有个问题困扰着我,我认为我的代码能力比较差,尤其是在实现某些算法的时候,尽管我已经get到了算法的点,但在进行程序编写时却无从下手。我认为对我来说最欠缺的是编程时的向量化思维,想请教老师如何锻炼?这方面有没有推荐的学习资料。万分感谢
1回答
-
首先恭喜你找到工作:)
在我看来,编程和向量化思维一点关系都没有。向量化思维是只有在处理矩阵运算的时候,才会使用的方式。而且,本质上,在我看来,向量化思维本质是数学能力,而非编程能力。在这个课程中,你应该可以看到,很多时候,编程的过程,我们只是单纯的把数学公式实现出来而已。一旦把数学公式推导正确了,实现并非难事。
如果你认为你缺少的是用向量思考问题的能力,我的建议是加强数学推导能力。这件事情和编程没关系。不管是你现在工作而 CV 行业,还是机器学习,都有大量的公式,可以直接用向量或者矩阵表示出来,把你见过的每一个这样的公式都吃透。什么叫吃透?自己能从头把这样的公式独立推导出来。发现自己推导不出来,或者推导过程有一些地方不确定,再回去看课本或者视频上的推导,总结自己哪里有遗忘,或者理解不透彻。总结是关键。
至于编程能力,本质就是把头脑中的逻辑化成代码的能力。注意,这个前提是头脑中的逻辑已经很清晰了。很多同学认为自己编程能力不好,但本质其实并非如此,而是逻辑还没想清楚就编,最后编不出来,但是觉得自己编程能力不强。没有逻辑,当然没法编程。
至于编程能力的训练,也无它,多编。其实,多做算法问题,就是非常有效的训练编程能力的方式,同时,还训练了逻辑能力。毕竟,一般工作上的业务编程,更多的是框架的使用,逻辑成分相对较小。
至于编程时无法下手,亦是如此。对于无法下手的问题,看别人是怎么解决的?然后总结:自己为什么觉得无处下手?到底缺失什么?第二天,同样的问题,再看这个套路学会没有?如果觉得还没学会?继续总结:昨天刚看完别人的写法,为什么今天还写不出来?以此类推。总结是关键。而不要总把问题归结到自己能力不够强。
继续加油!:)
112019-11-07
相似问题