Tensorflow中的样式转移:分配张量时的OOM

时间:2017-04-08 08:36:26

标签: python tensorflow conv-neural-network

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

  

ResourceExhaustedError(参见上面的回溯):分配时的OOM   张量与形状[64,239400]            [[节点:渐变/ MatMul_grad / MatMul = MatMul [T = DT_FLOAT,transpose_a = false,transpose_b = true,   _device =" /作业:本地主机/复制:0 /任务:0 / GPU:0"](梯度/ truediv_2_grad /元组/ control_dependency,   重塑)]]

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

1 个答案:

答案 0 :(得分:0)

这是Out of Memory错误。您没有足够的GPU内存来运行此图像的深层网络。

你有2个解决方案:

  1. 如果您不关心速度,请使用CPU版本,因为您可能拥有比GPU内存更多的CPU内存(RAM)。您设置CUDA_VISIBLE_DEVICES以禁用GPU:mv package.json temp.json jq -r '.name |= "adar"' temp.json > package.json rm temp.json
  2. 处理较小的图像。提供较小尺寸的图像确实可以减少内存使用量。因此,在将图像提供给脚本之前,请尝试对图像进行下采样;您可以尝试多种尺寸,以查看适合GPU内存的最大尺寸。