你第一个问题可能没定义清楚。PyTorch 里所有网络都是 nn.Module 的子类,torchvision 里面的网络也是。我看你意思应该是想问如何查看官方自己实现的基础模块,比如 nn.LSTM 的结构吧。如 nn.Conv2d ,nn.LSTM 这些类是官方实现的一些基础的 nn.Module 模块,确实没法直接 print 看到细节。想了解这种官方模块的具体结构,要不就算看 torch 的源码(对于初学者来说过于复杂了),要不就是直接看论文或者相关博客。因为这些基础模块不多,同时也都非常重要,我个人还是推荐先看论文或者解读的博客,理解原理就好。初学阶段还是把它当成最底层的积木,只学习如何使用它。具体如何实现比较麻烦,比如 nn.Conv2d 可能背后被优化得一般人都认不出来。
另外,看模型如何搭起来的还可以尝试一些第三方的把模型可视化出来的库,比如 torchinfo 。甚至自己写也不是很难。我的博客里就有一篇如何利用 torch.fx 实现模型可视化的文章,一共就百来行代码。https://wrong.wang/blog/20220520-%E5%88%A9%E7%94%A8torch.fx%E6%8F%90%E5%8F%96pytorch%E7%BD%91%E7%BB%9C%E7%BB%93%E6%9E%84%E4%BF%A1%E6%81%AF%E7%BB%98%E5%88%B6%E7%BD%91%E7%BB%9C%E7%BB%93%E6%9E%84%E5%9B%BE/
这个就是生成出来的 ResNet18 的可视化结果:
https://wrong.wang/blog/20220520-%E5%88%A9%E7%94%A8torch.fx%E6%8F%90%E5%8F%96pytorch%E7%BD%91%E7%BB%9C%E7%BB%93%E6%9E%84%E4%BF%A1%E6%81%AF%E7%BB%98%E5%88%B6%E7%BD%91%E7%BB%9C%E7%BB%93%E6%9E%84%E5%9B%BE/ResNet18.gv.svg
至于第二个问题,最火的 transformer 实现之一可能就是 Hugging Face 搞的吧:
https://huggingface.co/docs/transformers/index 。CV 领域比较火的还有
https://github.com/rwightman/pytorch-image-models ,也实现了超多模型。
https://pytorch.org/hub/ PyTorch 官方也搞了一些非常基础的模型实现,可以参考。