2018年研究生毕业,动力机械专业,研究方向是燃气轮机方向,以仿真为主,吃饭的家伙是CFX、NUMECA、fluent和MATLAB等一系列与仿真相关的软件。我学的很好,无论是学习成绩还是仿真实验,都做得很好,拿了很多奖。但是到找工作的时候发现,学的好不如专业好,计院学生的薪酬待遇远超我们。工作时没有选择去研究所,去了某知名手机公司,做一名管培生,这一年对我影响很大!工作中,转行的念头愈发强烈,作为一名工科生,总有一种丢掉技术就会丢命的错觉,诚惶诚恐,再加上薪酬的差距,坚定了转行的意愿!下面直接进入正题,我是如何从一名动力机械的学生转行到算法工程师,完成薪资翻倍的!
想要转行计算机,首先得选一门合适的编程语言,钻进去,吃透它,这是前提条件!千万不要高开低走,从入门到放弃,最后潦草收场,这样的案例不在少数。
推荐Python入门!对于初学者而言, Python很友好,比较简单。网上的教程和书籍也很多,但我不推荐一开始就抱一本很厚的书啃,很容易放弃,每天面对那么厚一本书,学了后面忘了前面,书的页数也不见少。不是意志坚定的人很难坚持下来。
推荐《Learn Python the Hard Way》入门,中文名叫《笨方法学Python》,很简单,也没那么厚,以上手操作为主,所谓的"笨方法",就是不断练习,不断敲代码,很简单的代码也会重复的让你敲,直到你学会为止,当你把那本书里的代码全部敲一遍,代码行数至少上万,还是很有成就感的!
仅依靠那本书是远远不够的,还需要一本系统的Python书籍,供平时翻阅和学习。CSDN上有很多Python的内容,但我觉得一开始去CSDN上找代码不是很好的习惯,上面的内容参差不齐,相关内容也很多,不知道用那个,大多数人都是收藏不看系列,白白浪费时间。所以推荐找一本系统的书放在手边,偶尔翻阅,既可以巩固知识,又可以写出规范的代码。
有了上述的编程语言做基础,就可以尝试做一些小项目,推荐选数据处理和可视化这部分,看得见摸得着,做出好看的东西很有成就感。
掌握一门编程语言后,算是正式入门了,但是真正学习的东西才刚开始。
想要成为一名算法工程师(注:这里指的是AI算法),还需要有很强的理论基础。有很多人觉得理论不重要,网上随处可见"xxx速成班",我相信速成班也不会教很多理论的知识,大多数以应用为主,以项目上手。但我不这样认为,不然高校完全没必要开那么多理论课,直接让学生做项目,肯定比速成班的学生学的快,学的好。在我看来,学会如何用一个算法重要,如何去"调包"、如何改参数重要,但是知道算法的基本原理更重要,它是这个算法的基石,只知道用它而不知道它的原理时,很不稳妥,出了问题也不知道如何修正。
以深度学习这个方向为例,基础的数理知识这里不再赘述,是必备的素质,如果连矩阵运算这些基础知识都搞不清楚,建议回去先补一下微积分、线代和概率论。这里比较推荐李航老师的《统计学习方法》和吴军的《数学之美》这两本书入门,《统计学习方法》这本书不用多说,深入浅出的讲解了机器学习中常用的朴素贝叶斯、逻辑回归、支持向量机等算法,推荐搭配B站的《机器学习-白板推导系列》一起食用,效果更佳,建议里面的算法自己都能推导一遍,真的很有用(后续会将我的笔记分享给大家);《数学之美》这本书大白话讲了很多数学原理,理解起来难度不大,是Google官方连载的博客,深受IT人员的喜爱。
实践的话建议搭配《机器学习实战:基于Scikit-Learn和TensorFlow》这本书,前半部分包括了机器学习里常用的算法,基于Scikit-Learn框架实现的,后半部分包括深度学习常用的卷积算法、数字识别等示例,基于TensorFlow框架实现的,GitHub上也有配套的开源代码,很经典也很好用的一本书。
深度学习部分,英文版的建议吴恩达老师的课程,中文版的建议李宏毅老师的课程,B站上有现成的教学视频,BP算法、CNN、RNN、LSTM…都是从理论基础开始讲的,听完之后收获会很大;配套书建议花书或者瓜书,都很厚一本,放在手边没事翻翻,对于后续训练模型有很大作用。
理论知识丰富后,项目经验必不可少,光说不练假把式!GitHub上有很多开源的代码,检测、分割、识别、超分…很多优秀的论文均开源了,你可以将他们的代码下载下来,再结合自己的标注数据,训练模型,调参、改模型、熟悉框架。至少要熟悉一个常用的深度学习框架,Pytorch、TensorFlow、Caffe、Keras等。
除了训练模型**,对应的论文知识也需要掌握,不能跑完fast-rcnn后,连anchor都不知道**!这是肯定不行的;对于你想进入的领域,你需要知道主流的方法有哪些,面临的挑战有哪些,大概努力的方向有哪些等等。既要脚踏实地,也要仰望星空!
有了基本的编程能力,理论基础和项目经验,假设你真的稳稳当当的走下来,那么差不多就可以去找工作了。关于面试,也多是一些老生常谈的东西,非计算机科班出身,对于数据结构、算法及编译原理等等也不是很了解,这些知识也不是短期就可以掌握的。那么,对于面试最快速的方法就是刷题,LeetCode、牛客上有很多面试题可供参考,常用的几个算法要会手写,难度大的算法可以不会写,但是基本思路得知道;当然,这里有个捷径:如果上述你真的都不会,在面试的时候,你可以直接和面试官聊,说你没有准备这些,非科班出身,这些东西正在补齐,力气用在刀刃上,对于机器学习和深度学习相关知识掌握牢靠,这方面的项目经验也很足,然后将面试官引到你擅长的方面来。
学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!
Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。
我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
保证100%免费
】