解决Tensorflow训练模型越到后面计算效率越慢的问题

当使用Tensorflow训练模型时,随着迭代步数增加,计算效率可能下降,原因可能是Session在运行过程中不断向图(graph)添加节点,导致GPU内存泄漏。解决方案是在外部定义函数处理标签转换,如使用tf.sparse_to_dense(),并在Session外调用,以防止图中节点持续增长,从而保持计算效率。
摘要由CSDN通过智能技术生成

Session中执行(你的graph).finalize(),如果报错则证明Session在计算过程中不断的向graph中增加结点,导致内存越来越满(GPU memory leak),计算效率降低。
以下面案列为例:batch_ys获取训练样本,batch_ys为样本标签,有0,1,2,3共4个类,tf中需要转换成[[1,0,0,0][0,1,0,0]]格式的标签,用tf.sparse_to_dense()实现,这个操作随着迭代步数的增加会不断向graph中增加结点。

#-------------------------------
batch_xs, batch_ys = sess.run([example_batch, example_label_batch])
index = tf.expand_dims(tf
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值