PyTorch----神经网络的建立

神经网络就是很多的线性函数和非线性函数组成的复合函数。

  • 自定义类继承torch.nn.Module
  • 自定义类中实现__init__forward()函数
  • __init__定义神经网络结构
  • forward()模型的正向传播
class NeuralNet(torch.nn.Module):
	"""自定义神经网络"""
    def __init__(self,input_size,hidden_size):
    	# 参数为输入维度 和 隐藏层维度
    	# 调用父类初始化函数
        super(NeuralNet,self).__init__()
        # 线性模型层  输入 隐藏层
        self.linear1 = torch.nn.Linear(input_size,hidden_size)
        # relu激活函数层
        self.relu = torch.nn.ReLU()
        # 线性模型层2  输出1
        self.linear2 = torch.nn.Linear(hidden_size,1)
        # sigmoid激活函数  分类问题输出0或1
        self.sigmoid = torch.nn.Sigmoid()
        
    def forward(self,x):
    	# 重写正向传播
        out = self.linear1(x)
        out = self.relu(out)
        out = self.linear2(out)
        out = self.sigmoid(out)
        return out
# 打印模型  
model = NeuralNet(10,20)
print(model)

PyTorch----神经网络的建立_第1张图片
连接层➡ReLU层➡连接层➡Sigmoid函数层

你可能感兴趣的:(机器学习,神经网络,pytorch,机器学习)