lua:15: '[' 附近的意外符号

lua:15: unexpected symbol near '['

我正在尝试编写一个函数来创建 CNN 模型。每当我 运行 脚本时,我都会收到以下错误:

lua:15: unexpected symbol near '['

require('torch')

require('nn')

function CeateNvidiaModel()

    --The Nvidia model
    --Input dimensions
    local n_channels = 3
    local height = 66
    local width = 200
    local nvidia_model = nn.Sequential();
    --nvida_model:add(nn.Normalize()
    --Convolutional Layers
    nvidia_model:add(nn.SpatialConvolution(n_channels, 24, 5, 5, [2], [2]))
    nvidia_model:add(nn.ELU(true))
    nvidia_model:add(nn.SpatialConvolution(24, 36, 5, 5, [2], [2]))
    nvidia_model:add(nn.ELU(true))
    nvidia_model:add(nn.SpatialConvolution(36, 48, 5, 5, [2], [2]))
    nvidia_model:add(nn.ELU(true))
    nvidia_model:add(nn.SpatialConvolution(48, 64, 3, 3))
    nvidia_model:add(nn.ELU(true))
    nvidia_model:add(nn.SpatialConvolution(64, 64, 3, 3))
    nvidia_model:add(nn.ELU(true))
    -- Flatten Layer
    nvidia_model:add(nn.Reshape(1164))
    -- FC Layers
    nvida_model:add(nn.Linear(1164, 100))
    nvidia_model:add(nn.ELU(true))
    nvida_model:add(nn.Linear(100, 50))
    nvidia_model:add(nn.ELU(true))
    nvida_model:add(nn.Linear(50, 10))
    nvidia_model:add(nn.ELU(true))
    nvida_model:add(nn.Linear(10, 1))
    return nvida_model
end

我假设您混淆了 []{}。在许多其他语言中,您将数组文字写为 [1, 2, 3],但在 Lua 中,[] 仅用于索引;要声明一个 "array literal",您可以编写 {1, 2, 3}(因为 Lua 中的数组只是表)。

错误信息有点误导;它说意外符号 near '[',但实际上 [ 意外符号。