学习log5|pytorch常用模块记录--附示例代码
2023-11-06 本文已影响0人
小周的万用胶囊
目前网络上有非常完备的训练框架,如抱脸虫的transformers、达摩的modelscope,swift框架,使得模型的调用和训练过程都非常的直观。上述的框架都没有离开主流的tensorflow, pytorch框架,是在这些框架上的进一步封装,且上述框架更像是模型SDK偏向于应用;学习一下pytorch更能理解AI的原理,这也是大佬的推荐,此篇记录pytorch常用代码,给小白同志们一个参考。
0、疑问
- 为什么需要torch.nn, torch.optim..模块,有什么好处?
1、pytorch常用模块
torch.nn
: pytorch构建模型的其中一块代码,使得构建模型、训练模型的过程更加简洁,仅需少量代码即完成构建过程,里面还封装了各种损失函数如cross entropy等等。
且看代码👇:
import torch.nn.functional as F
#构建损失函数
loss_func = F.cross_entropy
torch.optim
:`包装了各种常用损失函数,无需重复定义基础函数,实现开箱即用,自动计算梯度,还能够自动清空上一次迭代的梯度。
TensorDataset和DataLoder
:优化数据读取到tensor和分批处理数据的代码,仅一行代码即完成了分批读取数据集的操作。
使用torch包之后代码行数前后对比(图)
2、总结
- 使用
torch.nn
- 未完待续
参考
官方教程