我目前正在使用多gpu设置中的tensorflow,在多个GPU上训练模型,使用多个塔,如https://www.tensorflow.org/tutorials/deep_cnn的多gpu部分所做。
模型的所有权重在所有塔之间共享,为此,放在cpu内存中。为此,在创建/重用变量的代码中的任何位置都使用特定的设备放置(使用tf.get_variable)。
我正在寻找一种方法,以更方便的方式将所有变量放在cpu上,并在variable_scope中踩到caching_device参数,并想知道它是否是我正在寻找的,但我仍然不确定因为图中相应的权重将ops放在与创建时使用的设备位置相对应的gpu上,加上对cpu的读操作。
你有关于caching_device具体用法的信息,实际发生了什么,变量真正放在哪里?
感谢。