项目仓库
欢迎访问我的Github主页
项目名称 | 说明 |
---|---|
chhCpp | 学习C++仓库 |
chhRobotics | 学习自动驾驶、控制理论相关仓库(python实现) |
chhRobotics_CPP | 学习自动驾驶、控制理论相关仓库(c++实现) |
chhML 、chh-MachineLearning | 学习机器学习仓库 |
chhRL | 学习强化学习仓库 |
chhTricks | 存放一些有意思的tricks |
书籍资料
学习过程中收集到的书籍资料,强烈建议收藏关注!
总的学习路线思维导图
由于博客中无法直接放PDF,所以思维导图的格式都是图片,点击不了里面的链接,因此我将思维导图pdf版放在了GitHub仓库,有需要的自取。
1. 编程
编程部分我主要聚焦于C++、python、数据结构与算法。
- python的入门较为简单,因此可以采取即用即学的策略学习。
- c++语法学习可以跟着黑马程序员的视频学,讲得蛮清楚的,就是不够深入,深入还是得自己看书才行。
- 学习完基础语法后,便可以借助力扣或者牛客网刷题了,这里建议跟着labuladong或者代码随想录来进行针对性地刷题。这两者刷完后,再借助力扣随机刷题或者按照顺序刷题。
- 数据结构与算法的学习个人觉得跟着代码随想录或者labuladong的刷题就行,边刷边学,对于不理解的可以再上网查资料。
另外,书籍的选择上,c++系列建议以下面的顺序由浅入深来学习:
- C++基础阶段:《C++ Primer Plus》第六版
- C++进阶巩固:《C++ Primer 》第五版
- C++精通阶段:《Effective C++》、《More Effective C++》以及《Effective Modern C++》。
- C++应用阶段:就在github上找项目练手吧。
另外,这篇文章也给出了更详细的C++学习路线,可根据自身情况酌情选择。
对于C++的学习,一般做项目后都绕不开CMake的使用,CMake的教程可以参考这位博主的文章以及这个资料。
2. 机器学习
机器学习模块首先需要掌握机器学习和深度学习的基础知识,会搭建神经网络(pytorch/tensorflow);
进一步地,就是根据自身来选择方向了,比如CV,NLP,RL等。
我自己的话因为研究方向涉及RL,所以需要掌握强化学习的基础知识和理论,会应用强化学习解决工程项目。
下面是我学习强化学习过程中总结的思维导图:
3. 自动驾驶
自动驾驶包括了感知、定位、决策规划、控制等几大块。我主要聚焦于决策规划和控制。下面是我学习过程中的总结的一些资料。
4. 额外的辅助技能(工具)
vim、docker、git等的掌握。
-
git就不必说了,必须掌握的技能。
git的学习可以参考:https://github.com/pcottle/learnGitBranching
git常见问题的解决方案可以访问我的GitHub project.
-
docker的学习,许多项目都会用到docker,因此有时间需要学一学,中文教程参考:https://yeasy.gitbook.io/docker_practice/。
-
vim在熟练使用之后可以让你编程效率提高,事半功倍,但是前期的转换挺痛苦。
vim的学习可以参考:https://vimschool.netlify.app/basics/以及https://www.openvim.com/sandbox.html。
vim工具的使用不是必须的,有时间的话可以学学,技多不压身。附一张vim的使用键盘图。
任何的工具的使用都是为了能够更加方便地做事!
最后,也附上我的浏览器书签链接(html格式),里面基本是相关资料的链接,希望能够给有需要的人带来帮助。