You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为什么停止TensorFlow目标检测脚本后内存占用仍未下降?

TensorFlow 2.6 目标检测训练脚本停止后内存残留解决方案

问题描述

基于TensorFlow 2.6官方目标检测API开展自定义数据集训练,终止model_main_tf2.py运行实例后,同名旧进程仍持续占用大量内存,重启新训练实例前需要先清理残留进程,内存占用情况如下图:
内存占用情况

解决方法

临时清理方案(立即释放内存)

  • 执行命令查询所有残留model_main_tf2进程PID:ps aux | grep model_main_tf2
  • 执行强制杀进程命令释放内存:kill -9 <查到的进程PID>
  • 批量清理所有同名进程可直接执行:pkill -9 model_main_tf2

永久修复方案(避免后续出现残留)

  1. 启动参数优化
    启动训练脚本时添加内存动态分配参数,避免TensorFlow预占全部内存,同时降低进程卡住概率:
    TF_FORCE_GPU_ALLOW_GROWTH=true python model_main_tf2.py <你的原有训练参数>

  2. 源码修改补全退出逻辑
    在model_main_tf2.py文件开头添加信号处理逻辑,让脚本收到终止信号时主动释放资源退出:

import signal
import sys

def graceful_exit(sig, frame):
    sys.exit(0)

# 注册Ctrl+C和进程终止信号的处理函数
signal.signal(signal.SIGINT, graceful_exit)
signal.signal(signal.SIGTERM, graceful_exit)
  1. 版本升级修复
    若允许调整依赖版本,可升级到TensorFlow 2.10+,搭配对应版本的官方目标检测API,该版本已修复model_main_tf2进程残留的已知问题。

内容的提问来源于stack exchange,提问作者Sajal Randhar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 10:06:05