我的印象是,即使分配策略为evaluate()
,在tf.estimator.Estimator
实例上调用MirroredStrategy
不会不能在多个GPU上运行模型,配置为至少使用2个GPU。
以下是一个建议此行为的示例脚本:https://gist.github.com/patzm/b69fcdf33fc9062683d749d0ea936b5e
如果evaluate()
应该在多个GPU上运行(如上使用),请在回答中突出我的错误。
答案 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
)