2017-07-21 68 views
0

這是我早期問題Lua: Semantic Similarity using Neural Networks的後續行爲。SimilarityMeasure是無效的模塊名稱

對於語義相似性我已經執行下面的代碼,

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) 

請指導我解決這個問題。

+0

將[鏈接](https://github.com/castorini/MP-CNN-Torch)發佈到您嘗試使用的庫中可能對回答有用。 – iehrlich

+0

注意:這是[此問題]的後續行動(https://stackoverflow.com/questions/45212122)。 –

回答

2

您缺少similarityMeasure模塊(以及其他可能的模塊)。我猜測你缺少的東西是未包含在默認Torch安裝中的依賴關係。 Github存儲庫的自述文件中的installation instructions表示如下:

請安裝Torch深度學習庫。我們建議這個地方 安裝,其中包括所有需要的軟件包我們的工具需要, 只需按照指示在這裏:https://github.com/torch/distro

如果您安裝了火炬一些其他的方式,嘗試使用鏈接的發行,而不是做它,看看是否能解決問題。

+0

當安裝torch發行版時,它拋出以下錯誤,但我從git下載目錄, 致命:不是git存儲庫(或任何父目錄):.git 安裝Lua版本:LUAJIT21 CMake錯誤在exe /CMakeLists.txt:1(ADD_SUBDIRECTORY): 源目錄 ...../distro-master/exe/luajit-rocks 不包含CMakeLists.txt文件。 – kumaranc

1

它應該工作。此外,回購最近已更新。 https://github.com/castorini/MP-CNN-Torch

一旦您正確安裝了割炬庫,然後您可以檢查並查看新添加/提供的testDeployment.lua文件,以查看如何正確使用訓練好的模型。

+0

感謝您的回覆。現在代碼被執行了,但我無法在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函數'加載' testDeployTrainedModel.lua:85:在主塊...... 有人可以建議我解決這個問題。 – kumaranc

+0

我把完整的日誌放在下面的URL中,有人可以指導我解決這個問題。 https://groups.google.com/forum/#!topic/torch7/bfvlLi6tBPs – kumaranc

+0

一個可能的原因是你的內存可能有限。只是一個可能的原因,此模型加載步驟不起作用.. – Lee