完整錯誤信息: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