目录
一.全连接层
1.nn.Linear
不需要建立w/b,将torch.Size([1, 784])输出为torch.Size([1, 10])即实现in784->out200,200->200,200->10
import torch
import torch.nn as nn
x = torch.randn([1,784])
x.shape
layer1 = nn.Linear(784,200)
layer2 = nn.Linear(200,200)
layer3 = nn.Linear(200,10)
x = layer1(x)
x.shape
x = layer2(x)
x.shape
x = layer3(x)
x.shape
2.加入relu
本来x直接送到下一个layer,加入激活函数Relu之后,确保非线性的保持。
import torch
import torch.nn as nn
import torch.nn.functional as F
x = torch.randn([1,784])
x.shape
layer1 = nn.Linear(784,200)
layer2 = nn.Linear(200,200)
layer3 = nn.Linear(200,10)
x = layer1(x)
x = F.relu(x,inplace=True)
x.shape
x = layer2(x)
x = F.relu(x,inplace=True)
x.shape
x = layer3(x)
x = F.relu(x,inplace=True)
x.shape
3.nn.ReLU与F.relu
class-style API:nn.ReLu大写, 必须先实例化再调用,w/b是内部成员不能私自访问,只能使用 .parameters 来访问。
layer=nn.ReLU()
x=layer(x)
function-style API: F.relu小写,底层操作,不需要实例。
x = F.relu(x,inplace=True)
4.封装网络结构
之前的3层是分开的,我们创建一个自己的类(网络结构),封装性更强,继承自nn.Module。
①初始化
②forward()
③不需要backward()
#封装网络结构
class MLP(nn.Module):
def __init__(self):
supe

本文详细介绍了深度学习中全连接层的构建与激活函数的使用,通过PyTorch框架实现了从数据加载到网络训练的全过程。文章重点讲解了nn.Linear层的应用,ReLU与LeakyReLU激活函数的区别,以及如何利用GPU加速训练过程。
最低0.47元/天 解锁文章
1210

被折叠的 条评论
为什么被折叠?



