此教程的吉祥物为一只快乐的燕子,自由翱翔于蓝天之上,希望大家学完这个教程之后能够身轻如燕,自由翱翔于AI世界。
由于本教程为付费教程,所以版权完全归属于站长飞燕所有。任何人都可以学习或分享本教程,但不得用于任何盈利行为,否则后果自负。
本教程内容参考自PyTorch官方教程和互联网上相关博主的精彩分享,历经站长飞燕的亲身实践和深度思考最终沉淀而成,对此站长飞燕表示十分感谢!
编写教程是件十分耗时费脑之事,在此期间站长飞燕会大量参考众家之言,由于时间的原因,部分内容会直接采用,此目的是占位而已,最终的成稿不会与网上他人内容有重复之嫌。
学习PyTorch,应当多看看它的API文档。PyTorch API文档,如同一座金矿,等着我们去开采,下面给大家分享一下我的个人经验。
常言道,书读百遍其义自见,只有看得多了才能发现门道。PyTorch API总共分为几大模块:
(1)torch模块。这是针对tensor进行全局设置的模块,毕竟tensor是pytorch的核心,主要常用的函数有:全局设置tensor的类型,全局设置tensor的device,全局设置打印tensor的精度等。另外,在torch模块还有生成tensor的各种函数,包括:随机生成符合正态分布的tensor,随机生成指定大小的tensor等。最后,在torch模块还包括序列化tensor的save和load函数。torch模块如同是开胃小菜,品味tensor特性,勾起众人食欲,为下面的正餐做准备。
(2)torch.nn模块。这个模式是pytorch搭建神经网络的百宝箱,包括卷积层,池化层,dropout层,归一化层,全连接层,rnn层等。另外,还包括各种loss函数。如果说,torch模块是开胃小菜,torch.nn模块则是晚宴的正餐,值得每个人去品味。
(3)torch.autograd模块。这个模块本该是pytorch正餐中的核心,但是官网介绍的漫不经心,让人读起来干瘪无味,我记得旧版本的pytorch文档中有个地方讲解的很好,推荐给大家看看:PyTorch自动微分
(4)torch.nn.init模块。此模块可以当做pytorch正餐之后的甜点,值得花费点时间去慢慢品味,这个模块主要是讲网络参数初始化的。
最后,给大家奉上PyTorch官方的API接口文档,欢迎大家去学习:PyTorch官方的API接口文档