由于要使用深度学习的方法来处理文本和图像,准备在python下使用theano进行加速,按照keras的官方教程一步步安装,各种测试都通过。
环境是ubuntu 16.04 + cuda8.0 + theano +keras,显卡是gtx970。
问题来了:在跑大数据量的时候,电脑无限重启,换了显卡不能解决问题。
一个偶然的机会,在没有安装cudnn的情况下,试跑了一下,程序是OK的。
事情的经过是这样的:刚好手里有块旧的主板,就把显卡拆下来装上去,由于快吃午饭以,没有来得及装cudnn,吃完饭回实验室试了下机,发现在没有装cudnn的情况下是可以运行的,中午回去睡觉,就把电脑开着跑,回来的时候发现机器一直好着。
神奇的事情出来了,由于下午过来的时候发现运行的速度不快,感觉可能是受到cudnn的影响,于是就把之前下的一个cudnn5.0装上去了,问题又来了,机器又无限重启了。看样子有可能是找到这个问题的根源了。但是之前试过cudnn5.1,报一个警告说和theano不兼容。
那也没有办法,只能硬着头皮装了5.1。
装好之后,还是跑了几百张就挂掉了,当时整个人都不好了。
在度娘上各种找,keras theano cudnn,看到一位大侠(PlusTang)的文章http://blog.youkuaiyun.com/tangwenbo124/article/details/52298194,里面写到了一个和别人不一样的设置:
在device = gpu下面添加一句optimizer_including=cudnn就行了。
试了一下,世界从此回归了。
——————————————————————————————————华丽的分隔线
然而又出现了前面的问题,即使献上了我的膝盖也没有用。
最后在跑代码之前,使用sudo service lightdm stop,先关掉图形界面。然后开始跑,期待他不要挂掉吧。
期待他不要挂掉吧。
——————————————————————————————————华丽的分隔线
然而再次挂掉了,这可真的是无语了。
后来在github上给keras的开发者提出了这个问题,有个开发者说可能是电源不够。但是我的电源功率650w,GTX970的额定功率才148w,最大也不超过200w,按道理说应该不会有问题,所以对于他们的说法我表示并不认同,刚好手边有一块750的卡,额定功率才68w,于是装上试了一下,发现没有问题,即使用上cudnn,程序也能正常运行。看样子还是电源的锅吧。

本文记录了一位开发者在使用Theano和Keras进行深度学习项目时遇到的GPU无限重启问题,详细介绍了问题排查过程,包括调整配置文件、禁用图形界面和服务等尝试,并最终确定问题与电源供应有关。
1226

被折叠的 条评论
为什么被折叠?



