计算机视觉研一,只学过Python基础,目前代码能力很差,要不要换导师,不换的话如何毕业?
52 个回答
研究生毕业必须有论文,这是规定,换导师也要面对论文。换导师,有什么方向可以选择?
个人感觉,不是换不换导师的问题,首先你要想清楚几点:
- 你喜欢什么方向?
- 有哪些方向的导师可以选择?
- 自己学习的方法、路线,是否有问题?
如果自己没有明确喜欢的方向,这个导师也不是不喜欢,纯粹是因为自己没有学好,导致这样的迷茫。
那我建议:不换方向,找对学习方法,努力提高自己。
如果真不喜欢这个方向,并且导师本身没问题。那完全可以跟导师说,谈谈自己的想法,找下自己喜欢的方向。
一个导师,手底下也不是都做一个课题的,有很多课题可以选择, 方向是可以换的。
通过你的描述,我个人理解,你是还没有找到合适的学习方法。
高中的时候,做题,提做对了,老师批改,做对了,正反馈给的很快。
现在, 都要靠自学 ,发现学了半天,没有正反馈,因为没人给你批改了!一切都要靠自己。
开发方向,我不了解,我目前是在一家互联网大厂做视觉算法工作的,研究生就是模式识别专业,学得就是 CV,也是一路自学走过来的,我可以给你一些我自学 CV 的一些经验。
如果你还想继续做 CV,那可以看看我下面的说的内容。
注意:你需要的是耐心!坚持一年,时间绝对够用!
主要分为5个部分,第1项时间不充裕不强求,可以直接从2开始。
等学完第三项,就可以看论文,想自己的毕业论文了。都学完,就能找到工作!
为了方便下载,我把所有资料都放在了这里,有需要的自取:
1、计算机基础
无论什么岗位,一定要先学好计算机原理的基础知识。 千里之行,始于足下。道理谁都懂,但并不是每一个人都能做好。
我碰到过想从事编程岗位的学生,连存储、内存和显存分不清,我也是很诧异,非科班出身不是借口,哪里不足补哪里,万物皆可转cs,那也得先把落下的基础学好。
计算机原理:
推荐计算机科学速成课 ,内容覆盖面非常广,从底层的布尔逻辑,硬件原理,到黑客技术,再到热门的CV、NLP,言简意赅,覆盖面非常广,还能练习英语。
视频链接: https://www. bilibili.com/video/av21 376839
操作系统:
个人觉得比较好的入门级课程是《 操作系统 - 清华大学 》,该课程由清华大学老师向勇和陈渝授课,虽然我们上不了清华大学,但是至少我们可以在网上选择听清华大学的课嘛。
视频链接: https://www. bilibili.com/video/BV1j s411b7vg
2、编程能力
编程语言,需要至少掌握两门, Python 和 C++。
工作中,Python 主要用于 处理数据 、 算法调研 、 模型训练 的工作,而 C++ 则是负责 工程落地 。
算法工程师,需要针对落地场景,对算法的可靠性和实时性等方面进行优化,C++ 工程能力必不可少。
Python 是一门非常友好的编程语言,不但易于入门而且功能强大,在进行机器学习算法开发的过程中会大量使用 Python。
一点基础都没有,可以看小甲鱼 Python 课程,风趣幽默,涉及Python 语法基础、网络爬虫、Pygame 飞机大战等内容,内容很丰富。
视频.mp4: 百度云下载链接 提取码: ffac
实战是最好的老师 ,学习 Python 的时候,可以找一个自己喜欢的方向,去实战。
边实战,边学习。比如写爬虫、做小游戏、玩各种有趣的算法等。
这里面,爬虫是最简单的,很容易有成就感,让你坚持学习下去,下载小说、下载漫画、下载音乐、下载电影、抢票等等小程序。
这个推荐我的一个 Github star 量 11.4k+、fork 4.5k+的爬虫项目。
每个实战,都有对应的 文章教程, 代码开源 。
项目地址: https:// github.com/Jack-Cherish /python-spider
教材 :推荐《流畅的Python》,书看完有些难度,但是哪来当个手册用,很方便,哪些语法忘记了,翻阅一番,必能有所收获。
流程的python.pdf: 百度云下载链接 提取码: gja7
C++ 是一种面向对象的程序设计语言,无论你是做算法,还是做开发,亦或者是做测开。C++ 都应该掌握,它是一个基础的编程语言。学会了这门编程语言,再学其它,就会更得心应手。
推荐被誉为“圣经”的《C++ Primer》,经典巨著,非常棒的书。
C++ Primer.pdf: 百度云下载链接 提取码: 7fw4
编程语言基础学完了,接下来就是数据结构与算法。
这里送大家一本帮助我拿到BAT 等一线大厂 offer 的算法笔记,是一位谷歌和阿里的大神写的,对于算法薄弱或者需要提高的同学都十分受用:
数据结构与算法 是程序员的内功,每一个工程师的必修课。
数据结构的学法,我推荐是直接看书,一边学习一边刷题, 同时进行 ,这样学的速度快。
就如同书名一样,这是一本像小说一样有趣的算法入门书,非常易懂,强烈推荐。
算法图解.pdf: 百度云下载链接 提取码: e5in
可以与这本书一同学习的,就是《剑指Offer》,里面讲解了 66 道+ 常见数据结构题,解析思路,简单易懂。
剑指Offer.pdf: 百度云下载链接 提取码: 4wwd
两门书一起看,轻松入门数据结构与算法。
不过《剑指Offer》讲解的代码都是 C/C++,没有 Python 版本,想看 Python 版本的,可以看我整理的教程,C++ 和 Python 都有实现和讲解,题目已按照类型划分好。
项目地址: https:// github.com/Jack-Cherish /LeetCode
两本书都看完,题也刷完了,那就算是 入门 了。
想进阶,进一步学习,直接上 LeetCode。
力扣可以从 HOT 100 或 精选算法 200 题刷起,题目相对于《剑指Offer》要增加一些难度,但每道题目都有对应的解题思路和答案。
坚持刷完 200 道,大多的面试轻松搞定,完全够用。
当然要面试谷歌级别的大佬,Hard 题是不能放过的。
刷题地址: https:// leetcode-cn.com/
Tip:刷一遍题,回头看还会忘,不要怀疑自己,要反复刷,反复练习。
3、算法基础
数学基础:
在机器学习算法中,涉及到最为重要的数学基本知识有两个: 线性代数 和 概率论 。
这两也是大学的必修课了,如果 知识早已还给老师 ,也没关系, 哪里不会学补哪里 。
线性代数 研究的是线性空间的性质,数据通常会被表示为欧式空间中的点,而这些点经过一系列变换后会映射到另一个空间,在新的空间中隐藏在数据中的规律才得以显现。
所以线性代数作为研究空间的一门科学,是入门机器学习的 最要基础之一 。
视频 :推荐 MIT 的老教授 Gilbert Strang 的线性代数上课视频。
没学过线代的同学会发现这门课程,讲得清晰而且直观,深入线代的精髓,完全不是那种理论堆砌的讲法,而且老教授幽默风趣,很有人格魅力。
英文不好,也不用担心, 字幕是中文的 。
线性代数.mp4: 百度云下载链接 提取码: r2vm
教材: 推荐《 线性代数及其应用 》,作者是 David C. Lay 。
喜欢看书的朋友,这本书一定不能错过。
这本书详细地介绍了线性代数在几何学、计算机图形学、经济学、概率论、信号与系统、微分方程等领域的应用,给人以直观的认识。
线性代数及其应用.pdf: 百度云下载链接 提取码: pv9q
概率论 是研究不确定性的一门科学,生活处处是概率。机器学习算法需要对现实情况建模,自然是少不了将概率论作为工具。
这门课入门并不难,大家可以挑一本评分还可以的书开始学习。
这里推荐陈希儒的《 概率论与数理统计 》,讲得很详细,如同听一个老者回忆自己的概率与统计心得,相信读者也会有所收获。
概率论与数理统计.pdf: 百度云下载链接 提取码: yfw8
如果 时间充裕 ,推荐先学好数学基础。如果 时间不够 ,那就跳过数学基础部分,学算法的时候,哪里不会补哪里。
恭喜大家,在做了前面这么多基础工作之后,终于可以开始入门机器学习算法了。
机器学习 :
视频 :推荐吴恩达老师的机器学习视频,吴恩达是整个领域的 巨头之一 ,学术地位很高。同时,他出的视频也对新手 非常友好 ,入门的不二之选。
机器学习.mp4: 百度云下载链接 提取码: yy22
教材 :还是那句话,光看不练是不行的。《机器学习实战》,理论结合实战,适合新手。
机器学习实战.pdf: 百度云网盘链接 提取码: kbtp
《机器学习实战》使用 Python2 实现,有些细节讲的不够细致,对此我进行了完善,使用 Python3 复现了一遍,并结合 sklearn 以及更多的好玩例子,进行讲解。
全网阅读量 500w+:
对应的 Github 开源代码 Star 3.3k+,fork 3.1k+。
在线阅读地址:
https:// cuijiahua.com/blog/ml/
我也将这个系列打包成了本地 pdf,喜欢离线看,也可以直接下载。
python3机器学习实战.pdf: 百度云下载链接 提取码: yntc
深度学习 :
深度学习是现在的算法工程师绕不开的一个子领域,是机器学习的子集。
视频 :还是推荐吴恩达老师的深度学习视频,也是对新手非常友好。
视频.mp4: 百度云下载链接 提取码: shis
教材 :说实话,深度学习,我并没有看过书,都是视频+ Github 开源项目学习的,不过被誉为深度学习领域圣经的“花书”,可以备一本。
花书.pdf: 百度云下载链接 提取码: adx3
4、框架学习
深度学习框架 :
深度学习框架有很多,Tensorflow、Pytorch、Paddle、MXNet、Caffe等。
我在工作过程中,用的最多的是 Pytorch,其次是 Tensorflow。
新手上手,推荐先学 Pytorch,可以直接看 Yunjey Choi 大佬的 Github 教程,简单入门:
项目地址:
https:// github.com/yunjey/pytor ch-tutorial
Pytorch 深度学习框架学习,也可以看我写的 Pytorch 深度学习实战系列教程,有垃圾分类、图像分割等结合实战的小项目。
Github 开源代码 Star 400+,fork 250+。
项目地址:
https:// github.com/Jack-Cherish /Deep-Learning
我也将这个系列打包成了本地 pdf,喜欢离线看,也可以直接下载。
pytorch深度学习实战.mp4: 百度云下载链接 提取码: gfzx
身为一名合格的 调包侠 ,主流框架都得掌握一二。Tensorflow 个人感觉,相对 Pytorch 要难上手一些,但 Google 大佬的东西,咱也得会呀!
最新版的 Tensorflow 2.x 的视频没有,只找到了一个 1.x 的视频。
视频链接: https://www. bilibili.com/video/BV1k W411W7pZ
5、算法实战
实战实战,文章反复提到了这么多次,仅仅这些还是远远不够的。
因为更多时候,你是跟着视频 or 文章的思路去实战,这缺少了 独立思考 的过程。
学了这么多,你并没有独立完成过一个项目,数据怎么处理,怎么分析问题,用什么算法解决问题,也没有独立思考过。
算法工程师的岗位竞争也比较激烈的,为了在茫茫人海中脱颖而出,我们需要以 团队 或 个人 的形式,独立完成一些项目,只有这样,你才能更具竞争力。
对于学生党,做项目,最简单直接的方法就是 参加竞赛 。
推荐两个参加竞赛的地方,一个是国外的 Kaggle ,另一个是国内的 阿里云天池 。
两个竞赛的奖金也都很丰富,根据自己的喜好,参赛即可。
Kaggle: https://www. kaggle.com/
阿里天池: https:// tianchi.aliyun.com/comp etition/gameList/activeList
既能打比赛,又能赢奖金,何乐而不为呢?
如果一个个下载觉得麻烦,我把所有资料都整理放到了这里,可以直接下载:
最后
这篇文章整理的也是我的学习路线。
要说需要学多久,那就看个人的学习动力了。
如果你想去一家不错的公司,但是目前硬实力不过关,我觉得还是有必要去努力一下的,技术能力的高低决定你能走多远,平台的高低,决定你能飞多高。
如果可以通过自己的努力,进入自己心仪的公司,一定不要松懈怠慢,职场成长和学习新技术一样,不进则退。
你往往会发现,身边实力越强的人越努力,最高级的自律就是享受孤独 。
感谢点赞支持!笔芯~ 记得关注我哟 @Jack-Cui
可能有点鸡汤,但是人生很难把控自己未来的。别太过焦虑。。。我刚工作的时候,我连c艹如何写个类都不会,TensorFlow如何求导也不懂。。。之所以还能勉强活下去,主要是第一份工作,公司总是让我打杂,啥都要干,虽然我吐槽无数,但是换个角度来说,打杂也是高速试错的一个手段,还好前东家比较温和,不至于绩效低就干飞你,所以现在勉强还能活下去了
至于这么菜还能有份工作的原因,主要是我吃了时代的红利,我也想不出我有啥能力找得到工作,基本就是大佬缺个人,我真好做项目认识了大佬,大佬看我还算笨归笨,但是皮实,给个机会我就去,他给多少我拿多少,很少想太多。
所以题主的问题,就是平常心过吧。也不难,争取一个温和的环境去试错,别和人家攀比能力,实验室里试错,或者实习去试错,争取机会的方法,每个人都很不一样,单纯努力也没用。我是莫名其妙写知乎写多了才有的一份工作,也是因为写多了大实话,跳槽都被很多大佬拉黑。。。求人都求不来,跳的特别郁闷