【问题标题】:Style transfer in Tensorflow: OOM when allocating tensorTensorflow 中的样式迁移:分配张量时的 OOM
【发布时间】:2017-04-08 08:36:26
【问题描述】:

我一直在尝试在 Windows(GPU 版本)上运行这个 Tensorflow 风格的传输实现 - https://github.com/anishathalye/neural-style,但我收到了这个错误:

ResourceExhaustedError(回溯见上文):分配时出现 OOM 带形状的张量[64,239400] [[节点:梯度/MatMul_grad/MatMul = MatMul[T=DT_FLOAT, transpose_a=false, transpose_b=true, _device="/job:localhost/replica:0/task:0/gpu:0"](梯度/truediv_2_grad/tuple/control_dependency, 重塑)]]

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

【问题讨论】:

    标签: python tensorflow conv-neural-network


    【解决方案1】:

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

    您有 2 个解决方案:

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

    【讨论】:

    • 谢谢。提供较小的图像会有所帮助。我只是希望有一个更好的解决方案,比如我可以更改一个设置,以便网络使用更少的内存。
    • 没有减少内存使用的神奇设置。如果您愿意为此付出很多努力(例如,如果您要部署到产品中),请参阅量化:tensorflow.org/performance/quantization
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-04-12
    • 2018-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-28
    • 1970-01-01
    相关资源
    最近更新 更多