Lua 在Torch中保存lstm语言模型
我在中使用了lstm语言模型 我想在培训结束时保存模型以供以后使用。我在培训结束时添加了以下行Lua 在Torch中保存lstm语言模型,lua,torch,lstm,cudnn,Lua,Torch,Lstm,Cudnn,我在中使用了lstm语言模型 我想在培训结束时保存模型以供以后使用。我在培训结束时添加了以下行 torch.save(params.model_file, model) 这似乎成功地保存了模型。然而,当我尝试加载该模型并对其进行测试时,我遇到了一个非常大的困惑。为了进行测试,我运行了一个小的训练实例,导致测试集复杂度为134,然后保存了模型。然后,我加载了保存的模型,并在同一测试集上应用了完全相同的测试方法(函数run_test),但我得到了71675.134的巨大困惑(即使使用随机权重,困惑
torch.save(params.model_file, model)
这似乎成功地保存了模型。然而,当我尝试加载该模型并对其进行测试时,我遇到了一个非常大的困惑。为了进行测试,我运行了一个小的训练实例,导致测试集复杂度为134,然后保存了模型。然后,我加载了保存的模型,并在同一测试集上应用了完全相同的测试方法(函数run_test),但我得到了71675.134的巨大困惑(即使使用随机权重,困惑也要小得多!)。我尝试只保存和加载权重,在保存之前将它们转换为float(),或者将它们保存为CuDatensor,所有这些都给了我相同的结果
下面是保存整个模型后加载和测试的代码;我只修改了原始main.lua的main方法:
local function main()
g_init_gpu(arg)
print('loading model from file ' .. params.model_file)
model=torch.load(params.model_file)
state_test = {data=transfer_data(ptb.testdataset(params.batch_size))}
reset_state(state_test)
run_test()
end