lua - 在 Torch 中,如何为我的随机下降添加动力?

标签 lua neural-network torch

我正在 Torch 中实现一个多层感知器神经网络,遵循 this example (从“示例:训练神经网络”到“Torch 基础知识:测试您的神经网络”部分)。

现在我必须添加一些momentum对于这个神经网络模型,但我不明白如何做到这一点。 梯度下降部分为:

criterion = nn.MSECriterion()  
trainer = nn.StochasticGradient(mlp, criterion)
trainer.learningRate = 0.01
trainer:train(dataset)

我希望有一些命令,例如:trainer.momentum = 1,但没有这样的东西。

有人知道如何为我的 Torch 神经网络模型添加动力吗?

最佳答案

使用包 optim (参见 https://github.com/torch/optim )进行优化,您可以为参数创建一个 Lua 表。这是一个例子;

optimState = { 
learningRate = 0.001,
weightDecay = 0,
momentum = 0.9,
learningRateDecay = 0 
}

然后您可以将此参数表传递给 optim.method 函数(优化您的损失函数),例如;

optim.method(func, x, optimState)

关于lua - 在 Torch 中,如何为我的随机下降添加动力?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34339489/

相关文章:

c - Lua 字符串值表作为 C 函数中的参数

lua - 从 Lua 中的表中随机选择一个键

artificial-intelligence - 如何编写人工神经网络(井字游戏)?

python - 禁止在 PyTorch 神经网络的 CrossEntropyLoss 中使用 Softmax

python - 如何在pytorch中按第一维对张量进行排序?

tensorflow - torch 与tensorflow 的unsqueeze 等价物是什么?

c++ - 使用 LuaBinaries 和 LuaBridge 时如何解决丢失的 Lua DLL?

c++ - 如何使用 C API 创建嵌套的 Lua 表

tensorflow - 什么是 "convolution warmup"?

lua - 将 torch t7 模型转换为 pytorch