gpt4 book ai didi

tensorflow - 如何在不重新启动 Google Colaboratory (Tensorflow) 中的运行时清除 GPU 内存

转载 作者:行者123 更新时间:2023-12-03 15:51:42 27 4
gpt4 key购买 nike

我想为神经样式转移算法运行超参数调整,这会导致我的模型输出每次迭代使用不同超参数生成的图像的 for 循环。
它使用 GPU 运行时在 Google Colaboratory 中运行。
在运行时,我在某个时候收到一条错误消息,指出我的 GPU 内存几乎已满,然后程序停止。
所以我在想,也许有一种方法可以在特定次数的迭代后清除或重置 GPU 内存,以便程序可以正常终止(遍历 for 循环中的所有迭代,而不仅仅是例如 3000 次中的 1500 次,因为完全GPU内存)
我已经尝试过这段我在网上找到的代码:

# Reset Keras Session
def reset_keras():
sess = get_session()
clear_session()
sess.close()
sess = get_session()

try:
del classifier # this is from global space - change this as you need
except:
pass

#print(gc.collect()) # if it's done something you should see a number being outputted

# use the same config as you used to create the session
config = tf.ConfigProto()
config.gpu_options.per_process_gpu_memory_fraction = 1
config.gpu_options.visible_device_list = "0"
set_session(tf.Session(config=config))

最佳答案

您可以在笔记本的单元格中运行命令“!nvidia-smi”,并像“!kill process_id”一样终止 GPU 的进程 ID。
尝试使用更简单的数据结构,如字典、向量。
如果您使用的是 pytorch,请运行命令 torch.cuda.clear_cache

关于tensorflow - 如何在不重新启动 Google Colaboratory (Tensorflow) 中的运行时清除 GPU 内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56904476/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com