A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

训练过程中,模型跑得好好的,结果'喀’,蹦出这么个错误,不能愉快的玩耍了都。

这个错误一出现。

1.*首先得排除整个显卡上是不是有别的模型在跑?

2.如果没有,检查自己的模型逻辑有没有错误?(很多时候,即使没错也会崩……)

3.*接下来,在进行下一步尝试……

    先用invidia-smi命令,看看服务器上有哪些空闲显卡(本地电脑可忽略,重新运行就是了).

    对于tensorflow来说,可以用CUDA_VISIBLE_DEVICES=1(,2...) python train.py​,命令来运行程序,其中的数字1,2...代表显卡序号。如果你觉得一个显卡不够,或是想让程序跑得快,在不影响别人使用的情况下,可以多选择几块显卡。CUDA_VISIBLE_DEVICES命令是用来确定CUDA允许tensorflow发现的显卡​。如果没有,默认情况下tensorflow会利用所有能利用的资源。

    对于濒临淘汰的Theano来说,运行时设置device=1(,2,3..),即可。

4.如果还是不行,请回到第二步……不要过度自信……

补充一条测试方法:先把模型调整的最简,比如只有一层全连接,然后一层一层的往上加,逐步简历自己的模型,在建立的过程中发现问题。毕竟这个错误,很玄……有时候,前几轮跑的好好的,到后面却崩溃了,这种情况就得多跑几次先碰碰运气。如果始终出现这种问题,首先要考虑简化网络比如将隐藏层单元数从300改为200,或是将双向LSTM改成单向的。

OOM的错误目前我还没找到最有效的解决方法,之前本以为能解决问题,但是偶然还是会出现。词表的大小也会引起OOM的错误,最近尝试google news的词向量,小词表不会引发OOM 错误,换成大词表,就不行了。如果你们有好的解决方法,欢迎留言讨论。


1 个回复

倒序浏览
奈斯
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马