tf.estimator.Estimator.evaluate()是否始终在一个GPU上运行吗?

时间:2018-08-30 13:08:57

标签: python tensorflow tensorflow-estimator

我的印象是,即使分配策略为evaluate(),在tf.estimator.Estimator实例上调用MirroredStrategy不会不能在多个GPU上运行模型,配置为至少使用2个GPU。

以下是一个建议此行为的示例脚本:https://gist.github.com/patzm/b69fcdf33fc9062683d749d0ea936b5e

以下是nvidia-smi的屏幕截图,显示了此行为: Exemplary screenshot of nvidia-smi

如果evaluate()应该在多个GPU上运行(如上使用),请在回答中突出我的错误。

1 个答案:

答案 0 :(得分:4)

在您的RunConfig中,也将策略设置为eval_distribute,详细信息请参见this

run_config = tf.estimator.RunConfig(
    model_dir=tf.test.get_temp_dir(),
    session_config=tf.ConfigProto(allow_soft_placement=True),
    train_distribute=distribution_strategy,
    eval_distribute=distribution_strategy
)