|
kylin61
| 未知
对于没接触过人工智能的,建议学一学基础理论,读一读著名的论文,跑一跑模型源码。在熟悉了这一套之后,理解框架中各个模块的基本原理,再考虑c和c++的应用。
这也分两种。
一是通过c++使用深度学习框架的接口。这要求你了解具体框架是否提供这种接口,如果提供,那就和python一样地使用。如果没有,那就需要你自己写c接口去调用python了。因为现在的框架普遍支持python
另一种,是想自己实现深度学习模型的,那就需要自己写c++代码实现流行框架的内容。这种工作量比较大,而且需要深刻理解深度学习数据模型和运算原理。这种做法也不是一定要自己从零想起,可以参考开源的框架,例如caffe,它们的源码就是c++的。选取自己需要的功能,专门定制和优化,实现自己的东西。
现在的情况,普遍是使用框架来实现算法,大家都是做基础研究,关注算法本身。在商业应用中,只要性能足够,一般也就是用框架来的。除非,项目中有具体需要。据我所知,复旦大学微电子学院的一个老师,就根据自己的需要,把caffe移植到了FPGA上。尽管python垄断了人工智能行业,但是总有特殊的领域需要c++实现人工智能的算法。这是一项极具挑战的工作,真的勇士才能勇攀高峰 |
|