Tensorflow预取到多个GPU

时间:2018-11-02 09:39:25

标签: tensorflow tensorflow-datasets

拥有Tensorflow数据集和多个GPU时,将数据预加载到多个GPU中是有益的。

我唯一能找到的例子是在这个issue

host_dataset_on_cpu = .....
multi_device_iterator = prefetching_ops.MultiDeviceIterator(host_dataset_on_cpu, devices=['/gpu:0', '/gpu:1'])
elem_on_gpu_0, elem_on_gpu_1 = multi_device_iterator.get_next()

with tf.Session() as sess:
    sess.run(multi_device_iterator.initializer)
    elem_0 = sess.run(elem_on_gpu_0)
    elem_1 = sess.run(elem_on_gpu_1)

我想知道的是: -是否真的需要多次调用sess.run(每个GPU调用一个?) -可以与可配置数量的GPU一起使用吗? (拆分= multi_device_iterator.get_next()) -似乎已实现了MultiDeviceIterator,但在文档中找不到。还在开发中吗?

当我尝试实现这一点时,我也会遇到很多错误

  

2018-11-02 09:22:15.740637:W   tensorflow / core / framework / op_kernel.cc:1261]未实现:   不支持的对象类型列表2018-11-02 09:22:15.741142:W   tensorflow / core / framework / op_kernel.cc:1261]未实现:   不支持的对象类型列表2018-11-02 09:22:15.741670:W   tensorflow / core / framework / op_kernel.cc:1261]未实现:   不支持的对象类型列表2018-11-02 09:22:15.742512:W   tensorflow / core / framework / op_kernel.cc:1261]未实现:   不支持的对象类型列表2018-11-02 09:22:15.748161:W   tensorflow / core / framework / op_kernel.cc:1261]未实现:   不支持的对象类型列表2018-11-02 09:22:15.749587:W   tensorflow / core / framework / op_kernel.cc:1261]未实现:   不支持的对象类型列表2018-11-02 09:22:15.752334:W   tensorflow / core / framework / op_kernel.cc:1261]未实现:   不支持的对象类型列表2018-11-02 09:22:15.752756:W   tensorflow / core / framework / op_kernel.cc:1261]未实现:   不支持的对象类型列表2018-11-02 09:22:15.753581:W   tensorflow / core / framework / op_kernel.cc:1261]未实现:   不支持的对象类型列表2018-11-02 09:22:15.753974:W   tensorflow / core / framework / op_kernel.cc:1261]未实现:   不支持的对象类型列表2018-11-02 09:22:15.754434:W   tensorflow / core / framework / op_kernel.cc:1261]未实现:   不支持

这似乎并没有帮助

0 个答案:

没有答案