显卡使用效率低且显存占用大

问题

在用torch进行深度学习时可能会遇到下面问题:

  1. 使用nvidia-smi查看显卡使用情况是,发现只有百分之20-30。
    使用:
watch -n 0.2 nvidia-smi

动态查看显卡使用时并未发现连续大的跳动,比如一会1%,一会90%的情况。

解决方案

1.查看是否在代码中transpose和permute之后加入太多的contiguous(),如果有必要在加入,尽量使用view去改变视图。
2.看看reshape方法是不是用的太多。(用太多的话可能和在permute或transpose后面加入太多contiguous差不多效果)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: TensorFlow GPU利用率可能有以下几个原因: 1. 数据读取速度慢:如果数据读取速度慢,GPU就会等待数据,导致GPU利用率。可以尝试使用更快的数据读取方式,如使用TFRecord格式储数据。 2. 模型计算量小:如果模型计算量小,GPU就会空闲,导致GPU利用率。可以尝试增加模型的复杂度,或者使用更大的数据集。 3. GPU不足:如果GPU不足,就会导致GPU不能一次性处理所有数据,从而导致GPU利用率。可以尝试减小batch size或者使用更大的GPU。 4. TensorFlow版本问题:如果使用的TensorFlow版本不支持GPU加速或者GPU驱动不正确,也会导致GPU利用率。可以尝试更新TensorFlow版本或者重新安装GPU驱动。 5. 其他系统配置问题:如果系统配置不正确,如CPU性能不足、内不足等,也会导致GPU利用率。可以尝试优化系统配置。 ### 回答2: 众所周知,TensorFlow是一款非常流行的机器学习框架,可以在CPU和GPU上实现加速计算。然而,有些用户遇到了TensorFlow GPU利用率的问题。本文将探讨这个问题的原因和解决方法。 首先,造成TensorFlow GPU利用率的原因可能有多种。以下是一些常见的原因: 1. 数据量太小:当数据量很小时,GPU的加速优势无法充分发挥。 2. 内不足:GPU的内容量通常比CPU小得多,如果用GPU处理的数据过大,内不足会导致性能下降。 3. 多GPU之间的通信开销:如果系统中有多个GPU,但任务之间的通信开销很大,那么效率就会受到影响。 4. 计算图设计不佳:计算图是TensorFlow的一个核心概念,在设计计算图时需要考虑一些优化技巧,避免出现性能瓶颈。 有了以上原因的基础,下面将介绍一些解决TensorFlow GPU利用率的方法: 1. 增加数据量:当数据量太小时,可以尝试增加数据量,这样GPU的优势就会得到更好的发挥。 2. 减小批次大小:如果在GPU中处理的批次过大导致内不足,可以尝试减小批次大小,这样可以提高GPU利用率。 3. 分配批次:如果有多个GPU,可以通过分配批次的方式来分配任务,使每个GPU的利用率更加均衡。 4. 设计计算图时使用优化技巧:在设计计算图时,可以采用一些优化技巧来避免性能瓶颈,包括共享变量、复用数据等。 最后需要说明的是,要真正地解决TensorFlow GPU利用率的问题,需要根据实际情况制定相应的方案。在实践过程中,也需要进行多次尝试和调整,从而找到最适合自己的优化方案。 ### 回答3: TensorFlow是一个非常强大的深度学习框架,它支持CPU和GPU进行计算。由于GPU具备强大的并行计算能力,使得在使用GPU时可以大幅加速计算,提高框架的效率。但是在实际使用中,会出现GPU利用率的问题。 首先,GPU利用率可能是由于模型设计不合理造成的。当模型的计算量过小,或者数据流可视化不好,导致GPU计算无法充分利用,从而导致GPU利用率。 另外,GPU利用率也可能是由于数据读取速度太慢或者数据传输到GPU的速度不够快造成的。在使用GPU时,数据传输是一个非常关键的问题,如果数据传输速度跟不上计算速度,那么就会浪费大量的时间在数据传输上,从而导致GPU利用率。 还有一个原因是由于GPU硬件或者驱动程序的问题,导致在使用GPU时无法充分利用其计算资源。这个问题通常需要检查硬件和驱动程序是否正常工作,或者升级硬件或者驱动程序来缓解此问题。 为了充分利用GPU的计算资源,需要对模型进行优化,加速数据读取和传输,以及调整GPU硬件和驱动程序。以上措施可以提高GPU利用率,加速模型训练和预测的速度,大大提高深度学习框架的效率
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值