tensorflow: interrupted by signal 9: SIGKILL

完整錯誤信息:Process finished with exit code 137 (interrupted by signal 9: SIGKILL)
出現這個信息說明發生了內存不足的問題,如果是在tensorflow中,可以選擇小的batch_size,或者不要把一整個大的文件一次性讀到內存裏。
如果是ubuntu系統,在命令行裏輸入

$nvidia-smi

會顯示GPU使用情況,從裏面也可以看到還有多少內存可以用
這裏寫圖片描述

一:如果是因爲GPU內存不夠,可以在代碼里加入:

gpu_options = tf.GPUOptions(per_process_gpu_memory_fraction=0.5) 
config = tf.ConfigProto(allow_soft_placement=True, gpu_options=gpu_options)
tf.Session(condig=config)

其中 0.5表示使用50%的GPU內存資源,tensorflow比較貪心,每次都默認使用最大內存運行,所以內存不夠時,可以自己做一個限制。

二:出現此問題的另外一個原因可能是你的cpu不夠了,當運行的網絡很大的時候,或者需要加載很大的權重,需要cpu來做,容易會導致這個錯誤,在命令行裏輸入

$top   

(退出來是ctrl+z)

這裏寫圖片描述

可以查看cpu的使用信息,如果發現有其他不想要的進程在佔用cpu,可以查看到進程的PID號碼,然後使用命令

$sudo kill 262**

後面的數字是PID碼

如果出現Process finished with exit code (interrupted by signal 6: SIGKILL)這個信息,可能是cuDNN版本和tensorflow版本不兼容的問題,詳細看提示信息

如果是在運行一段時間後出現了這個問題,可能是發生了內存泄露的問題,解決方法可以參考我的另一篇博客http://blog.csdn.net/qq_25737169/article/details/78125550

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章