做估算器.evaluate()总是在一个GPU上运行?

2024-10-03 02:48:11 发布

您现在位置:Python中文网/ 问答频道 /正文

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

下面是一个示例性脚本,它建议您执行以下操作:https://gist.github.com/patzm/b69fcdf33fc9062683d749d0ea936b5e

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

如果evaluate()应该在多个gpu上运行,如果像上面那样使用,请在您的回答中突出我的错误。在


Tags: 实例https模型github脚本示例gputf
1条回答
网友
1楼 · 发布于 2024-10-03 02:48:11

在您的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
)

相关问题 更多 >