小编Zel*_*unn的帖子

不使用 GPU 的 Tensorflow 数据集 API

1. 问题:

我有一个tf.data.Dataset我用train_on_batch.

我的数据集如下所示:

Generate TFRecord path > tf.data.TFRecordDataset > Parse single example > Batch(2) > Map(merge) > Map(normalize) > Map(split to inputs,labels) > Batch(batch_size) > Prefetch(1)

Run Code Online (Sandbox Code Playgroud)

我曾经RunMetadata用 Chrome 输出一个可读的时间轴。看起来IteratorGetNext只在 CPU 上运行并且占用了大量时间。

(我无法发布图片,IteratorGetNext耗时 617 毫秒,MEMCPYHtoD耗时 58 毫秒,训练耗时 500 毫秒)

我似乎找不到让 IteratorGetNext 在 GPU 上运行的方法,即使是部分运行。目前,CPU 使用率为 100%,GPU 使用率最高为 40-60%。

我希望是这样的:

Read from disk > Move from CPU to GPU > Preprocess.

我目前只使用一个 GPU,但我计划稍后使用更多 GPU,因此可扩展的解决方案将是完美的!

顺便说一下,我在带有 CUDA 10.0 和 python …

python gpu dataset tensorflow

5
推荐指数
1
解决办法
2517
查看次数

标签 统计

dataset ×1

gpu ×1

python ×1

tensorflow ×1