初见PyTorch
主要记录自己在学习pytorch时的一些心得
明确目标
在学习前定一个小目标可以让学习更有针对性,比如这次我学习pytorch给自己定的目标是初步学习完以后可以独立完成训练mnist和cifar10两个入门的图像分类任务。在此基础上进一步学习一些细节上的概念和pytorch的相关API操作。

框架的意义
虽然是第一次使用pytorch,但在心里默认它和我以前用过的其它框架没有本质的区别,比如图像处理框架opencv或数据计算框架numpy。
我的理解是框架是为了解决某些特定领域的问题而开发的工具包,例如如果一个木匠要做椅子、桌子、衣柜的话,他就需要一些处理木头的工具,这些工具的集合就是一个框架,姑且叫它木匠框架。

又例如一个汽车修理师傅,他日常使用的可能就是扳手、起子、游标卡尺一类的工具,我们可以叫它们修理框架。因为需要处理的问题不同,所以开发出来的框架也不同,所以说框架是解决特定问题的工具包集合。

如今我们面对的是深度学习一类的问题,所以人们开发出来了pytorch、tensorflow、caffe等一类的框架。有了这个理解,后面就是学习如何使用这些框架了。
框架里的2828定律
现在有一个问题,计算机领域里的框架,动辄几百上千个API接口,也就是几百上千个工具,难道都需要从头开始,一个一个学起吗?我的经验是,不一定。

我们在生活中经常听到28定律,比如成绩好的学生只占百分之20,一个公司最优秀的员工占员工总数的百分之20。其实框架里的API也一样,最常用的接口只占总数的百分之20,而刚开始学习所需要掌握的接口又只占常用接口的百分之20。我们假设pytorch有500个接口的话,那入门学习需要掌握的接口只有500x0.2x0.2=20个,怎么样,是不是一下感觉到轻松了许多。
本文记录了作者学习PyTorch的心得,设定目标为能独立完成MNIST和CIFAR10的图像分类任务。作者认为框架如同解决特定问题的工具包,PyTorch是深度学习领域的工具之一。通过2828定律,指出初学者只需掌握少量核心API即可入门,降低了学习难度。

被折叠的 条评论
为什么被折叠?



