心法利器[24] | 以pytorch为例看我怎么自学新技术的

【心法利器】

本栏目主要和大家一起讨论近期自己学习的心得和体会,与大家一起成长。具体介绍:仓颉专项:飞机大炮我都会,利器心法我还有。

往期回顾

  • 心法利器[19] | 算法问题下模型之外的问题:概述

  • 心法利器[20] | NLU落地场景-智能对话交互

  • 心法利器[21] | 算法在岗3年小结:模型策略篇

  • 心法利器[22] | 算法在岗3年小结:工作思路篇

  • 心法利器[23] | 算法在岗3年小结:学习成长篇

很多时候,由于项目的原因,我们需要快速学习新内容,工作中这种场景非常常见,正好遇上这次,我就和大家简单聊聊这个怎么学并且快速利用起来。

先简单聊思路

首先明确需求,就是快速学一个东西,让我们能快速完成工作任务。好了来看我的学习思路是什么样的。

  • 官方文档尝试看有没有,当然有中文版最好,跨速过一遍,尤其是get-started部分。

  • 了解基本原理和工具的设计思路后,开始例子,最好是自己熟悉的任务的例子,自己尝试重现一遍。

  • 可以开始干活,如果有开源代码优先搬代码,边干活边百度谷歌协助完成。

  • 活完成后开始总结整理,做好笔记,如果有必要完整系统地再学一遍,或者是阅读一遍官方API文档。

get-started学习

这一步的目标是让你理解你需要学的技术具体是什么,他的设计思路和使用方法是什么样的,这个其实就和看一个新玩意的使用说明是一样的,怎么安装,怎么使用,能理解就能开始用了,甚至有的时候没自习看说明书只是大概翻翻就能用。

pytorch我理解是一个和tensorflow平行的一种深度学习建模和应用工具,具有完整的一套建模、训练、测试、保存上线流程的框架,由于自己了解tensorflow,所以对pytorch的功能和预期都是比较明确的,同时由于很多领域都有对他的应用,因此学习信心还是比较足的,不会有什么“学了没用”之类的心态。

OK,然后是入门资料,我毫不犹豫选的就是官方文档,官方文档出自作者,“知子莫如父”,官方文档总能给我们一些提升和思路,有意思的是我不仅找到了官方文档,还找到了中文翻译版,虽说英文版的原汁原味更能体现作者的思路,但是对需要快速应用的我来说,中文版更适合我(注意这里我会有考虑我的学习目标的,要明确自己的目标):https://gitee.com/xiaojinchuan/pytorch-handbook/tree/master。

这里我只看了第一章,第一章已经足够我了解最主干的内容了,张量、层定义、模型定义、训练和预测,这些基本结构能搞定,我就知道具体怎么用了。

给自己来一个例子

对一个东西有一定初步理解后,在上手干活之前还是需要检验一下自己是否学好了,另一方面也是提前踩坑,看看自己什么部分没理解好后者是有什么问题是官方文档没提到的,再者是官方文档入门部分给的都是代码片段,但是实际工程使用的时候其实不一定是这么写的,所以看一个完整项目会更好一些。

我选择的是自己比较熟悉的textcnn,一个比较经典的文本分类项目,我也从网上(em...就是百度)找到了大量用来练手的textcnn项目,感觉很多人和我想的一样哈哈哈。找到一个比较喜欢的后,就开始照着写吧,这时候没有照搬代码,而是一行一行跟着写,这样更能看出里面的细节和问题。

这个例子跑通后,还可以和tensorflow的PK一下看看效果差距大不大,能达到基线算过关但是如果效果上有差距可以开始找找不同,看看那有没有什么问题。

开始干活

开始干活这个没什么好说的,有了上面例子的锻炼,相信自己的能力已经能达到能干活的水平,毕竟textcnn是自己写的,问题就不大。

当然,干活本身而言,首先要想到的是有没有什么能搬代码的东西,如果网上已有且开源协议允许,那就大大方方的用,如果没有那就只能从无到有自己写了,但注意在拆解后如果还是有的话还是推荐直接搬代码的,毕竟效率比较高的。

如果运气不好真没有代码搬,还是建议大家大胆写大胆跑代码,出了问题及时通过报错信息处理,随着熟练度提升,其实踩的坑会越来越少,解决起问题来也会越来越得心应手。

总结整理

一般的项目需求都会有比较明确时间计划,时间大都比较着急,没有时间深入学习,是正常的,但是在项目差不多结束后我们总要花点时间来复盘和整理,这段时间是非常适合总结和沉淀的,这个时候再回头整理这些坑,这些踩平的坑后面就不要再让他坑自己了,有这些经验,下次按道理应该要比较轻松,另一方面有些东西是学不完补充不完的,例如tensorflow每次项目总结我总有不同的收获,且API文档里总能有我想不到的点,总结下来成为自己的东西,这就是一些别人很难想到但是自己知道的知识了。

小结

正好在学习一项新技术,有些人提到我对学习的看法和思路,我就总结了这篇,也算是对自己的技术成长的一个思路梳理吧,有比较稳定可靠的学习策略,能让自己的成长事半功倍。

心法利器[24] | 以pytorch为例看我怎么自学新技术的_第1张图片

你可能感兴趣的:(人工智能,编程语言,java,深度学习,html)