如何使用优化器在pytorch中定义自定义渐变?

时间:2019-01-02 15:19:10

标签: python machine-learning pytorch

我正在尝试学习具有自定义渐变功能的嵌入。基本上,我有一个嵌入

my_embedding = torch.nn.Embedding(
                  num_embeddings=n,
                  embedding_dim=d)

和一个优化器,例如

my_optimizer = torch.optim.SGD(
                  my_embedding.parameters(),
                  lr=0.01)

我正在手动计算一些梯度(在下面表示为my_gradient),并且正在做my_embedding.weight.grad = my_gradient。 但是,当我执行my_optimizer.step()时,它不会更新任何内容。 我想念什么吗? (在这种情况下,我可以直接跳过优化器,但我想了解为什么它不起作用)

0 个答案:

没有答案