Pytorch 中断脚本后清除GPU内存

Pytorch 中断脚本后清除GPU内存,pytorch,Pytorch,我注意到,当我多次中断一个程序(在启用cuda的情况下用Pytorch编写)时,GPU内存不会被刷新。在这种情况下,当脚本需要中断多次而没有完成执行时,有什么方法可以做到这一点吗?您的意思是说用CTRL+Z将其挂起吗?如果是这样,则需要将所有GPU数据传输到CPU,并在恢复时将所有数据传输回CPU。这是不可行的,因为挂起可以在任何给定的时间发生,使得以后不可能恢复确切的状态,因为所有内容都需要在完全相同的内存位置,或者需要修改所有内部引用。我不是指以后恢复它。我会从头开始重新运行脚本。问题是,当

我注意到,当我多次中断一个程序(在启用cuda的情况下用Pytorch编写)时,GPU内存不会被刷新。在这种情况下,当脚本需要中断多次而没有完成执行时,有什么方法可以做到这一点吗?

您的意思是说用CTRL+Z将其挂起吗?如果是这样,则需要将所有GPU数据传输到CPU,并在恢复时将所有数据传输回CPU。这是不可行的,因为挂起可以在任何给定的时间发生,使得以后不可能恢复确切的状态,因为所有内容都需要在完全相同的内存位置,或者需要修改所有内部引用。我不是指以后恢复它。我会从头开始重新运行脚本。问题是,当我中断程序(
Ctrl
+
c
)几次后,GPU的内存就用完了。你是说用Ctrl+Z暂停它吗?如果是这样,则需要将所有GPU数据传输到CPU,并在恢复时将所有数据传输回CPU。这是不可行的,因为挂起可以在任何给定的时间发生,使得以后不可能恢复确切的状态,因为所有内容都需要在完全相同的内存位置,或者需要修改所有内部引用。我不是指以后恢复它。我会从头开始重新运行脚本。问题是,当我中断程序几次(
Ctrl
+
c
)后,GPU的内存就用完了。