【问题标题】:SimilarityMeasure is an invalid module nameSimilarityMeasure 是无效的模块名称
【发布时间】:2017-12-27 07:59:11
【问题描述】:

这是我之前的问题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)

请指导我解决这个问题。

【问题讨论】:

  • links 发布到您尝试使用的库对回答很有帮助。
  • 注意:这是this question的后续。

标签: lua torch


【解决方案1】:

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

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

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

【讨论】:

  • 安装torch发行版时抛出以下错误,但我是从git下载目录,致命:不是git存储库(或任何父目录):.git 安装Lua版本:LUAJIT21 CMake exe/CMakeLists.txt:1 (ADD_SUBDIRECTORY) 处出错:源目录...../distro-master/exe/luajit-rocks 不包含 CMakeLists.txt 文件。
【解决方案2】:

它应该工作。回购协议最近也已更新。 https://github.com/castorini/MP-CNN-Torch

正确安装torch库后,可以查看新添加/提供的testDeployment.lua文件,以了解如何正确使用训练好的模型。

【讨论】:

  • 感谢您的回复。现在代码已执行,但我无法在 testDeployTrainedModel.lua 文件中加载 modelSTS.trained.th 的预训练模型文件。它抛出 /torch/install/share/lua/5.2/torch/File.lua:353: in function 'readObject' /torch/install/share/lua/5.2/torch/File.lua:409: in function 'load' testDeployTrainedModel.lua:85: in main chunk...... 有人可以建议我解决这个问题吗?
  • 我把完整的日志放在了下面的网址中,谁能指导我解决这个问题groups.google.com/forum/#!topic/torch7/bfvlLi6tBPs
  • 一个可能的原因是您的内存可能有限。只是此模型加载步骤不起作用的一个可能原因..
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-09-04
  • 2012-03-15
  • 2020-05-19
  • 2021-02-11
相关资源
最近更新 更多