python - 在 TensorFlow 重新训练诗人期间 GPU 利用率为 0%

标签 python tensorflow gpu gpgpu pre-trained-model

我正在遵循 TensorFlow Retraining for Poets 的说明. GPU 利用率似乎很低,所以我检测了 retrain.py按照 Using GPU 中的说明编写脚本.日志验证了 TF 图是在 GPU 上构建的。我正在重新训练大量的类(class)和图像。 请帮我调整 TF 和 the retraining script 中的参数使用 GPU .

我知道 this question我应该减少批量大小。这个脚本的“批量大小”由什么构成并不明显。我有 60 个类(class)和 1MM 的训练图像。它首先制作 1MM 瓶颈文件。那部分是 CPU 并且很慢,我理解这一点。然后它以 4,000 个步骤进行训练,在该步骤中每次需要 100 张图像。这是批次吗?如果我减少每一步的图像数量,GPU 利用率会上升吗?

您的帮助将不胜感激!

最佳答案

我通常会做下面的事情。

  • 检查您是否使用 GPU。
    tf.test.is_gpu_available()
    
  • 监控 GPU 使用情况。
    watch -n 0.1 nvidia-smi
    
  • 如果您的 CPU 使用率低。之后写这个
    train_batches = train.shuffle(SHUFFLE_BUFFER_SIZE).batch(BATCH_SIZE)
    
    train_batches = train_batches.prefetch(1) #  This will prefetch one batch
    
  • 如果您的 GPU 使用率仍然很低。
    batch_size = 128
    
  • 如果您的 GPU 仍然很低。可能是:
  • 您的图表太简单,无法使用更多 GPU。
  • 代码错误或包错误。
  • 关于python - 在 TensorFlow 重新训练诗人期间 GPU 利用率为 0%,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50669990/

    相关文章:

    python numpy 数组追加在 .py 文件中不起作用,但在终端中起作用

    python - ptb_word_lm中batch_size的含义(tensorflow的LSTM模型)

    python - 如何使用 TensorFlow 2.0 打乱两个 numpy 数据集?

    .net - 以编程方式获取 GPU 利用率

    tensorflow - GPU -> CPU Memcpy 在 tensorflow word2vec 中失败 gpu 发生

    python - 数据框字典选择数据框的名称

    python - 有没有办法检查字符串是否是 django 查询集的有效过滤器?

    python - 扩展 argparse 以在可选参数选择的帮助文本中写入集合名称,并在末尾定义这些集合

    tensorflow - keras中的val_loss是求平均值还是求和?

    c++ - 关闭 session 后 Tensorflow C++ 不释放 GPU 资源