Python 在CNTK艺术造型传输中转储GPU内存

Python 在CNTK艺术造型传输中转储GPU内存,python,gpu,cntk,Python,Gpu,Cntk,我正在通过考试。我可以浏览一个图像,然后必须重新启动jupyter笔记本,以避免GPU内存不足,从而生成额外的图像。错误代码为blow。我想把最后两个代码块放在一个for循环中,该循环读取一个图像文件夹中的图像,并为每个图像创建一个新样式的图像。我想我要做的就是转储GPU内存。如果这是正确的,我该怎么做 RuntimeError: CUDA failure 2: out of memory ; GPU=0 ; hostname=JOHN ; expr=cudaMalloc((void**

我正在通过考试。我可以浏览一个图像,然后必须重新启动jupyter笔记本,以避免GPU内存不足,从而生成额外的图像。错误代码为blow。我想把最后两个代码块放在一个for循环中,该循环读取一个图像文件夹中的图像,并为每个图像创建一个新样式的图像。我想我要做的就是转储GPU内存。如果这是正确的,我该怎么做

RuntimeError: CUDA failure 2: out of memory ; GPU=0 ; hostname=JOHN ;     expr=cudaMalloc((void**) &deviceBufferPtr, sizeof(AllocatedElemType) * numElements)

在处理第二个图像之前,您可以尝试呼叫

del content_激活
德尔损失
导入gc
gc.collect()

这些是无论如何都需要重新定义的对象,通过这种方式,您可以在下次
内容\u激活和
丢失之前清理它们(从而释放GPU内存)。

除了CNTK,您还可以使用其他框架吗?你可以在一个服务网站上训练你自己的模特,比如我使用了这种方法,它在前两张图片上做了,但在第三张图片上出错了。由于删除了这些变量,或者我使用的是12GB的vram与4gb的桌面,我不确定这是否表现得更好。无论哪种方式,它都不会丢弃vram。我希望能够创建大约500个推论。我可以在我的GPU(12GB的vram)上验证这一点,除了它发生在十几个图像之后。我们将进行修复。这已在最新的master中修复。计划于2017年2月22日发布的下一版本(2.0 beta 12)将进行这些更改。我已经能够运行100次迭代而不超过1.5GB的vram。在我的测试用例中,我有del语句和对垃圾收集器的调用,就像(更新的)响应中一样。我不确定他们是否有必要。不相关的回答。