SimilarityMeasure是一个无效的模块名称

时间:2017-07-21 10:00:07

标签: lua torch

这是我之前的问题Lua: Semantic Similarity using Neural Networks的后续行动。

对于语义相似性,我执行以下代码,

include('Conv.lua')
modelTrained = torch.load("download_local_location/modelSTS.trained.th", 'ascii')
modelTrained.convModel:evaluate()
modelTrained.softMaxC:evaluate()
local linputs = torch.zeros(rigth_sentence_length, emd_dimension)
linpus = XassignEmbeddingValuesX
local rinputs = torch.zeros(left_sentence_length, emd_dimension)
rinpus = XassignEmbeddingValuesX

local part2 = modelTrained.convModel:forward({linputs, rinputs})
local output = modelTrained.softMaxC:forward(part2)
local val = torch.range(0, 5, 1):dot(output:exp()) 
return val/5

使用终端

中的以下命令执行它
> th similarity.lua

但它显示的错误是

while creating metatable similarityMeasure.Conv: bad argument #1 (similarityMeasure is an invalid module name)
stack traceback:
[C]: in function 'newmetatable'
/torch/install/share/lua/5.2/torch/init.lua:102: in function 'class'
.../textSimilarityConvNet-master/Conv.lua:1: in main chunk
[C]: in function 'dofile'
/torch/install/share/lua/5.2/paths/init.lua:84: in function 'dofile'
/torch/install/share/lua/5.2/torch/init.lua:49: in function 'include'
similarity.lua:1: in main chunk
[C]: in function 'dofile'
.../torch/install/lib/luarocks/rocks/trepl/scm-1/bin/th:150: in main chunk
[C]: in ?

Conv.lua的前几行是,

local Conv = torch.class('similarityMeasure.Conv')

function Conv:__init(config)
  self.mem_dim       = config.mem_dim       or 150
  self.learning_rate = config.learning_rate or 0.01
  self.batch_size    = config.batch_size    or 1 --25
  self.num_layers    = config.num_layers    or 1
  self.reg           = config.reg           or 1e-4
  self.structure     = config.structure     or 'lstm' -- {lstm, bilstm}
  self.sim_nhidden   = config.sim_nhidden   or 150
  self.task          = config.task          or 'sic'  -- or 'vid'

  -- word embedding
  self.emb_vecs = config.emb_vecs
  self.emb_dim = config.emb_vecs:size(2)

请指导我解决这个问题。

2 个答案:

答案 0 :(得分:2)

您缺少similarityMeasure模块(也可能缺少其他模块)。我猜你缺少的东西是默认的Torch安装中没有包含的依赖项。 Github存储库自述文件中的installation instructions说明如下:

  

请安装Torch深度学习库。我们推荐这个本地   安装包括我们工具所需的所有必需包,   只需按照此处的说明操作:https://github.com/torch/distro

如果您以其他方式安装了Torch,请尝试使用链接的发行版代替它,看看是否能解决问题。

答案 1 :(得分:1)

它应该工作。最近还更新了回购。 https://github.com/castorini/MP-CNN-Torch

正确安装了火炬库之后,您可以查看并查看新添加/提供的testDeployment.lua文件,以查看如何正确使用经过培训的模型。