您现在的位置: 首页 > 网站导航收录 > 百科知识百科知识
为什么有些算法岗位,需要用C++而不是python?
算法,编程语言,都是为什么有些算法岗位,需要用C++而不是python?
发布时间:2016-12-08加入收藏来源:互联网点击:
问题补充: 为什么有些算法岗位招聘的是C++,而重点不是python?特别是计算机视觉岗位(尤其是自动驾驶领域),多数要求要熟练使用C++。这是为什么呢?不是说python在人工智能算法方面是最佳的吗?为什么在机器视觉方面,需要的是C++?
回答于 2019-09-11 08:43:50
回答于 2019-09-11 08:43:50
从事软件开发多年,从理论上讲算法适用于任何的编程语言,算法在实际工作过程中就是为了工作效率,如果什么事情都是按照穷举法或者别的串行的方式效率会太低了,算法能够极大程度的提升效率,算法其实就是执行一系列的指令在规定的时间内拿到输出结果,从这点看时间是存在边界的,要讲求时效性。
说到效率性方面问题就会涉及到编程语言的执行效率,如果不是解决实际的问题,单纯比较编程语言执行的效率没有太大的意义,一件事如果用两种编程语言都能搞定的情况下,谁用的时间最短而且消耗的精力最小就采用谁,说到python语言在人工智能里面算是明星编程语言了,有人称之为胶水语言,能够把各种编程语言组合在一起工作,现在很多人喊着学习人工智能搞定python就能差不多了,人工智能这个大学科够我们研究一辈子的,只不过入口的编程语言采用的python,相当于C语言里面的主函数入口,至于里面怎么实现未必都是采用python完成。
现在看多算法岗位上要求的编程语言基本上C/C++两种,一旦涉及到算法涉及到非常复杂的运算,就要讲求执行效率,在编程语言里面机能有面向对象编程机制,又能调用底层的实现模块,C++是非常合适的编程语言,现在都是在喊着底层的编程语言不吃香了,人工智能这块又将推动一大块,但是入门的门槛提升了许多,普通的c++工程师很难胜任这种职位,既懂得C++又能玩转高级算法的高级人才是现在各大企业争抢的重点。
所以讲学了python只能人工智能的敲门砖,真正底层涉及到复杂的算法,还得底层语言更加靠得住,在上层调用形式上还是采用python方式,底层的优化还是离不开C/C++,现在算法岗位属于非常稀缺的职位,据说一个博士毕业的高级算法人才,不是很懂编程的都能年薪60+了,可见这个职位是多么的稀缺。
对于一个真正的技术人员,不要迷信什么编程语言有多么的厉害,关键看解决实际问题的能力,人工智能也好,编程技巧也罢主要还是为了解决实际问题,最终落实到解决实际能力,也不要过份在自己设置界限一定要学好哪种编程语言,语言语法特性再漂亮距离解决实际问题很遥远其实意义也不是很大。落实到具体的程序员,一个程序员要的就是解决问题能力以及实际执行力,不要沉迷于是中级工程师还是高级工程师,概念性的炒作都不如解决实际问题有用。
希望能帮到你。
回答于 2019-09-11 08:43:50
这个问题,从企业角度来谈,企业要盈利,那就得买产品。 在整个工程中,算法只是很小的一部分,而所有的业务代码,几乎都是用c/c++写的,主要还是性能和速度的考虑。
举个例子,一个模型的后处理代码用python写,运行80ms.用c++写,6ms运行完。怎么选?肯定用c++.
在工业界,模型开发,越来越软件和硬件结合,抛开硬件性能在工业界谈模型性能是很搞笑的。
企业中,也有专门只做模型开发的职位,做算法预言的研究岗位。但是需求量很低。
大多数不偏工程应用的算法岗位,也是发挥搬运工技能,还是鬼斧神工的修改技能,把这些来源的算法,巧妙的用的符合硬件性能。
我公司算法开发已经形成流水性,模型训练 好坏,已经不看召回率,精度等这些指标,只要解决场景需求,那就可以包装了卖钱。
说白了,现在做解决方案,真是赚钱的时候。
目前在参与轻量级模型压缩和加速平台建设。接下来两年,算法工程师的定位,应该要回归软件工程师的本质。
工具的大量涌现,再也不是 你跑了模型就可以说是算法工程师,不会点工程能力,代码,工程师这个职位还是别干了。而真正做算法的那些人,要求会更好,毕竟他们又要去开坑新的土壤了。
能用个python就叫算法工程师的泡沫,是该爆了。 企业追逐人才回归理性。
回答于 2019-09-11 08:43:50
算法,Python做原型,C++做产品。
回答于 2019-09-11 08:43:50
计算机视觉用opencv的话,c++用的比较多,所以计算机视觉算法工程师要求会c++
Python在ai算法应用的广的一大原因是,库多
而那些库,很多都是c,c++编写的,用Python封装起来
算法工程师不能流于表面调调api完事,如果要深度优化,需要自己重新写库或者修改库。至于为什么内部用c,c++,因为性能高啊,小数据量可能感受不出来,但ai大部分都是超大规模数据,c,c++的性能优势会体现的很明显
回答于 2019-09-11 08:43:50
上一篇:现在的普通大学生都在做什么工作?
下一篇:返回列表
相关链接 |
||
网友回复(共有 0 条回复) |