拥有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]未实现: 不支持
这似乎并没有帮助