gpt4 book ai didi

machine-learning - 如何在 torch 中获取/设置模型的重量(增量)?

转载 作者:行者123 更新时间:2023-11-30 09:00:59 27 4
gpt4 key购买 nike

很抱歉作为新手要求 torch ,但我保证会通过文档和互联网进行大量搜索。

我需要的主要需求有两个,第一个是在训练一个或多个批处理后获得权重增量,第二个是为模型设置新的权重。

这意味着我想通过我自己的方法(使用外部库)更新权重,在 torch 中可以实现这一点吗?

torch 似乎有一个抽象的 module 类 [1],但它的接口(interface)不能满足我的所有需求。

[1] https://github.com/torch/nn/blob/master/doc/module.md#nn.Module

最佳答案

最后,我通过引用几位同事找到了答案。

正确理解getParameters()[1]是解决问题的关键。 getParameters() 将获得展平的 parameters (权重)和 gradParameters (权重增量),更重要的是,它是一个内存转换,应该只是按照记录调用一次。

这意味着getParameters()的返回值正是我们想要的,并且返回值的变化将反射(reflect)到更新权重的原始模型中。

因此我们不仅可以通过getParameters()返回的parameters来获取展平权重,还可以通过parameters:copy()<简单地设置权重。我们绝对可以使用其他 torch.Tensor() 方法来修改权重。

[1] https://github.com/torch/nn/blob/master/doc/module.md#flatparameters-flatgradparameters-getparameters

关于machine-learning - 如何在 torch 中获取/设置模型的重量(增量)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37505711/

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