Module pywander.neural_network.multilayer_perceptron
Classes
class SimpleMLP (*args, **kwargs)
-
Expand source code
class SimpleMLP(NeuralNetwork): """ 单隐藏层感知机 """ def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self.model = nn.Sequential( nn.Linear(self.in_features, 200), nn.Sigmoid(), nn.Linear(200, self.out_features), nn.Sigmoid() ) self.loss_function = nn.MSELoss() self.optimizer = torch.optim.SGD(self.parameters(), lr=0.01)
单隐藏层感知机
Initialize internal Module state, shared by both nn.Module and ScriptModule.
Ancestors
- NeuralNetwork
- torch.nn.modules.module.Module
Inherited members
class SimpleMLP2 (*args, **kwargs)
-
Expand source code
class SimpleMLP2(NeuralNetwork): """ 对简单单隐藏层感知机进行一些改良 BCELoss 更适合分类任务 只能处理0-1的数值 需要加一个Sigmoid层 线性整流函数 ReLU 带泄露线性整流函数 Leaky ReLU 比ReLU在负数上表现稍好 LayerNorm 归一化层 在进入下一层神经网络进行归一化处理可以提升网络性能 Adam优化器 会自适应调整学习率 增加动量来避免陷入局部最小值 表现一般比SGD好 批次训练提升训练效率 多次训练 """ def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self.model = nn.Sequential( nn.Linear(self.in_features, 200), nn.LeakyReLU(0.02), nn.LayerNorm(200), nn.Linear(200, self.out_features), nn.Sigmoid() ) self.loss_function = nn.BCELoss() self.optimizer = torch.optim.Adam(self.parameters())
对简单单隐藏层感知机进行一些改良 BCELoss 更适合分类任务 只能处理0-1的数值 需要加一个Sigmoid层 线性整流函数 ReLU 带泄露线性整流函数 Leaky ReLU 比ReLU在负数上表现稍好 LayerNorm 归一化层 在进入下一层神经网络进行归一化处理可以提升网络性能 Adam优化器 会自适应调整学习率 增加动量来避免陷入局部最小值 表现一般比SGD好 批次训练提升训练效率 多次训练
Initialize internal Module state, shared by both nn.Module and ScriptModule.
Ancestors
- NeuralNetwork
- torch.nn.modules.module.Module
Inherited members