跑实验中遇到的Bug


model.to(device)十分缓慢

eeqa这个项目,运行到model.to(device)这行代码的时候,十分缓慢。按理来说,以往的项目model很快就能加载到GPU上的。

后来经过谷歌搜索之后,发现可能的原因是:eeqa这个项目使用的是torch==1.2.0,其对应的CUDA==9.2。而在实验室的服务器上CUDA==11.1

我将torch版本修改为1.7.0(其对应的CUDA==11.1)之后,重新运行model.to(device),能够迅速执行完成。

综上,坑的地方就是GPU版本的torch与实验室的服务器上CUDA==11.1上进行匹配。

To Reproduce

# takes seconds with CUDA 10.0 and minutes with CUDA 10.1
torch.zeros(25000, 300, device=torch.device("cuda"))

上午调代码发现昨天的bug可以修复,不用重写代码了

下午把剩下的代码看完了,跑了实验,发现跑出来的结果和论文差别很大,不知道是不是原作者给的源代码有错。得发邮件问问了。

晚上,出去散步2小时,补了一些白天不懂的代码知识。


文章作者: CarlYoung
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 CarlYoung !
 上一篇
PyTorch中在反向传播前为什么要手动将梯度清零? PyTorch中在反向传播前为什么要手动将梯度清零?
作者:Pascal链接:https://www.zhihu.com/question/303070254/answer/573037166来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 这种模式可以让梯度
下一篇 
Linux常用命令 Linux常用命令
sed经常需要将windows下的脚本里面的换行符转变成linux下的换行符,使用下面指令: sed -e 's/.$//' %s > tmp;cat tmp > %s --train_file ../proc/data/ac
2021-02-20 CarlYoung
  目录