有时想要在一台有GPU的机器上(前提是这台机器已经装好了CUDA)训练好模型之后将模型转到CPU型的,这样就可以在没有GPU的机器上(或者没装cuda加速的机器)导入这个模型了。但是可能会遇到奇怪的错误,这里就记录一些贫僧遇到的奇怪的错误。
奇怪错误之读取模型
在进入了torch的交互命令行环境(就是用th
来进入的那个环境)之后,如果发现用m = torch.load('x.t7')
遇到了这种unknown Torch class <nn.gModule>
错误的话,那么很有可能没有导入全要导入的包,例如这里就少导入了
stack traceback:
[C]: in function 'error'require 'nngraph'
包,导入之后就可以读取模型了。
奇怪错误之nil什么什么的
使用m = torch.load('x.t7')
来读取模型(t7文件,鬼知道里面存了什么。。。)成功后,使用m = m:float()
来转化模型的时候,如果遇到了这个错误:
attempt to call method 'float