Оценщик TensorFlow: как делать прогноз при использовании сервера параметров?
TensorFlow Estimator прост в использовании для распределенного обучения со стратегией сервера параметров. Но я не могу делать прогнозы с помощью стратегии сервера параметров. Я не могу найти никаких ресурсов, чтобы представить эту деталь.
пример кода прогноза:
run_config = tf.estimator.RunConfig()
model = tf.estimator.Estimator(
model_fn=self.model_fn,
model_dir=self._config.model_path,
config=run_config,
params=self.params())
results = model.predict(
input_fn=lambda: test_data.build(
batch_size=self._config.eval_batch_size,
num_epochs=1))
TF_CONFIG:
{'task': {'index': '0', 'type': 'ps'}, 'cluster': {'chief': ['127.0.0.1:2320'], 'ps': ['127.0.0.1:2220', '127.0.0.1:2221']}}
{'task': {'index': '1', 'type': 'ps'}, 'cluster': {'chief': ['127.0.0.1:2320'], 'ps': ['127.0.0.1:2220', '127.0.0.1:2221']}}
{'task': {'index': '0', 'type': 'chief'}, 'cluster': {'chief': ['127.0.0.1:2320'], 'ps': ['127.0.0.1:2220', '127.0.0.1:2221']}}
Результат: И PS, и Woker сделали предсказания.
Любое предложение? Большое спасибо.
1 ответ
В Оценщике прогноз каждый пс и воркер используютMonitoredSession
для запуска узла, который восстанавливается с существующей контрольной точки. Чтобы сделать распределенное прогнозирование, вы можете обратиться к обучению оценщику.
- начать пс
- run_worker Создать
MonitoredTrainingSession
вместоMonitoredSession
- Не забудьте запустить рабочий сервер.
estimator.predict
получаетpath
для КПП,MonitoredTrainingSession
получаетdirectory
для КПП.
Вы можете успешно запустить все серверы и распределенное предсказание. Но будут предупреждения вроде того, что глобальный шаг не увеличивается.