压箱底!成为嵌入式高手的技能清单和升级线路图

说白了,嵌入式高手的核心就是Linux开发+硬件调优,两者都不够。
这个话题的复杂性是一个三维谜题。
了解底层代码;你需要掌握高级应用程序并时刻关注硬件。

首先,我们来说说最重要的事情。
Linux开发和本地运行一样熟练。
去年我们做那个项目的时候,内核编译和优化花了整整3 天的时间,因为Makefile中的依赖项是倒写的。
结果我花了1 个小时用GDB单步调试才找到。
还有一点就是驱动开发比较困难,尤其是网卡驱动。
去年我们更换 Wi-Fi 模块时,由于时序限制不正确,功耗增加了 1 5 %。
最后,我们发现参考文档中的数字单位不正确。
还有一个更重要的细节。
移植QT时不要直接使用桌面代码。
去年它遇到了麻烦,因为它不能很好地处理Linux的信号量机制。
它不仅会冻结界面,还会导致内核蓝屏。

QT的开发之初我以为只是画界面,后来发现错了。
在驱动程序回调函数中直接运行QT控件将导致死锁,并且必须进入互斥锁。
还有一件事调试时不要专注于代码;硬件示波器测量到的错误信号可能是真正的罪魁祸首。

一个值得尝试的方法是找到一个硬件响应式的 QT 项目,它可以做一些实用的事情,比如智能室内温度控制。
所以我想我可以同时利用Linux和硬件的结合能力。

学习人工智能需要哪些基础知识?

需要线性代数。
它基于矩阵运算和适当的分解。
您还需要学习概率和统计学。
应使用贝叶斯和最大似然估计。
只要理解图论就可以了。
知识图和社交网络分析很有用。
需要Linux操作系统。
TensorFlow 和 PyTorch 在 Linux 上运行顺利。
组网原则视情况而定。
了解分布式学习和代码优化是否有用。
有必要了解数据结构和数据库。
数据管理和查询效率是关键。
需要Python。
NumPy、Pandas 和 Scikit-learn 是标准配置。
就学C/C++吧。
必要时使用高性能组件和CUDA加速。
Java看向这个方向。
企业级人工智能系统很有用。
了解经典算法。
了解决策树、逻辑回归和 SVM。
擅长比较和调整算法。
值得注意的是准确性、学习率和过度拟合。
有必要了解发展背景。
人工智能的历史和深度学习的演变正变得越来越清晰。
OpenCV 计算机视觉是必须的。
图像处理和特征提取是基础。
学一下MATLAB就可以了。
在有用的地方使用算法原型设计和 Simulink。
深度学习框架应该知道。
您必须掌握 Caffe、TensorFlow 和 PyTorch。
需要行业知识和历史经验。
1 9 5 6 年的达特茅斯会议发现了这一点。
应用程序需要被理解。
机器人、NLP和图像识别是众所周知的。
这取决于未来的趋势。
大型模型和联邦学习值得关注。
学习建议:加强数学。
研究线性代数、概率论和优化理论。
编程练习。
必须练习Python、LeetCode 和C++。
我们管理该项目。
开源项目和复制文档必须完成。
跟随。
NeurIPS、ICML 和 JMLR 必须阅读。