概述
比赛建议
作者本人经历
本科期间我参加过的竞赛包括2020Intel杯电赛嵌入式邀请赛(国二)、2021电赛无人机赛题、2020和2021的华为云无人车挑战杯(全国第4)、2020和2021的中国高校计算机大赛人工智能创意赛(国二、国三)、2020集成电路创新创业大赛(国三)。还有例如Nv和阿里云举办的异构计算挑战赛(TensorRT加速)、两届的Xilinx全球自适应计算大赛(都是获得发放免费硬件资格的项目)、RoboMaster2021全国二等奖(雷达站负责人)。
其中的工作都是集中与目标检测和分类算法的实现和硬件加速。
何为硬件加速
简单讲就是利用硬件的特点,完成高效计算,减小推理的时延和功耗。目前该领域的方向主要有:CPU(OpenVINO)、GPU(CUDA、TensorRT等)、专用ASIC(华为Ascend 310,910、Intel神经计算棒系列、寒武纪思元系列等)、FPGA(Xilinx ZYNQ、ZYNQ UltraScale+、Alveo、ACAP、KRIA系列等)。设计到的软硬件工具非常多和复杂,并且每一类都有其优势和缺点,有时需要根据具体应用来选择。同时,不同厂商有着不同的设计策略(或者说刀法),定位相同的产品存在竞争,不同定位的又在绝对性能上较劲。本专栏就是为了梳理这些问题。
建议
根据自己的专业方向选择
首先,虽然人工智能这个行业很火,但也很卷。我算是独辟蹊径选择了硬件加速这个小方向。一方面是处于对硬件的喜爱,另一方面就是不太看好短时间内算法的突飞猛进,而且算法开发往往需要很多算力支撑。
其次,需要考虑你本身的专业方向。我是电子信息工程方向,所学习的课程包括数字信号处理、信号与系统、高数高代概率论等课程。这些一定程度为人工智能的学习和硬件部署打好基础。同时,本人比较热衷于开发,对硬件很感兴趣,再加上自己在时间和金钱上的投入,才能有上面还不错的成绩。
所以在选择时要考虑自己的专业方向和专业能力,如果你能力强能把上述前置内容都学会,那当然更好。
前期多参考别人的项目,提高工程能力
我的学习路线大致如下:首先是在树莓派上学习Linux的使用和python环境的配置等内容,其次就是在树莓派上运行了Intel计算棒的例程,之后购入Jetson学习了GPU加速和TensorRT使用,之后在比赛中熟悉Ascend芯片的使用,以及Intel OpenVINO HDDL-R8加速卡上的开发。并在之后完成了深度学习框架从算法开发到部署在GPU上的全部流程。再之后学习FPGA的深度学习模型部署,并在两年连续申请了Xilinx自适应计算大赛的硬件。
多借助外部资源提升自我
我的很多项目硬件都不是自己花钱。自己需要出辅助性的部分。比如我开始学算法借助Colab的资源和百度AIStudio的资源。学习树莓派是自己买的,学习GPU是借助学校大创的经费和RoboMaster的队内经费。学习ASIC开发是借助Intel杯比赛的经费,学习Ascend是借助华为云无人车比赛的经历。学习FPGA是借助Xilinx自适应计算大赛的机会。总之,做好准备,寻找机会,抓住机会。
从高层到底层的开发
如果一开始让你看到底层代码,往往会很劝退。所以建议先从项目的功能性上入手,体会各个功能如何通过调用实现,尝试把多个功能组装。这基本就是你毕设的水平。在开发能力达到一定程度时,阅读算法源码,阅读硬件部署的源码(layer转换和GPU、ASIC编程等),对已有的东西进行优化和提升,这是条循序渐进的道路。
最后
以上就是奋斗红牛为你收集整理的关于本科期间参加人工智能方向竞赛的建议比赛建议的全部内容,希望文章能够帮你解决关于本科期间参加人工智能方向竞赛的建议比赛建议所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复