公司更倾向于Pytorch的原因也很简单:
多种模型Pytorch实现最多(例如CenterNet、FCOS)
多种整合好的训练框架基于Pytorch(mmdet、detectron2)
Pytorch训练好的模型部署起来也比较方便(各类推理框架对于Pytorch的支持更多一些,例如TensorRT)
更多数不清的理由(例如debug方便、对新手友好等等)
当然TensorFlow也是有优点的,TensorFlow-server很多公司在使用,虽然也有一部分是历史原因,但是其稳定性和可靠性仍然比大部分的server要强。
PS:推荐一个可以媲美TensorFlow-Server的服务器推理框架——triton-inference-server,前身是TensorRT-server,现已开源,可以部署各种框架模型进去(TensorRT、Pytorch、TensorFlow、Onnxruntime等),老潘研究过一段时间,苦于没有时间分享,感兴趣的可以交流一波~
什么?上述框架满足不了你?你要手撸一个框架自己搞(严重怀疑你是来炫技的)?在学生时代是可以花点时间,模仿其他大型框架写一个小的框架练练手,这里推荐几个项目来瞧一瞧学一学:
tinyflow
tinygrad
C++模板元编程实战-一个深度学习框架的初步实现
一般来说,框架同时具备训练和推理功能。但训练部分写起来挺难,如果是只写推理功能的话,又简单一些。很多框架只有推理功能,感兴趣的可以参考一哈,简单列了一些(并不全):
NCNN
MNN
TVM
如果是硬件公司(很多这样的硬件创业公司)使用自己的芯片,也会有相应的AI底层算法工程师去搭建类似于TensorRT这样的产品,写op,操控内存接口,最终产出类似于TensorRT这样的动态链接库,暴露出API供上层调用。
总之,框架这东西还是用的舒服比较好,我嘛,就喜欢用Pytorch!
薪资情况大部分互联网公司搞算法的薪资比搞开发的可能会高一些,但其实也相差不了多少(真的相差不了多少)。
大部分算法工程师也会干开发的活,只是附带算法这个属性罢了。只有真正的算法研究员才是真正研究算法理论退出新算法的。
对于硬件公司来说(vivo、oppo这类),算法工程师和开发工程师薪资并无区别(硕士校招)。都是有好几档,看各自水平定级。但是会有些研究性质的岗位只要求博士参与,这也就是博士与硕士的差距。
对于硕士研究生来说,算法和开发相差并没有想象中那么大,也不存在所谓的鄙视链。
行业分布行业分布还是比较中肯的,人工智能领域与深度学习密切相关。大部分互联网公司也有很多深度学习的业务线存在,例如快手、抖音等各种AI玩法,都是与深度学习关系很深的项目。
还有电商的以图搜图、虚拟试妆;教育领域的视频教学中的课程互动、拍照搜题、智能阅卷等等。都是现在很平常融入生活中的AI场景,也可以说,AI无处不在了。
借一下报告中的内容:
自2018年起,全球计算机视觉技术不断成熟,开源生态、技术社区、人工智能开放平台的建立也使得算法的开发与应用门槛显著下降。德勤在《全球人工智能发展白皮书》中指出,由深度学习驱动的计算机视觉在某些领域已经超越人类,特别是在人脸识别、图像分类等任务中。同时,在我国,计算机视觉技术的应用拥有庞大的市场空间与丰富的场景数据,因而当技术成熟度达到产业要求时,不少垂直行业,尤其是行业中的头部企业,选择了在组织内部搭建计算机视觉团队,打造行业专属的计算视视觉算法产品或相关功能。
第二节 人才的个人期望与规划人才能有什么规划?无非就是想不断提升自己的技术水平和薪资水平罢了。
城市意愿