使用笔记本连接到 google 云 TPU 的连接超时

Connection Timeout for connecting to google cloud TPU using notebook

我正在尝试使用 BERT 训练模型。对于 BERT 参数,我希望能够使用我自己的数据集微调参数。

我正在使用 Google 云平台和 TPU 来加速训练过程。

我正在关注 this 教程,只是替换了以下行:

替换为:

tf.estimator.Estimator(
model_fn=model_fn_par,
config=run_config_par,
params={"batch_size": BATCH_SIZE})

有:

tf.contrib.tpu.TPUEstimator(
model_fn=model_fn_par,
config = run_config_par,
use_tpu=FLAGS.use_tpu, train_batch_size = BATCH_SIZE,predict_batch_size=BATCH_SIZE)

已替换:

run_config_par = tf.estimator.RunConfig(
model_dir=OUTPUT_DIR,
save_summary_steps=SAVE_SUMMARY_STEPS,
save_checkpoints_steps=SAVE_CHECKPOINTS_STEPS)

有:

run_config_par = tf.contrib.tpu.RunConfig(
master=master,
evaluation_master=master,
model_dir=FLAGS.model_dir,
session_config=tf.ConfigProto(
    allow_soft_placement=True, log_device_placement=True),
tpu_config=tf.contrib.tpu.TPUConfig(FLAGS.iterations,
                                    FLAGS.num_shards))

并定义了以下参数:

my_project = MY_PROJECT_NAME
my_zone = 'us-central1-b'
cluster_resolver = tf.contrib.cluster_resolver.TPUClusterResolver(
        tpu=[MY_TPU_NAME],
        zone=my_zone,
        project=my_project)
master = cluster_resolver.get_master()

而 运行 以下行:

estimator_par.train(input_fn=train_input_fn_par, max_steps=num_train_steps)

笔记本尝试连接到以下地址 120 次,但没有成功,并且 returns 超时错误:

Querying Tensorflow master (grpc://10.240.1.2:8470) for TPU system metadata.

我已经创建并实例化了 TPU,并将笔记本运行时类型也设置为 TPU。 有人知道为什么我无法使用笔记本连接到 TPU 吗?

您是否从“编辑”>“笔记本设置”>“硬件加速器”select TPU?