gpt4 book ai didi

python - 在 Pytorch 中创建一个具有固定权重的线性模型

转载 作者:行者123 更新时间:2023-12-01 23:14:32 29 4
gpt4 key购买 nike

我想在 PyTorch 下创建一个单层的线性网络,但我希望权重手动初始化并保持固定。

例如模型的权重值:

layer = nn.Linear(4, 1, bias=False)
weights = tensor([[ 0.6],
[0.25],
[ 0.1],
[0.05]], dtype=torch.float64)

enter image description here

这可以实现吗?如果是这样,我该怎么做?或者有替代的线性函数吗?

最佳答案

您可以通过设置 requires_grad 来卡住图层。为 False:

layer.requires_grad_(False)

这样就不会计算参数的梯度。

或者在初始化参数的时候直接定义so:

layer = nn.Linear(4, 1, bias=False)
layer.weight = nn.Parameter(weights, requires_grad=False)

或者,给定输入 x 形状的 (n, 4),您可以使用简单的矩阵乘法计算结果:

>>> x@weights 
# equivalent to torch.matmul(x, weights)

关于python - 在 Pytorch 中创建一个具有固定权重的线性模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69253161/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com