这个tensor由于是我们输入数据的二维tensor,首先会被flatten成一个一维的tensor以便于我们的网络进行处理,接着让这个一维tensor通过网络linear_relu_stack.他就会被我们init中定义的该网络依次的处理。这里需要注意的是,任何nn,Module类的网络,包括我们继承的和内置的(例如linear),都提供一个便利的语法糖,即不需要显式的...
Layer: linear_relu_stack.0.bias | Size: torch.Size([512]) | Values : tensor([ 0.0295, -0.0277], device='cuda:0', grad_fn=<SliceBackward>) Layer: linear_relu_stack.2.weight | Size: torch.Size([512, 512]) | Values : tensor([[-0.0148, -0.0338, 0.0335, ..., -0.0288, -...
Layer: linear_relu_stack.2.bias | Size: torch.Size([512]) | Values : tensor([0.0293, 0.0213], device='cuda:0', grad_fn=<SliceBackward>) Layer: linear_relu_stack.4.weight | Size: torch.Size([10, 512]) | Values : tensor([[ 0.0160, 0.0135, -0.0226, ..., 0.0341, -0.0118, -...
linear_relu_stack(x) return logits 复制代码 我们创建NeuralNetwork的实例,并将其移动到device,并打印其结构。 代码语言:javascript 代码运行次数:0 运行 AI代码解释 model = NeuralNetwork().to(device) print(model) 复制代码 代码语言:javascript 代码运行次数:0 运行 AI代码解释 NeuralNetwork( (flatten): ...
nn.Linear(512, 512), nn.ReLU(), nn.Linear(512, 10) ) def forward(self, x): x = self.flatten(x) logits = self.linear_relu_stack(x) return logits model = NeuralNetwork().to(device) print(model) 1. 2. 3. 4. 5. 6.
Linear:用于计算输入和权重矩阵之间的点积 ReLu:用作激活函数 BatchNorm1d:用于对数字列应用批量归一化 Dropout:用于避免过拟合 在后for循环中,输出层被附加到的层的列表。由于我们希望神经网络中的所有层都按顺序执行,因此将层列表传递给nn.Sequential该类。
self.l1 = torch.nn.Linear(28 * 28, 10)defforward(self, x):return torch.relu(self.l1(x.view(x.size(0),-1)))defmy_loss(self, y_hat, y):return F.cross_entropy(y_hat, y)deftraining_step(self, batch, batch_nb):x, y= batch y_hat = self.forward(x)return {'loss': self....
stack() chunk() flip() relu() dropout() interpolate() masked_select() softmax() 一起来看看~ (强烈建议收藏本文,就是一个完整的册子) view() view() 用于改变张量的形状,类似于 NumPy 中的 reshape。 这个函数不会修改原始张量的数据,而是返回一个具有新形状的张量。 代码语言:javascript 代码运行次...
: super(NeuralNetwork, self).__init__() self.flatten = Flatten() self.linear_relu_stack = Sequential( Linear(28 * 28, 512), ReLU(), Linear(512, 512), ReLU(), Linear(512, 10), ) def forward(self, x): x = self.flatten(x) logits = self....
super(NeuralNetwork, self).__init__()self.layers= nn.ModuleList([nn.Linear(28*28,28*28)for_inrange(layer_num)])self.linear_relu_stack=nn.Sequential( nn.Linear(28*28, 512), nn.ReLU() )defforward(self, x):forlayerinlayers: