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)

ここに画像の説明を挿入
接続層 ➡ ReLU 層 ➡ 接続層 ➡ シグモイド関数層

おすすめ

転載: blog.csdn.net/bjsyc123456/article/details/124896727