最近在ubuntu服务器上跑深度学习程序,出现报错:XIO:  fatal IO error 25 (Inappropriate ioctl for device) on X server "localhost:11.0"      after 7002 requests (7002 known processed) with 309 events remaining.

此程序之前在windows上运行没有问题,只在ubuntu上运行时报错。

分析原因:我的报错出现在某次epoch之后,而在我的程序中epoch结束后,程序进行了两步操作:1.以文件形式保存训练、验证损失 2.绘图保存训练、验证损失

1.程序是python语言写的,python写文件在windows和ubuntu的相对路径表示是一样的,文件也是在自己的目录下创建、修改,不存在文件权限不够的问题。排除

2.绘图使用的是matplotlib中的pyplot进行绘图,运行程序时使用的命令是nohup command > outinfo.txt,所以怀疑时nohup和pyplot起了冲突。

3.我将训练程序中的绘图程序进行注释,成功运行训练程序。在测试训练结果时,因为必须要绘图获取loss和AP等各个信息的变化趋势,所以就直接运行测试程序,不使用nohup命令,最终也成功运行,没有报错信息。

解决方案:在使用nohup命令运行程序时,避免使用pyplot进行绘图。

参考文献:python - matplot lib "fatal IO error 25 (Inappropriate ioctl for device) on X server "localhost:10.0" - Stack Overflow

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐