创建一个具有归一化权重的简单 PyTorch 神经网络

Create a simple PyTorch neural network with a normalized weights

我想创建一个简单的 PyTorch 神经网络,其权重之和等于 1。要理解我的问题这里是举个例子:

您可以简单地通过所有初始化权重的总和进行归一化:

>>> layer = nn.Linear(4, 1, bias=False)
>>> layer.weight
Parameter containing:
tensor([[-0.2565,  0.4753, -0.1129,  0.2327]], requires_grad=True)

规范化layer.weight:

>>> layer.weight.data /= layer.weight.data.sum()

然后:

>>> layer.weight
Parameter containing:
tensor([[-0.7573,  1.4034, -0.3333,  0.6872]], requires_grad=True)