如何防止TPUEstimator使用GPU或TPU

时间:2019-04-06 13:20:37

标签: tensorflow tensorflow-estimator

我需要强制TPUEstimator使用CPU。我有一台租来的Google机器,GPU已经在运行培训。由于CPU处于空闲状态,因此我想启动第二个Tensorflow会话进行评估,但我想强制评估周期仅使用CPU,以免浪费GPU时间。

我假设在run_config或类似文件中有一个用于执行此操作的标记,但是正在TF文档中努力寻找一个标记。

run_config = tf.contrib.tpu.RunConfig(
    cluster=tpu_cluster_resolver,
    master=FLAGS.master,
    model_dir=FLAGS.output_dir,
    save_checkpoints_steps=FLAGS.save_checkpoints_steps,
    tpu_config=tf.contrib.tpu.TPUConfig(
        iterations_per_loop=FLAGS.iterations_per_loop,
        num_shards=FLAGS.num_tpu_cores,
        per_host_input_for_training=is_per_host))

1 个答案:

答案 0 :(得分:0)

您可以通过包含两个参数在本地运行TPUEstimator:(1)use_tpu应该设置为False,并且(2)tf.contrib.tpu.RunConfig应该作为{{1}传递}参数。

config

大多数示例TPU模型都可以通过设置命令行标志在本地模式下运行:

my_tpu_estimator = tf.contrib.tpu.TPUEstimator(
    model_fn=my_model_fn,
    config=tf.contrib.tpu.RunConfig()
    use_tpu=False)

可以找到更多文档here