在火炬

时间:2016-03-17 22:58:46

标签: lua torch lstm cudnn

我在https://github.com/wojzaremba/lstm/blob/master/main.lua

中使用了lstm语言模型

我想在训练结束时保存模型供以后使用。我在培训结束时添加了以下行

torch.save(params.model_file, model)

这似乎成功保存了模型。但是,当我尝试加载该模型并对其进行测试时,我会感到非常困惑。仅仅为了测试,我运行了一个小的训练实例,导致测试集困惑度为134,然后保存模型。然后我加载了保存的模型,并在同一个测试集上应用了完全相同的测试方法(函数run_test),但是我对71675.134感到非常困惑(即使使用随机权重也会比这更加困惑!)。我尝试保存并加载权重,在保存之前将它们转换为float(),或者将它们保存为cudaTensors,并且所有这些都给了我相同的结果。

这是保存整个模型后加载和测试的代码;我只修改了main 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

0 个答案:

没有答案