Tensorflow GPU/CPU性能突然受到输入限制

2024-06-20 11:47:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个CPU+GPU实例,用于训练tf模型。我的数据在SSD上。我使用了tf的Dataset API,它具有交错、映射和无pyfunc功能,以便在不受I/o限制的情况下高效运行。它与<;1%的时间用于等待输入数据,但我无法跟踪导致程序受I/o限制的更改。代码的一个快速总结是,它使用tf.data.FixedLengthRecordDataset加载npy文件,对它们进行堆栈和批处理。您可以从配置文件中看到任何提示吗?它看起来很稀疏,有很多中断,好像并行性不能正常工作

ds = dataset.interleave(
            numpy_file_parser, tf.data.experimental.AUTOTUNE
        )
        
ds_train = (ds
            .repeat()
            .shuffle(1000, reshuffle_each_iteration=True)
            .batch(batch_size)
            .prefetch(tf.data.experimental.AUTOTUNE)
            
           )

无效尝试: Inefficient Attempt

这是没有i/o绑定的配置文件。 Efficient Attempt


Tags: 数据实例模型apidatagputf配置文件
1条回答
网友
1楼 · 发布于 2024-06-20 11:47:35

原来是TF2.3.0造成的。我使用的是TF2.3中不完全支持的6.1 GPU。在release notes

  • GPU TF 2.3仅包含用于计算功能7.0的PTX内核,以减少TF pip二进制大小。早期版本包括一个 各种较旧的计算功能

恢复到TF2.2解决了这个问题

相关问题 更多 >