2017-04-08 62 views
0

我一直在试图运行这个Tensorflow风格转移实现 - https://github.com/anishathalye/neural-style在Windows(的GPU版本),但我得到这个错误:风格转移:OOM分配时,张

ResourceExhaustedError (see above for traceback): OOM when allocating tensor with shape[64,239400] [[Node: gradients/MatMul_grad/MatMul = MatMul[T=DT_FLOAT, transpose_a=false, transpose_b=true, _device="/job:localhost/replica:0/task:0/gpu:0"](gradients/truediv_2_grad/tuple/control_dependency, Reshape)]]

我是在Tensorflow和Python中都是完整的初学者,所以我不知道如何解决这个问题。

回答

0

这是内存不足错误。您没有足够的GPU内存来运行此映像的深层网络。

你有2个解决方案:

  1. 如果你不关心速度,使用CPU的版本,因为你可能比GPU的内存更多的CPU内存(RAM)。您将CUDA_VISIBLE_DEVICES设置为禁用GPU:CUDA_VISIBLE_DEVICES= python neural_style.py <content file> --styles <style file> --output <output file>
  2. 处理较小的图像。提供更小尺寸的图像可以真正减少内存使用量。因此,请在将图像提供给脚本之前尝试对图像进行降采样;您可以尝试多种尺寸来查看可以放入GPU内存的最大尺寸。
+0

谢谢。喂小图像帮助。我只是希望能有一个更好的解决方案,就像我可以改变的设置,以便网络使用更少的内存。 – Eutherpy

+1

没有减少内存使用的神奇设置。如果您愿意付出很多努力(例如,如果您正在部署产品),请参阅量化:tensorflow.org/performance/quantization – MohamedEzz

相关问题