程序员老潘的干货资源分享

恭喜你,终于找到这里了。

这里收集了老潘总结的深度原创文珍藏的资料,相信可以帮助到你。一定要看到文末,文末有惊喜哦。

成长的路上

列一下博客的关键词:深度学习、神经网络、模型部署落地、服务器推理、Pytorch、TensorRT、Caffe、Python、C++、算法等。

如果这里刚好有你需要的,能够帮助到你,我会非常开心(PS:内心无比激动~)。这里的每一篇文章都值得你精读,每周都会更新,有关算法工程师和模型部署工程师的学习路线在文末。

老潘本潘

老潘不是严格的算法工程师,虽然也训练一些模型,但是对模型部署产品落地更为感兴趣,也做过一些开发的工作,编程语言关键词如下:

  • C++|Python|Javascript|PHP|lua|C#|swift

个人最喜欢C++和Python,这两个也较为熟练一些。最初的我,对编程语言也会有一些奇怪的看法(例如:XX是世界上最好的语言!),久而久之发现:编程语言其实没有高低贵贱之分(嗯,编程语言也是有情绪的),每一门语言是为完成不同的任务所设计,各自完成不同的使命。我们不但要精通自己领域所擅长的语言,也更需勇于尝试和探索新的语言,发现它们的美。

编程语言其实都是有共通性的,学好任何一门编程语言(例如C),再去上手其他语言差不多是轻而易举的。大部分的项目都会需要各种语言去构建,各司其职,彼此搭配才能够完成的更好。

话说回来,如果你对如何成为算法工程师感兴趣,或者想了解模型部署落地开发的具体工作内容如何去开始,亦或是有一些其他编程方面的问题,欢迎到公众号私信我(相信你能找到我),有求必应。

以下几篇文章有一些自己之前的感悟(现在已经工作啦),希望能帮助到和我经历相似的童鞋们。

接下来也会整理一篇深度学习落地部署的文章,以及算法工程师的学习攻略,感兴趣的不要错过~

废话不多说,干货走起。

文章汇总:

创作不易,坚持周更,关注「oldpan博客」不错过推文。

  • 博客原址:oldpan.me

理论分析派

深度学习相关。

工程实战派

光有理论哪儿够,落地部署实战才是最重要的。

Pytorch篇

适合Pytorch进阶的文章:

TensorRT篇

很有质量的TensorRT文章:

TVM

TVM不多说了,自动调优神经网络编译器,神器。

Caffe

多么经典的Caffe。

编程技能篇

工欲善其事必先利其器。

C++

Python

实用工具工具

关于显卡与深度学习装备

部分已过时,不过仍有参考意义!

有趣好玩的项目推荐

正在整理ing...

学习路线以及书籍资源:

如果你是新手,看完此攻略可以让你少走N段弯路~

深度学习学习路线

基本路线《统计学习方法》->《机器学习花书》->《深度学习花书》。课程可以看李宏毅和吴恩达的入门课。非常不建议只看书籍,最好配上项目实战,边学边做

有时间一定要需要看的书籍:

另外推荐大家一本叫做《百面机器学习》的新书,2018年8月份出版的,其中包括了很多机器学习、深度学习面试过程中会遇到的问题,比较适合需要准备面试的机器学习、深度学习方面的算法工程师。

深度学习部署落地

老潘认为算法部署落地这个方向是比较踏实务实的方向,相比“设计模型提出新算法”,对于咱们这种并不天赋异禀的普通人(哈哈,咱们要谦虚)来说,只要你肯付出,收获是肯定有的(不像设计模型,那些巧妙的结果设计不出来就是设计不出来你气不气)。其实算法部署也算是开发了,不仅需要和训练好的模型打交道,有时候也会干一些粗活累活(也就是dirty work),自己用C++、cuda写算子(预处理、op、后处理等等)去实现一些独特的算子。算法部署最常用的语言是啥,当然是C++了,C++虽然复杂,但是由于优异的性能和各种特性(类对象、元编程等),被很多推理框架作为backbone的语言。

部署落地这方面需要学习需要做的事情还是蛮多的。最好还是以项目作为驱动,或者找一些开源的推理部署框架练练手,找一两个开源项目玩玩,找找感觉,自己也就逐渐有方向了。

例如NCNN(优秀)、MNN(牛逼)等框架(还有很多框架这里不一一列举了额),是针对移动端进行部署进行优化的推理引擎,对ARM核进行了优化,如果你想做和移动端或者嵌入式端有关系的,可以看看这两个框架的源码,跑一两个demo找找感觉,另外还有Openvino和TensorRT,分别是对应cpu和gpu端的首推框架(想详细了解可以参考我之前的文章),可以找相关的项目去做做。

部署的流程一般就是:

  • 训练一个模型,也可以是拿一个别人训练好的模型
  • 针对不同平台生成的模型进行转换,也就是俗称的parse、convert,前端解释器
  • 针对转化后的模型进行优化,这一步很重要,涉及到很多优化的步骤
  • 将转化好的模型运行在特定的平台(嵌入端或者服务端)

需要掌握什么技术,学好C++很重要,起码能看懂各种关于部署精巧设计的框架(再列一遍:Caffe、libtorch、ncnn、mnn、tvm、openvino、tensorrt,不完全统计,我就列过我用过的)。当然并行计算编程语言也可以学一个,针对不同的平台而不同,可以先学学cuda,资料更多一些,熟悉熟悉并行计算的原理,对以后学习其他并行语言都有帮助。

部署和落地的重要性...当然是很重要呃,对于硬件公司来说,需要将深度学习算法部署到性能低到离谱的开发板上,因为成本能省就省,这时就需要部署了。在算法层面优化模型是一方面,但更重要的是从底层优化这个模型,这就涉及到部署落地方面的各个知识(手写汇编算子加速、算子融合等等);对于软件公司来说,我们往往需要将算法运行到服务器上,当然服务器可以是布满2080TI的高性能CPU机器,但是如果QPS请求足够高的话,需要的服务器数量也是相当之大的。这个要紧关头,如果我们的模型运行的足够快...可以省机器又可以腾一些buffer上新模型岂不很爽,这个时候也就需要优化模型了,其实优化手段也都差不多,只不过平台从arm等嵌入式端变为gpu等桌面端了。

系统的知识嘛,有是有,不过实际中都是用到啥再看啥,有项目在push你,个人建议直接上手项目,没有自己找找,按需学习。

这里简单总结下可以选择上手:

  • 好用的开源推理框架:caffe NCNN、MNN、TVM
  • 好用的开源推理框架:Openvino、TensorRT(infer不开源)
  • 好用的开源服务器框架:triton-server
  • 好用又不好用的编程语言:C++、CUDA、python

基础知识:计算机原理 编译原理等

后记

以上的路线介绍可能不够详细,更多详细的路线会单独发文,请关注~

书籍路线

作为程序员,相关技能书籍是必不可少的,敲代码累的时候看看书轻松一下(???)也是极为不错的。

书不可贪多,贪多嚼不烂,切记切记。

书籍路线正在完善中,完善后发布~

推荐一个看书神器

看书神器如下,不光是看书,看论文都舒服多了:

看书神器电纸书

上述是国产文石BOOX-MAX2电纸书,相当于大号Kindle,看论文pdf文档绝配!关于此书的评价可以看:

PS:老潘自己收集了很多书籍,但是苦于没有整理,公众号回复666可获得已经整理好的书籍和视频资料。其余的正在逐步整理中。

公众号

公众号名称是oldpan博客oldpan博客oldpan博客!重要的事情说三遍。

如果你不满足于上述,请直接公众号私信联系我,不要害羞兄弟!有问必答。

交流群

进交流群的请私信公众号,回复“加群”即可。

交流一下吗?

如果你与我志同道合于此,老潘很愿意与你交流;如果你喜欢老潘的内容,欢迎关注和支持。博客每周更新一篇深度原创文,关注「oldpan博客」不错过最新文章。老潘也会整理一些自己的私藏,希望能帮助到大家,在公众号回复相应code即可:

  • 回复"888"获取学习路线资料与文章汇总
  • 回复"666"获取老潘整理好的必看编程书籍和视频资料
  • 回复"001"获取机器学习经典论文集
  • 回复"002"获取面试宝典秘籍
  • 回复"004"获取人工智能必看经典论文合集
  • 回复"005"获取人工智能入门视频
  • 回复"006"获取CUDA珍藏笔记
  • 回复"007"获取CS231N经典课件汇总

如果不想错过老潘的最新推文,请点击神秘链接

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,233评论 6 495
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,357评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,831评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,313评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,417评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,470评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,482评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,265评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,708评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,997评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,176评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,827评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,503评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,150评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,391评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,034评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,063评论 2 352

推荐阅读更多精彩内容