lua:15: '[' 附近的意外符号
Posted
技术标签:
【中文标题】lua:15: \'[\' 附近的意外符号【英文标题】:lua:15: unexpected symbol near '['lua:15: '[' 附近的意外符号 【发布时间】:2020-09-14 10:52:04 【问题描述】:我正在尝试编写一个函数来创建一个 CNN 模型。每当我运行脚本时,我都会收到以下错误:
lua:15: '[' 附近出现意外符号
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】:我假设您混淆了[]
和。在许多其他语言中,您将数组字面量写为
[1, 2, 3]
,但在 Lua 中,[
和 ]
仅用于索引;声明一个“数组文字”,你写1, 2, 3
(因为Lua中的数组只是表)。
错误信息有点误导;上面写着意料之外的符号near '[',但实际上[
是意料之外的符号。
【讨论】:
错误信息可能会误导初学者,但它是准确的。你有一个表达式列表,Lua 会尝试解决它们。它从括号内开始,然后检查左边的内容。它需要一个名字。找到一个逗号。虽然我很困惑,因为它应该在[
而不是 ]
旁边。也许是 OP 中的错字?以上是关于lua:15: '[' 附近的意外符号的主要内容,如果未能解决你的问题,请参考以下文章