当我尝试在jetson tx1中加载卷积预训练模型时,tensorflow中的错误被杀死

Posted

技术标签:

【中文标题】当我尝试在jetson tx1中加载卷积预训练模型时,tensorflow中的错误被杀死【英文标题】:killed error in tensorflow when I try load convolutional pretrained model in jetson tx1 【发布时间】:2018-06-25 09:37:59 【问题描述】:

我有一个在 inception_resnet 模型上训练的人脸识别模型。

当我运行我的 tensorflow 代码以在 Nvidia Jetson TX1 上加载经过训练的模型时,它只会输出“killed”。我该如何调试?

我能做什么?我想是因为内存问题!

【问题讨论】:

【参考方案1】:

根据 jetson 上的this issue 'killed' 表示内存不足。可能无法在 TX1 上运行 inception_resnet 模型。

【讨论】:

【参考方案2】:

终于找到答案了!

如果您不设置 GPU 内存的最大比例,它会分配几乎整个空闲内存。我的问题是 GPU 内存不足。

你可以通过会话配置。

我将tf.GPUOptions中的per_process_gpu_memory_fraction配置设置为0.8,问题就解决了。

gpu_options = tf.GPUOptions(per_process_gpu_memory_fraction=0.8)
sess = tf.Session(config=tf.ConfigProto(gpu_options=gpu_options))

【讨论】:

【参考方案3】:

你可以尝试减少batch_size的数量,比如从32减少到16,这样可以减少内存消耗,增加训练时间。

【讨论】:

我的问题是关于推理,而不是训练。

以上是关于当我尝试在jetson tx1中加载卷积预训练模型时,tensorflow中的错误被杀死的主要内容,如果未能解决你的问题,请参考以下文章

在 keras 中加载模型时图形断开错误

在预训练的 pytorch 网络中加载单个图像

无法在 TensorFlow 2 中加载模型权重

当我尝试在 Android NDK 中加载冻结模型时,为啥没有注册操作?

尝试在 Keras 中加载顺序模型时出现“KeyError:0”

使用经过训练的模型进行预测