python - 尝试使用 tensorflow GPU 对多种类型的分类进行循环神经网络模型训练时,在某个循环后总是内存不足
问题描述
我是 TensorFlow 的新手,我正在使用相同的数据库为不同类型的分类训练 1 种神经网络模型,所以我使用 for 循环来训练不同的分类,如:
制作模型 -> 获取数据集 -> model.fit -> 保存权重 -> 制作模型 -> 获取数据集 -> model.fit -> .....(重复直到所有分类都被训练)
当我训练最多 2 种分类并开始训练第 3 种分类时,我总是收到错误说无法分配内存
我一直在使用
a_path = f"wav_data/denoise/{index[i]}"
p = multiprocessing.Process(target=training(a_path, load=False))
p.start()
p.join()
p.kill()
p.close()
用 training() 作为训练函数,仍然得到错误
并尝试使用
gpus = tf.config.experimental.list_physical_devices('GPU')
for gpu in gpus:
tf.config.experimental.set_memory_growth(gpu, True)
tf.keras.backend.clear_session
gc.collect()
但仍然无法正常工作 TF 2.5
解决方案
推荐阅读
- amazon-cognito - 如何在 AWS Amplify graphql 架构中公开字段?
- javascript - 获取调用中的 React API 处理错误:TypeError-无法读取未定义的属性“temp”
- python - 如何将文本文件转换为 Excel 文件,而不删除数据之间的空格
- node.js - 将php restapi调用转换为节点axios
- python-3.x - Uvicorn 没有运行 sanic “before_server_start”
- sql - 从具有唯一记录的非查询中获取重复项
- python - 如何使用装饰器将两个变量传递给函数
- javascript - 如何调整内容大小以自动填充整个屏幕空间?
- mysql - 我无法使用 Nodejs 和 Express 向 MySQL 数据库添加新数据
- django - 如何通过 Django Pagnination 获得正确的转速表?