一起读《动手学深度学习(PyTorch版)》- 层和块
<article data-content="[{"type":"block","id":"3060-1621846615933","name":"paragraph","data":{},"nodes":[{"type":"text","id":"p5PQ-1621846617594","leaves":[{"text":"nn.Sequential是PyTorch中表示一个块的类,维护了一个由Module组成的有序列表。全连接层是Linear类的实例,通过net(X)调用模型来获得输出,实际上是net.__call__(X)的简写。前向传播函数将每个块连接在一起,将每个块的输出作为下一个块的输入。","marks":[]}]}],"state":{}}]"><p>nn.Sequential是PyTorch中表示一个块的类,维护了一个由Module组成的有序列表。全连接层是Linear类的实例,通过net(X)调用模型来获得输出,实际上是net.__call__(X)的简写。前向传播函数将每个块连接在一起,将每个块的输出作为下一个块的输入</p>
<p> </p>
<article data-content="[{"type":"block","id":"LCny-1730209007353","name":"paragraph","data":{},"nodes":[{"type":"text","id":"sAHa-1730209007352","leaves":[{"text":"自定义块","marks":[]}]}],"state":{}}]">
<p>自定义块</p>
<pre>
<code>
import matplotlib.pyplot as plt
import torch
from torch import nn
from torch.nn import functional as F
net = nn.Sequential(nn.Linear(20, 256), nn.ReLU(), nn.Linear(256, 10))
X = torch.rand(2, 20)
print(net(X))
class MLP(nn.Module):
def __init__(self):
super().__init__()
self.hidden = nn.Linear(20, 256)
self.out = nn.Linear(256, 10)
def forward(self, X):
return self.out(F.relu(self.hidden(X)))
net = MLP()
print(net(X))
</code></pre>
<article data-content="[{"type":"block","id":"roaC-1730209443789","name":"paragraph","data":{},"nodes":[{"type":"text","id":"apWA-1730209443790","leaves":[{"text":"输出结果不同,是因为权重是随机分配的","marks":[]}]}],"state":{}}]">
<p>输出结果不同,是因为权重是随机分配的</p>
<p> </p>
</article>
</article>
</article>
zxhgll1975 发表于 2024-10-29 22:29
作为一名DIY电子爱好者,好的资料与资源就是最好的良师,感谢。
<p>感谢</p>
<p></p>
<p>如果pyTorch也能够支持CPU就好了,否则门槛太高了,并行计算也不是必须非要GPU吧。</p>
ljg2np 发表于 2024-10-31 20:55
如果pyTorch也能够支持CPU就好了,否则门槛太高了,并行计算也不是必须非要GPU吧。
<p>本身就可以cpu</p>
<p>我的哥啊, 我都要死到这个softmax上了</p>
御坂10032号 发表于 2024-11-4 10:32
我的哥啊, 我都要死到这个softmax上了
<p>不用死磕在数学推导上</p>
页:
[1]